Appearance
Agent 不是"一次 prompt 出结果",而是一个可循环、可决策、可调用外部系统的程序。它将 LLM 作为核心控制器,通过感知-推理-行动的循环,自主完成复杂任务。Agent 的本质是用 LLM 替代传统编程中的硬编码逻辑,让应用具备动态规划和自适应能力。
Agent 由四个核心组件构成:大脑(LLM)、感知(输入处理)、记忆(状态管理)、工具(外部能力)。大脑负责理解任务、规划步骤、做出决策;感知将用户输入、环境信息转换为 LLM 可理解的格式;记忆维护对话历史、中间结果、长期知识;工具桥接 Agent 与外部世界,执行数据库查询、API 调用、文件操作等。
与传统程序的关键区别在于决策的动态性。传统程序的逻辑是预先编写的 if-else 分支,Agent 的决策是 LLM 根据上下文实时生成的。面对"帮我订一张去北京的机票",传统程序需要解析出目的地、调用特定 API;Agent 则会分析"需要查航班 → 比较价格 → 选择最优 → 下单"这一系列动作,并自主选择执行哪些工具。这种灵活性让 Agent 能处理未被预定义的场景。
ReAct (Reasoning + Acting) 是最经典的 Agent 框架。它交替执行推理和行动,在每一步都显式展示思考过程。典型的 ReAct 循环:用户提问 → LLM 生成"Thought:我需要搜索信息" → 执行搜索工具 → LLM 分析结果生成"Thought:根据搜索结果,答案是..." → 给出最终回答。这种模式的优势在于可解释性强,用户能看到 Agent 的决策链路,出错时容易定位问题。
实现 ReAct Agent 的关键是提示词设计。Prompt 需要包含工具列表(每个工具的名称、描述、参数)、输出格式(Thought、Action、Action Input、Observation 的模板)、停止条件(给出最终答案时的标记)。LLM 通过学习这些模式,学会在合适的时机调用工具,解析工具返回的结果,继续推理或终止。
# ReAct Prompt 示例 """ Available tools: - Search: 搜索网络信息,输入 query - Calculator: 计算数学表达式,输入 expression Use the following format: Thought: 你应该思考要做什么 Action: 工具名称 Action Input: 工具输入 Observation: 工具返回结果 ... (重复 Thought/Action/Observation) Thought: 我现在知道最终答案了 Final Answer: 答案内容 """
工具定义的质量直接影响 Agent 能力。工具描述需要清晰说明功能和参数,"搜索:根据关键词搜索网络信息"比"搜索工具"更有用。参数类型和约束应该明确,query: str 不如 query: 搜索关键词,长度不超过 50 字。工具返回格式要结构化,JSON 便于 LLM 解析,纯文本需要明确字段分隔符。
query: str
query: 搜索关键词,长度不超过 50 字
常见工具类型包括信息获取(搜索 API、数据库查询、文件读取)、信息处理(代码执行、数据分析、格式转换)、外部交互(发送邮件、调用 API、界面操作)。工具的粒度需要权衡,太粗("帮我完成这个任务")失去灵活性,太细("移动鼠标到坐标")增加规划复杂度。最佳实践是按业务逻辑抽象,"搜索用户信息"比"执行 SQL 查询"更适合高层 Agent。
工具执行有同步和异步两种模式。同步模式下 Agent 等待工具完成再继续,适合快速操作(计算、查询)。异步模式下 Agent 可以同时发起多个工具调用,等待结果汇总,适合并行任务(多数据源查询、批量处理)。异步实现需要考虑超时处理、错误恢复、结果聚合。
单个 Agent 面临能力瓶颈和专注度问题。多 Agent 系统通过分工协作,让每个 Agent 专注于特定领域,通过通信协调完成任务。经典模式是主从架构,主 Agent 负责任务分解和结果整合,从 Agent 执行具体子任务。"写一份行业分析报告"可以分解为搜索 Agent 收集数据、分析 Agent 处理数据、写作 Agent 生成报告。
AutoGen 是微软推出的多 Agent 框架,它定义了可对话的 Agent 实体,通过消息传递协作。每个 Agent 有自己的角色、目标、约束,Agent 之间可以自由对话,直到任务完成。典型场景是代码生成,User Agent 描述需求,Assistant Agent 生成代码,Coder Agent 审查代码,形成反馈循环。AutoGen 的优势在于解耦了 Agent 定义和执行逻辑,可以灵活组合不同的协作模式。
通信机制是多 Agent 系统的核心。共享黑板模式所有 Agent 向同一个消息中心发布和订阅消息,适合广播式协作。点对点模式 Agent 直接发送消息给特定对象,适合明确分工的场景。混合模式结合两者,既有共享的上下文,也有私密的通信通道。消息格式需要标准化,包括发送者、接收者、内容、类型、时间戳等元数据。
Agent 的记忆分为短期记忆(当前对话的上下文)和长期记忆(跨会话的知识积累)。短期记忆通过消息历史实现,但上下文窗口限制导致无法无限增长,需要压缩策略:只保留最近 N 轮对话、用 LLM 总结旧对话、根据重要性选择性保留。长期记忆使用向量数据库存储,每次对话结束后将关键信息(用户偏好、任务结果、经验教训)存入,后续对话时检索相关记忆。
RAG (Retrieval-Augmented Generation) 是长期记忆的标准实现。将 Agent 的对话历史、执行日志、用户反馈作为文档库,用 Embedding 模型向量化存储。执行任务前,先用当前查询检索相关记忆,将检索到的内容注入 Prompt,让 Agent 基于历史经验决策。记忆的质量取决于数据清洗(去除无关信息)、标签管理(时间、任务类型、结果)、更新策略(过期记忆清理、冲突信息处理)。
反思机制是记忆的高级应用。Agent 完成任务后,不是简单存储结果,而是进行自我评估:"哪里做得好、哪里可以改进、下次如何避免同样问题"。这种反思形成的经验比原始数据更有价值,是实现 Agent 自我进化的关键。反思可以用另一个 LLM 专门负责,避免主 Agent 的自我美化倾向。
Agent 的可靠性是最大挑战。LLM 的非确定性导致同一任务可能产生不同决策链,成功率和质量不稳定。错误会累积,早期步骤的错误判断会导致后续动作全部偏离。缓解方法包括:多路径探索(同时尝试多个策略,选择最优)、人类介入(关键决策点请求确认)、回滚机制(保存中间状态,失败时回退)。
调试 Agent 比调试传统程序更困难。无法像断点调试那样追踪执行流,因为决策是 LLM 动态生成的。可视化的执行轨迹(每个 Thought、Action、Observation)是必要的,LangSmith、AutoGen 的可观察性工具帮助开发者理解 Agent 的决策过程。日志记录应该包含输入、输出、中间状态、工具调用、错误信息,便于事后分析。
成本是规模化应用的障碍。每个决策步骤都需要一次 LLM 调用,复杂任务可能需要几十轮,token 消耗和延迟显著高于单次问答。优化方向包括:工具调用的缓存(相同输入直接返回结果)、增量处理(只更新变化的部分)、模型选择(简单步骤用小模型,关键决策用大模型)。
Agent 的安全性也不容忽视。工具调用可能被恶意利用(SQL 注入、文件删除),需要严格的参数校验和权限控制。Prompt 注入攻击通过精心构造的用户输入,让 Agent 执行非预期操作。防御方法包括输入过滤、沙箱隔离、操作审计。对于金融、医疗等敏感领域,Agent 的决策必须有可追溯性和可解释性。
Agent 代表了 AI 应用从"被动响应"到"主动行动"的范式转变。虽然目前还存在稳定性和成本问题,但随着模型能力提升和工程实践积累,Agent 将在自动化、个人助理、企业决策等场景发挥越来越大的作用。未来的 Agent 可能具备更强的规划能力、学习能力、协作能力,成为真正的数字智能体。
/abstract - 目录 /ai - 人工智能 /ai/app - 大模型应用 /ai/app/api/openai-rpc - OpenAI_API /ai/app/arch - 应用架构 /ai/app/arch/api - API 设计 /ai/app/arch/caching - Prompt Caching /ai/app/arch/gateway - 网关与缓存 /ai/app/arch/routing - 模型路由 /ai/app/auto - 自动化 /ai/app/auto/impl - 实现原理 /ai/app/auto/traditional - 传统自动化 /ai/app/engine - 推理引擎 /ai/app/engine/llama/cpp /ai/app/engine/llama_cpp - llama.cpp /ai/app/engine/mistral/rs /ai/app/engine/mistral_rs - mistral.rs /ai/app/engine/rust/infer /ai/app/engine/rust_infer - Rust 推理引擎 /ai/app/engine/vllm - vLLM /ai/app/finetune - 微调 /ai/app/lib - 框架库 /ai/app/lib/langchain - LangChain /ai/app/lib/langchain/langgraph - LangGraph /ai/app/lib/langchain/runnable - LCEL 与 Runnable /ai/app/lib/packages - 常用包 /ai/app/multimodal - 多模态 /ai/app/multimodal/audio - 语音交互 /ai/app/multimodal/generation - 媒体生成 /ai/app/multimodal/vision - 视觉理解 /ai/app/overlay - Overlay /ai/app/overlay/agent - 智能体 /ai/app/overlay/agent/a2a - A2A 协议 /ai/app/overlay/agent/case - 应用实战 /ai/app/overlay/agent/case/claude/code /ai/app/overlay/agent/case/claude_code - Claude Code /ai/app/overlay/agent/case/cline - Cline /ai/app/overlay/agent/cua - Computer Use Agent /ai/app/overlay/agent/deep/agent /ai/app/overlay/agent/deep_agent - Deep Agent /ai/app/overlay/agent/loop - Agent 循环 /ai/app/overlay/agent/mcp - MCP Server /ai/app/overlay/agent/safety - 安全防护 /ai/app/overlay/agent/safety/content - 内容安全 /ai/app/overlay/agent/safety/guardrails - Guardrails /ai/app/overlay/agent/safety/injection - Prompt 注入 /ai/app/overlay/agent/skills - Skills /ai/app/overlay/agent/tools - 工具调用 /ai/app/overlay/ops - LLMOps /ai/app/overlay/ops/eval - 评估框架 /ai/app/overlay/ops/monitor - 可观测性 /ai/app/overlay/ops/test - 测试策略 /ai/app/overlay/rag - RAG /ai/app/overlay/rag/agentic/rag /ai/app/overlay/rag/agentic_rag - Agentic RAG /ai/app/overlay/rag/data - 数据工程 /ai/app/overlay/rag/data/parsing - 文档解析 /ai/app/overlay/rag/data/processing - 数据处理 /ai/app/overlay/rag/embedding - Embedding /ai/app/overlay/rag/graphrag - GraphRAG /ai/app/overlay/rag/retrieval - 检索质量 /ai/app/overlay/rag/vector/db /ai/app/overlay/rag/vector_db - 向量数据库 /ai/app/overlay/session - 会话管理 /ai/app/overlay/session/compression - 上下文压缩 /ai/app/overlay/session/context - Context Engineering /ai/app/overlay/session/prompt - 提示词 /ai/app/overlay/ui - AI UI /ai/compute - AI 引擎 /ai/compute/api - 标准接口 /ai/compute/api/cpu - SIMD /ai/compute/api/cuda - CUDA /ai/compute/api/opencl - OpenCL /ai/compute/api/simt - SIMT /ai/compute/api/triton - Triton /ai/compute/deploy - 部署 /ai/compute/deploy/eco - 部署工具 /ai/compute/deploy/hardware - 硬件 /ai/compute/deploy/llmops - LLMOps /ai/compute/deploy/multi-gpu - 多卡推理 /ai/compute/deploy/onnx-deploy - ONNX 部署 /ai/compute/deploy/optimization - 推理优化 /ai/compute/deploy/quantization - 模型量化 /ai/compute/deploy/serving - 服务部署 /ai/compute/distributed - 集群 /ai/compute/distributed/comm - 集合通信 /ai/compute/distributed/parallel - 模型拆分 /ai/compute/engine - 主流引擎 /ai/compute/engine/deepspeed - DeepSpeed /ai/compute/engine/other - 其他 /ai/compute/engine/pytorch - PyTorch /ai/compute/engine/vllm - vLLM /ai/compute/impl - 设计实现 /ai/compute/impl/kvcache - KV Cache /ai/compute/impl/moe - 混合专家 /ai/compute/impl/speculative - 投机解码 /ai/compute/kernel - 算子 /ai/compute/kernel/concepts - 概念索引 /ai/compute/kernel/flashattention - FlashAttention /ai/compute/kernel/format - 模型格式 /ai/compute/kernel/fusion - 算子融合 /ai/compute/kernel/gguf - GGUF /ai/compute/kernel/marlin - Marlin /ai/compute/kernel/onnx - ONNX /ai/compute/kernel/optimization - 算子优化 /ai/compute/kernel/quant/matrix /ai/compute/kernel/quant_matrix - 量化选型 /ai/compute/kernel/quantization - 量化算法 /ai/compute/stack - 计算栈 /ai/cpp - C++ /ai/neural - 神经网络 /ai/neural/dl - 深度学习 /ai/neural/dl/audio - 听觉 /ai/neural/dl/backforward - 反向传播 /ai/neural/dl/cnn - CNN /ai/neural/dl/diffusion - Diffusion /ai/neural/dl/multimodal - 多模态 /ai/neural/dl/nlp - NLP /ai/neural/dl/recommend - 推荐 /ai/neural/dl/rnn - RNN /ai/neural/dl/transformer - Transformer /ai/neural/dl/vision - 视觉 /ai/neural/dl/vit - ViT /ai/neural/llm - LLM /ai/neural/llm/arch - 架构 /ai/neural/llm/finetune - 微调 /ai/neural/llm/memo - 记忆 /ai/neural/llm/pretraind - 基座模型 /ai/neural/math - 数学基础 /ai/neural/ml - 机器学习 /ai/neural/ml/bf - 梯度下降法 /ai/neural/ml/loss - 损失函数 /ai/neural/ml/reinforce - 强化学习 /ai/neural/ml/supervised - 监督学习 /ai/neural/ml/unsupervised - 无监督学习 /ai/neural/numpy - Numpy /ai/neural/pytorch - PyTorch /ai/neural/sklearn - sklearn /ai/python - Python /ai/python/basic - 语言基础 /ai/python/basic/module - 模块系统 /ai/python/fastapi - FastAPI /ai/python/jupyter - jupyter /ai/python/uv - uv /ai/symbol - 符号逻辑 /ai/symbol/expert-system - 专家系统 /ai/symbol/logic - 数理逻辑基础 /ai/symbol/neuralify - 神经符号融合 /ai/symbol/outline - 学习路线 /ai/symbol/prolog - Prolog /ai/symbol/reasoning - 推理引擎与搜索 /ai/symbol/representation - 知识表示 /basic - 理论基础 /basic/algo - 算法 /basic/algo/compress - 压缩 /basic/algo/crypto - 加密和解密 /basic/algo/model - 算法模型 /basic/algo/model/bit - 位运算 /basic/algo/model/dp - 动态规划 /basic/algo/model/leetcode - leetcode 题型 /basic/algo/model/recrusion - 递归 /basic/algo/model/struct - 数据结构辅助 /basic/algo/sort - 排序算法 /basic/algo/string - 字符串算法 /basic/algo/struct - 数据结构 /basic/algo/struct/graph - 图 /basic/algo/struct/traversal - 图遍历 /basic/algo/struct/tree - 树 /basic/compile - 编译原理 /basic/compile/advance - 高级语言 /basic/compile/dsl - DSL /basic/compile/dsl/glob - glob /basic/compile/dsl/regex - 正则表达式 /basic/compile/lang - 编程语言概览 /basic/db - 数据库 /basic/db/cmp - SQL /basic/db/nf - 范式 /basic/graphic - 图形学 /basic/graphic/2d - 2D 图形 /basic/graphic/3d - 3D 场景渲染 /basic/hardware - 硬件组成 /basic/hardware/coding - 编码 /basic/hardware/cpu - CPU /basic/hardware/gpu - GPU /basic/hardware/interrupt - 中断 /basic/hardware/motherboard - 主板 /basic/hardware/storage - 存储 /basic/hardware/topo - CPU 拓扑 /basic/network - 网络协议 /basic/network/ether - 以太网 /basic/network/http - HTTP /basic/network/ip - IP /basic/network/protocol - 网络协议 /basic/network/tcp - TCP /basic/network/udp - UDP /basic/os - 操作系统 /basic/os/mm - 内存管理 /basic/os/schd - 调度 /client - 客户端 /client/art - 美术设计
/client/art/mime - 媒体文件 /client/art/render - 渲染 /client/art/toolchain - 工具链 /client/csharp - C# /client/csharp/async - 异步编程 /client/csharp/basic - 语言基础 /client/csharp/dotnet - .NET /client/csharp/msbuild - MSBuild /client/csharp/nuget - NuGet /client/csharp/unity - Unity /client/game - 游戏引擎 /client/game/cocos - Cocos /client/game/godot - Godot /client/game/unity - Unity /client/game/unreal - Unreal /client/gui - 图形应用 /client/gui/arch - 架构 /client/gui/arch/observe - 可观测性 /client/gui/ergonomic - 人机关系 /client/gui/ergonomic/interact - 人机交互 /client/gui/ergonomic/screen - 屏幕 /client/gui/framework - UI 框架 /client/gui/framework/cross - 跨平台 /client/gui/framework/electron - Electron /client/gui/framework/flutter - Flutter /client/gui/framework/flutter/dart - Dart /client/gui/framework/reactnative - ReactNative /client/gui/platform - UI 平台 /client/gui/platform/android - Android /client/gui/platform/gnome - Gnome /client/gui/platform/ios - Apple /client/gui/platform/web-env - Web 宿主 /client/gui/platform/windows - Windows /client/gui/security - 安全 /client/gui/security/access - 应用权限 /client/gui/security/antiattack - 网络攻击 /client/gui/security/auth - 登录鉴权 /client/gui/security/privacy - 隐私保护 /client/gui/security/sandbox - 沙箱 /client/render - 渲染引擎 /client/render/api - 标准接口 /client/render/api/directx - DirectX /client/render/api/opengl - OpenGL /client/render/api/sdl - SDL /client/render/api/vulkan - Vulkan /client/render/api/vulkan/icd - ICD /client/render/api/vulkan/spirv - SPIR-V /client/render/api/webgl /client/render/api/webgpu - WebGPU /client/render/basic - 渲染基础 /client/render/basic/mapping - 贴图 /client/render/basic/scene - 3D 场景 /client/render/engine - 主流引擎 /client/render/engine/cycles - Cycles /client/render/engine/godot - Godot /client/render/engine/skia - Skia /client/render/raster - 光栅化管线 /client/render/raster/ae - 后处理 /client/render/raster/illumination - 光照模型 /client/render/raster/rast - 光栅化算法 /client/render/raytrace - 光线追踪管线 /client/render/raytrace/bvh - 加速算法 /client/render/raytrace/denoise - 降噪 /client/render/raytrace/integrate - 混合渲染管线 /client/render/shader - 着色器 /client/render/shader/optimization - 着色器优化 /client/render/shader/patterns - 常见模式 /client/render/stack - 计算栈 /client/render/vec/compose /client/render/vec_compose - 矢量合成管线 /client/rust - Rust /client/rust/basic - 语言基础 /client/rust/basic/assets - 静态资源管理 /client/rust/basic/closure - 闭包 /client/rust/basic/ld - 链接库 /client/rust/basic/macro - 宏 /client/rust/basic/mod - 模块系统 /client/rust/basic/ref - 智能指针 /client/rust/basic/trait - 特性 /client/rust/cargo - Cargo /client/rust/cli - CLi /client/rust/framework - UI 框架 /client/rust/framework/iced - iced /client/rust/framework/slint - Slint /client/rust/framework/tauri - Tauri /client/rust/wasm - WASM /client/web - Web /client/web/api - Web API /client/web/api/wasm - WASM /client/web/browser - 浏览器 /client/web/browser/arch - 架构 /client/web/browser/devtools - DevTools 性能分析 /client/web/browser/eventloop - 事件循环 /client/web/browser/http - HTTP 协议 /client/web/browser/memleak - 内存泄漏 /client/web/browser/optimize - 性能优化 /client/web/browser/render - 渲染周期 /client/web/browser/render copy - 渲染周期 /client/web/browser/security - 浏览器安全 /client/web/browser/security copy - 安全 /client/web/browser/storage - 存储 /client/web/browser/v8 - V8 /client/web/css - CSS /client/web/css/basic - 语言基础 /client/web/css/sass - Sass /client/web/css/tailwind - Tailwindcss /client/web/css/trick - CSS trick /client/web/css/trick/animation - CSS 动画 /client/web/css/trick/bfc - 块级格式上下文 /client/web/css/trick/layout - 布局 /client/web/css/trick/layout/box-sizing - CSS盒模型 /client/web/css/trick/layout/containing-block - 包含块 /client/web/css/trick/layout/grid - grid布局 /client/web/css/trick/relative - 主题定制 /client/web/css/trick/sort - css 属性的分类 /client/web/css/trick/z-index - 层叠上下文与 z-index /client/web/eng - 工程化 /client/web/eng/bootstrap - 项目搭建 /client/web/eng/build - 构建优化 /client/web/eng/engineering - 工程化搭建 /client/web/eng/migration - 迁移 /client/web/eng/svg - svg /client/web/eng/vite - Vite /client/web/eng/vite-plugin - Vite 插件 /client/web/eng/webpack - Webpack /client/web/html - HTML /client/web/html/basic - 语言基础 /client/web/html/mathml - MathML /client/web/html/md - Markdown /client/web/html/seo - SEO /client/web/html/svg - SVG /client/web/html/trick - HTML trick /client/web/html/trick/drag - HTML 拖放 API /client/web/html/trick/event - 事件与尺寸获取 /client/web/html/trick/wc - Web Component /client/web/js - JavaScript /client/web/js/basic - 语言基础 /client/web/js/basic/async - 异步编程 /client/web/js/basic/class - 面向对象 /client/web/js/basic/iterable - 迭代器 /client/web/js/basic/obj-base-ops - js 对象基本操作 /client/web/js/basic/own-property - 属性的可枚举性和所有者 /client/web/js/basic/proto - 原型链 /client/web/js/basic/stream - Stream API /client/web/js/basic/type-transform - 隐式类型转换 /client/web/js/npm - npm /client/web/js/typescript - TypeScript /client/web/js/typescript/basic - 语法基础 /client/web/nodejs - Nodejs /client/web/nodejs/express - Express.js /client/web/nodejs/nestjs - Nestjs /client/web/nodejs/performance - Node.js 性能调优 /client/web/react - React /client/web/react/fiber - Fiber 与调和 /client/web/react/rsc - 服务端组件 /client/web/solid - Solid /client/web/ssr - SSR /client/web/ssr/nextjs - Nextjs /client/web/ssr/nuxtjs - Nuxtjs /client/web/ssr/seo - SEO /client/web/ssr/ssg - SSG /client/web/ssr/vike - Vike /client/web/typical - 典型业务 /client/web/vue - Vue /client/web/vue/cpc - 组件通信 /client/web/vue/nuxt-server - 服务端组件 /client/web/vue/vdom - 虚拟 DOM 与 Diff 算法 /design - 软件设计 /design/async - 异步 /design/async/async-await - await /design/async/reactive - 响应式 /design/async/schedule - 用户态调度 /design/concurrent - 并发 /design/concurrent/atom - 原子操作 /design/concurrent/barrier - 内存屏障 /design/concurrent/lock - 同步原语 /design/concurrent/lock/free /design/concurrent/lock_free - 无锁并发 /design/concurrent/thread - 多线程 /design/fp - 函数式 /design/fp/composition - 组合 /design/fp/functor - 函子 /design/fp/hint - hint /design/fp/immutable - 不可变 /design/fp/io - IO /design/fp/state - 状态管理 /design/oop - 面向对象 /design/oop/aop - AOP /design/oop/interface - 接口与抽象 /design/oop/ioc - IOC /design/oop/lifetime - 对象生命周期 /design/oop/om - 对象模型 /design/oop/pattern - 设计模式 /design/oop/relationship - 类间关系 /design/oop/solid - SOLID /design/spacetime - 面向时空 /design/spacetime/domain - 主机域 /design/spacetime/general - 通用域 /design/spacetime/general/architecture - 架构演进 /design/spacetime/general/container - 容器
/design/spacetime/general/corruption - 腐化 /design/spacetime/general/dependency - 依赖管理 /design/spacetime/general/tradeoff - 权衡 /design/spacetime/network - 网络域 /design/spacetime/process - 进程域 /design/spacetime/process/coupling - 组件耦合 /design/spacetime/process/scope - 作用域 /design/spacetime/process/single - 单进程 /design/spacetime/space - 体系建构 /design/typical - 经典范式 /design/typical/ability - 质量属性 /design/typical/ddd - DDD /design/typical/duty - 职责分配 /design/typical/macro - 宏观指导 /design/typical/maintainability - 可读性与可维护性 /design/typical/refactor - 重构 /design/typical/reliability - 可靠性与可用性 /design/typical/requirements - 需求分析 /design/typical/simplify - 简化原则 /design/typical/swift - 敏捷开发 /examples - 随便看看 /index /kernel - 系统层 /kernel/asm - 汇编 /kernel/asm/arm - ARM 指令集 /kernel/c - C /kernel/c/basic - 语言基础 /kernel/c/basic/io - io 操作 /kernel/c/basic/string - 字符串操作 /kernel/c/build - 构建系统 /kernel/c/concurrent - 并发编程 /kernel/c/debug - 调试 /kernel/c/lib - 库函数 /kernel/embed - 嵌入式 /kernel/embed/bios - BIOS /kernel/embed/device - 外设 /kernel/embed/device/bus - 总线设备 /kernel/embed/device/bus/i2c - I2C /kernel/embed/device/bus/pci - PCI /kernel/embed/device/bus/usb - USB /kernel/embed/device/comm - 数据面 /kernel/embed/device/platform - 平台设备 /kernel/embed/device/sub - 集成子设备 /kernel/embed/device/wwan - 蜂窝模块 /kernel/embed/elel - 硬件基础 /kernel/embed/elel/design - 打板 /kernel/embed/elel/fpga - FPGA /kernel/embed/elel/pcb - PCB /kernel/embed/elel/soc - SoC /kernel/embed/freertos - FreeRTOS /kernel/embed/iot - 物联网 /kernel/embed/sbc - 开发板 /kernel/embed/sbc/raspberry - 树莓派 /kernel/embed/sbc/stm32 - STM32 /kernel/embed/uboot - U-Boot /kernel/equip - 装机 /kernel/equip/bmc - BMC /kernel/equip/gpu - GPU /kernel/equip/laptop/brand /kernel/equip/laptop_brand - 笔记本 /kernel/equip/lte - LTE /kernel/equip/motherboard - 主板 /kernel/equip/motherboard/bmc - BMC 详解 /kernel/equip/motherboard/consumer - 消费级 /kernel/equip/motherboard/epyc - EPYC 装机 /kernel/equip/motherboard/ram - 内存适配 /kernel/equip/motherboard/server - 服务器 /kernel/equip/motherboard/threadripper - Threadripper 装机 /kernel/equip/motherboard/workstation - 工作站 /kernel/equip/motherboard/xeon - Xeon 装机 /kernel/equip/ram - 内存 /kernel/equip/sbc - SBC /kernel/equip/screen - 屏幕 /kernel/equip/server/room /kernel/equip/server_room - 机房 /kernel/equip/slot - 接口 /kernel/equip/support - 支撑设备 /kernel/linux - Linux /kernel/linux/develop - 系统开发 /kernel/linux/develop/ctx - 内核上下文 /kernel/linux/develop/io/uring /kernel/linux/develop/io_uring - io_uring /kernel/linux/develop/ip/cli /kernel/linux/develop/ip_cli - ip 命令 /kernel/linux/develop/kbuild - linux 内核构建系统 /kernel/linux/develop/lock - 同步原语 /kernel/linux/develop/service - 系统服务 /kernel/linux/develop/socket - 套接字 /kernel/linux/develop/stream-block - 流式与块式存取 /kernel/linux/develop/struct - 数据结构 /kernel/linux/develop/struct/iov - 聚簇读写 /kernel/linux/develop/struct/linked - 链表 /kernel/linux/develop/systemd - systemd /kernel/linux/develop/zero-copy - sendfile 零拷贝 /kernel/linux/device - 设备管理 /kernel/linux/device/dma - DMA /kernel/linux/device/driver - 驱动接口 /kernel/linux/device/driver/can - CAN /kernel/linux/device/driver/pci - PCIe 驱动 /kernel/linux/device/driver/usb - USB 驱动 /kernel/linux/device/driver/virtio /kernel/linux/device/iommu - IOMMU /kernel/linux/device/lifecycle - 生命周期 /kernel/linux/device/udev - udev /kernel/linux/file - 文件管理 /kernel/linux/file/block - 块设备子系统 /kernel/linux/file/pfs - 伪文件系统 /kernel/linux/file/vfs - 虚拟文件系统 /kernel/linux/irq - 中断管理 /kernel/linux/irq/clock - 时钟中断 /kernel/linux/irq/controller - 中断控制器 /kernel/linux/irq/handler - 中断处理 /kernel/linux/irq/sync - 内核并发机制 /kernel/linux/mm - 内存管理 /kernel/linux/mm/mmap - 虚拟内存映射 /kernel/linux/mm/pmm - 物理内存管理 /kernel/linux/mm/reclaim - 内存回收 /kernel/linux/mm/swap - 内存交换 /kernel/linux/net - 网络实现 /kernel/linux/net/stack - 协议栈 /kernel/linux/power - 电源管理 /kernel/linux/power/boot - 开机上电 /kernel/linux/power/tpm - 安全启动 /kernel/linux/process - 进程管理 /kernel/linux/process/cgroup - Cgroup /kernel/linux/process/ipc - IPC /kernel/linux/process/namespace - 命名空间 /kernel/linux/process/schd - 调度 /kernel/linux/process/security - 权限管理 /kernel/linux/syscall - 系统调用 /kernel/linux/syscall/file - 文件管理 /kernel/linux/syscall/mm - 内存管理 /kernel/linux/syscall/process - 进程管理 /kernel/linux/video - 视图系统 /kernel/linux/video/terminal - 终端系统 /kernel/netlink - 通信 /kernel/netlink/hardware - 硬件通信 /kernel/netlink/protocol - 协议分层 /kernel/vm - 虚拟化 /kernel/vm/basic - 基本原理 /kernel/vm/basic/bios - BIOS /kernel/vm/basic/cpu - CPU /kernel/vm/basic/device - 设备 /kernel/vm/basic/memory - 内存 /kernel/vm/debug - 虚拟机调试增强 /kernel/vm/qemu - QEMU 内核调试 /kernel/vm/spdk-dpdk - SPDK 与 DPDK /kernel/vm/vfio - VFIO /kernel/vm/virtio - VirtIO /sde - 工程化 /sde/container - 容器 /sde/container/docker - Docker /sde/container/principle - 实现原理 /sde/git - Git /sde/git/advanced - Git 高阶用法 /sde/git/github - Github /sde/git/gitlab - Gitlab /sde/k8s - K8s /sde/k8s/k3s - k3s /sde/k8s/network - 网络模型 /sde/shell - Shell /sde/shell/basic - 语言基础 /sde/shell/cli - 常见命令行 /sde/sre - 运维 /sde/sre/elk - 可观测性 /sde/sre/jenkins - Jenkins /sde/sre/openstack - OpenStack /sde/sre/tuning - Linux 性能调优 /sde/test - 测试 /sde/test/basic - 测试原理 /sde/test/framework - 测试工具与框架 /sde/test/tdd - 测试驱动开发 /sde/workflow - 工作流 /sde/workflow/devops - DevOps /sde/workflow/devops/cicd - CI/CD /sde/workflow/quality - 质量控制 /sde/workflow/quality/docs - 文档工程 /sde/workflow/quality/review - Code Review /sde/workflow/version - 版本管理 /server - 服务端 /server/db - 数据库 /server/db/architecture - 数据库架构分层 /server/db/distributed - 集群 /server/db/distributed/comparison - 数据库对比与选型 /server/db/distributed/newsql - NewSQL 数据库 /server/db/distributed/sharding - 分库分表 /server/db/distributed/transaction - 分布式事务 /server/db/engine - 存储引擎 /server/db/engine/fulltext - 全文检索 /server/db/engine/graph - 图 /server/db/engine/innodb - innodb /server/db/engine/vector - 向量 /server/db/nosql - NoSQL /server/db/nosql/es - ElasticSearch /server/db/nosql/milvus - Milvus /server/db/nosql/milvus/idx - 向量索引 /server/db/nosql/milvus/storage - 分布式能力 /server/db/nosql/milvus/usage - 使用实践 /server/db/nosql/minio - MinIO /server/db/nosql/mongo - MongoDB
/server/db/nosql/neo4j - Neo4j /server/db/nosql/redis - Redis /server/db/practice - 工程实践 /server/db/practice/backup - 备份与恢复 /server/db/practice/capacity - 容量规划 /server/db/practice/cloud - 云数据库服务 /server/db/practice/monitoring - 监控与运维 /server/db/practice/standards - 数据库规范 /server/db/practice/tuning - 性能调优实践 /server/db/sql - SQL /server/db/sql/basic - sql 基础 /server/db/sql/basic/design - 数据库设计 /server/db/sql/basic/integrity - 数据完整性 /server/db/sql/basic/transaction - 事务与并发控制 /server/db/sql/mysql - MySQL /server/db/sql/mysql/acid - ACID /server/db/sql/mysql/id - 索引 /server/db/sql/mysql/impl - 存储引擎 /server/db/sql/mysql/optimize - 查询优化 /server/db/sql/pg - PostgreSQL /server/db/sql/sqlite - SQLite /server/distribute - 分布式 /server/distribute/arch - 集群架构 /server/distribute/basic - 分布式基础 /server/distribute/basic/cap - CAP /server/distribute/basic/concurrency - 并发模型 /server/distribute/basic/concurrency/coroutine - 协程原理 /server/distribute/basic/concurrency/event-loop - 事件驱动架构 /server/distribute/basic/consensus - 共识算法 /server/distribute/basic/consensus/paxos - Paxos 算法 /server/distribute/basic/consensus/raft - Raft 算法 /server/distribute/basic/consensus/zab - ZAB 协议 /server/distribute/basic/id - 分布式 ID /server/distribute/basic/lock - 分布式锁 /server/distribute/basic/transaction - 分布式事务 /server/distribute/cloud - 云原生 /server/distribute/cloud/arch - 架构 /server/distribute/cloud/cicd - CI/CD /server/distribute/cloud/container - 容器技术 /server/distribute/cloud/mesh - Service Mesh /server/distribute/cloud/orchestration - Kubernetes /server/distribute/cloud/pkg - 包管理与镜像 /server/distribute/micro - 微服务 /server/distribute/micro/cache - 缓存 /server/distribute/micro/cache/consistency - 缓存一致性 /server/distribute/micro/config - 配置中心 /server/distribute/micro/discovery - 服务发现 /server/distribute/micro/gateway - API 网关 /server/distribute/micro/lb - 负载均衡 /server/distribute/micro/observability - 可观测性 /server/distribute/micro/observability/monitoring - 监控告警 /server/distribute/micro/observability/tracing - 链路追踪 /server/distribute/micro/qos - QoS /server/distribute/micro/qos/chaos - 混沌工程 /server/distribute/micro/qos/fuse - 熔断限流 /server/distribute/micro/qos/ha - 高可用与容错 /server/distribute/micro/qos/ha/load-balance - 负载均衡 /server/distribute/micro/qos/highes - 三高 /server/distribute/micro/qos/monitor - 监控 /server/distribute/micro/qos/observability - 可观测性 /server/distribute/micro/qos/observability/monitoring - 监控指标设计 /server/distribute/micro/qos/performance - 性能优化 /server/distribute/micro/qos/performance/profiling - 性能分析工具 /server/distribute/micro/qos/reliability/disaster-recovery - 容灾 /server/distribute/micro/qos/reliability/failover - 故障转移 /server/distribute/micro/qos/slashing - 限流降级 /server/distribute/micro/reliability - 健壮性 /server/distribute/micro/reliability/fusing - 熔断降级 /server/distribute/micro/reliability/ratelimit - 限流 /server/go - Go /server/go/gmp - GMP 调度器 /server/java - Java /server/java/basic - 语言基础 /server/java/jvm - JVM 内存与 GC /server/java/mod - 模块系统 /server/java/mod/gradle - gradle /server/java/mod/maven - Maven /server/java/spring - Spring /server/middleware - 中间件 /server/middleware/mq - 消息队列 /server/middleware/mq/kafka - Kafka /server/middleware/mq/rabbitmq - RabbitMQ /server/middleware/mq/rocketmq - RocketMQ /server/middleware/mycat - MyCat /server/middleware/proxy - 代理 /server/middleware/proxy/gateway - API 网关 /server/middleware/proxy/haproxy - haproxy /server/middleware/proxy/lvs - LVS /server/middleware/proxy/nginx - Nginx /server/middleware/srs - SRS /server/network - 网络编程 /server/network/io-model - I/O 模型 /server/network/proto - 网络协议 /server/network/proto/http - HTTP /server/network/proto/quic - QUIC /server/network/proto/rpc - RPC 框架 /server/network/proto/tcp - TCP /server/network/proto/udp - UDP /server/network/proto/websocket - WebSocket /server/network/security - 网络安全 /server/network/tcp-tuning - TCP 调优 /server/network/zero-copy - 零拷贝 /server/typical - 典型业务 /server/typical/auth - 登录鉴权 /server/typical/flash/sale /server/typical/flash_sale - 秒杀活动 /server/typical/image - 图片上传 /server/typical/order - 订单管理 /server/typical/search - 内容搜索 /server/typical/setup - 快速建站 /web3 - 去中心化 /web3/blockchain - 区块链 /web3/blockchain/consensus - 共识机制 /web3/blockchain/crypto - 密码学支持 /web3/blockchain/ethereum - 以太坊 /web3/blockchain/zk-proof - 零知识证明 /web3/dapp - DApp /web3/dapp/defi - DeFi /web3/dapp/tokens - 代币标准 /web3/dapp/wallets - 账户与钱包 /web3/solidity - Solidity /web3/solidity/smart-contracts - 智能合约