这两年,几乎每个做 AI 应用的人都在做一个同样的动作:把「聊天机器人」升级成「能自己干活的智能体(Agent)」。
但真动手了才发现,事情远比想象中复杂。它不再是「写一段更长的 Prompt」那么简单——你要让它自己规划步骤、调用工具、记住上下文、在出错的循环里自己走回来,还要在它「越界」之前把它拦住。一个能演示的 Agent 和一个能上线的 Agent,中间隔着一整套工程能力。
这就是这个系列想解决的问题。
为什么不写「怎么调 API」,而是写「怎么搭一个能上线的 Agent」
市面上讲 Agent 的内容,大多停在两个层面:要么是概念科普,讲一堆术语;要么是「十分钟搭一个 Demo」,跑一遍就结束。但真正卡住人的,恰恰是 Demo 之后的那一段路:
- 设计时没想清楚边界,开发到一半发现状态机根本支撑不了复杂任务;
- 工具调得乱七八糟,参数没有校验、失败没有重试,线上一天崩三次;
- 多智能体一协作,消息满天飞,出了问题谁都定位不到;
- 最要命的——安全没做,Agent 被一段外部内容牵着走,越权操作了不该动的系统。
光会「跑通」,不等于「敢上线」。
这个系列的定位:
| 维度 | 设定 |
|---|---|
| 目标读者 | 有 Python/TS 基础的开发者、架构师、技术负责人,不要求有 AI 背景 |
| 学完能做到 | 独立完成需求分析、架构设计、编码、评估、上线、安全加固的全流程 |
| 与普通教程的差异 | 讲「为什么这么设计」和「踩过的坑」,不只讲 API 怎么调;评估、可观测、安全这些别人跳过的部分单独成篇 |
| 内容原则 | 原理优先于框架;每篇有案例、有取舍分析、有可运行产物 |
| 篇数 | 28 篇:导览 1 + 设计 10 + 开发 10 + 安全 6 + 毕业项目 1 |
贯穿全系列的主线案例:SupportPilot(客服工单 Agent)
一个 Agent 随系列逐步长大:
- 设计篇:定义需求、画架构、设计工具和记忆。
- 开发篇:实现并接入知识库,加评估、监控和部署。
- 安全篇:对它做威胁建模,用提示注入攻击它、加固它,并核验它的输出可信度。
每篇另配一个轻量副案例(代码审查、数据分析、研究助手等),避免只会一种场景。
每篇固定结构
- 问题场景:真实工作中会遇到的痛点(一段,案例只作引子)
- 核心概念:用类比和一张图讲清
- 设计取舍:常见方案对比、什么时候用哪个
- 动手实现:对应主线项目的增量代码或配置
- 踩坑清单:常见错误、反模式和排查方法(设计篇改为「典型失败模式」★)
- 产物与自测:可交付物 + 3~5 道自检题
- 下一篇预告★:说明本篇产物如何被下一篇接着用
配套一个 GitHub 仓库,每篇对应一个分支或目录,可单独运行。
四、文章规划
序章:建立正确认知
| # | 标题 | 核心内容 | 可落地产物 |
|---|---|---|---|
| 01 | Agent 到底是什么?何时该用,何时不该用 | 从 Chatbot、Workflow 到 Agent 的自治度光谱;Agent = 模型 + 工具 + 循环;多数场景用 Workflow 更好;自主性与可控性的权衡;★ 系列地图:一个 Agent 从设计到上线要过哪几关 | ① 适用性决策表 ② 50 行最小 Agent 代码 |
第一部分:设计篇(02–11)
目标:动手写代码之前,能把 Agent 想清楚、画清楚。
| # | 标题 | 核心内容 | 可落地产物 |
|---|---|---|---|
| 02 | Agent 架构全景图 | 模型、工具、记忆、规划、编排、护栏、评估、可观测八大模块的职责与边界;后续各篇在图中的位置 | 参考架构图 + 模块职责表 |
| 03 | 从业务需求到 Agent 设计 | 任务拆解、成功标准、自治级别(谁决策、谁兜底)、ROI;★ 失败模式先行;★ 状态机与终止条件设计 | 一页纸设计文档模板(含失败模式表、状态流转图,填好 SupportPilot 版) |
| 04 | 模式选型:单 Agent、Workflow 还是多 Agent | 提示链、路由、并行、编排者-执行者、评估-优化等模式;每种的适用场景与代价 | 模式选型决策树 |
| 05 | 提示词与上下文工程 | System Prompt 结构化写法;上下文窗口预算;动态上下文装配;长任务的上下文压缩 | Prompt 模板 + 上下文预算表 |
| 06 | 工具设计:Agent 的「人机界面」 | 工具粒度、命名与描述、参数设计、错误信息给模型看、幂等与可回滚;★ 工具契约(schema、返回值规范、错误语义、副作用声明) | 工具契约模板 + 设计 checklist + 3 个工具 schema 示例 |
| 07 | 记忆与状态设计 | 短期/长期/情景/语义记忆;什么该记、什么该忘;摘要、检索、写入策略;会话状态 vs 持久状态 | 记忆架构方案图 + 数据模型 |
| 08 | 规划与推理策略 | ReAct、Plan-and-Execute、反思纠错;★ 三种范式的混合编排;★ 成功/失败/超时三类终止条件;★ 动态重规划与进度追踪的设计;步数与预算限制 | 规划器设计说明 + 循环预算配置 + 终止条件表 |
| 09 | 知识接入设计:RAG 与 Agentic RAG | 何时需要 RAG;切分、检索、重排的取舍;让 Agent 自己决定检索什么 | 知识库接入方案(含数据流图) |
| 10 | 多 Agent 协作设计 | 角色划分、通信与交接、共享状态;★ 消息协议与责任边界;多 Agent 的真实成本;什么时候不该用 | 多 Agent 拓扑图 + 职责与消息协议契约模板 |
| 11 | 人机协同与交互设计 | 审批点怎么选、何时中断与澄清、置信度升级、失败时的体验、让用户看得到 Agent 在做什么 | 人工介入流程图 + 审批点清单 |
第二部分:开发篇(12–21)
目标:把设计变成稳定运行、可评估、可上线的系统。
| # | 标题 | 核心内容 | 可落地产物 |
|---|---|---|---|
| 12 | 从零手写 Agent 循环,再决定用不用框架 | 函数调用协议、消息历史管理、结构化输出、流式响应;★ 脚手架与运行时(目录结构、配置管理);理解底层后,再比较 LangGraph、OpenAI Agents SDK、Claude Agent SDK、Pydantic AI 等的取舍与模型选型方法 | 约 200 行可运行 Agent(SupportPilot v0.1)+ 选型评分表 + 项目脚手架 |
| 13 | 工具实现与可靠性 | 并行调用、超时、重试、参数校验、错误回传;★ 超时熔断与降级;有副作用的工具如何做幂等与确认;沙箱执行 | 工具库 + 单元测试 |
| 14 | MCP 与工具生态 | MCP 协议的角色;自己写一个 MCP Server;接入第三方 Server 的注意点 | 一个可被 Agent 调用的 MCP Server |
| 15 | 规划器与工作流编排 | 图/状态机编排;★ 子目标依赖管理、执行中动态重规划、进度追踪;检查点、断点续跑、人工审批中断恢复;长任务异步处理 | 带 checkpoint 的规划与工作流(工单处理流程) |
| 16 | 记忆与 RAG 落地 | 向量库与混合检索;重排;长期记忆的写入、更新、遗忘;检索质量排查 | 可运行的 RAG + 记忆模块 |
| 17 | 多 Agent 实战 | 编排者-执行者实现;子 Agent 的上下文隔离;★ 消息与交接协议的实现、责任边界怎么落;结果汇总与冲突处理 | 多 Agent 研究助手(副案例) |
| 18 | 评估体系(Evals):Agent 开发的地基 | 构建测试集;结果评估 vs 轨迹评估;★ 多维指标:任务成功率、步骤正确率、越权率、成本/时延;LLM-as-Judge 校准;回归测试与 CI 集成 | 评估数据集 + 评估脚本 + CI 配置 |
| 19 | 可观测与调试 | Trace、日志、指标;★ 执行回放,定位「从哪一步开始错」;成本、延迟、工具成功率监控 | Tracing 接入 + 回放脚本 + 监控看板配置 |
| 20 | 性能、成本与稳定性优化 | 提示缓存、模型路由(大小模型分工)、并发、限流、降级与兜底 | 成本优化清单 + 模型路由实现 |
| 21 | 部署、发布与运维 | 服务化封装、异步任务与队列、流式接口;★ 环境隔离、灰度放量与快速回滚;Prompt 与工具的变更管理;监控告警 | Docker 部署 + API 服务 + 发布 checklist(含回滚预案) |
第三部分:安全篇(22–27)
目标:把 Agent 看成「拥有权限、会被攻击、也会出错」的软件系统,而不只是模型应用。
| # | 标题 | 核心内容 | 可落地产物 |
|---|---|---|---|
| 22 | Agent 威胁建模 | 攻击面全景;信任边界;OWASP LLM / Agentic 风险对照;「私有数据 + 不可信输入 + 对外通信」三要素叠加的风险 | SupportPilot 威胁模型文档 + 风险矩阵 |
| 23 | 提示注入与间接注入防御 | 直接与间接注入(网页、邮件、文档、工具返回值);纵深防御:★ 指令分层、外部内容隔离、★ 内容进入上下文前的实时拦截、输出校验、关键操作二次确认;为什么不能只靠「提示词里写不许」 | 防护层代码 + 攻击测试集(按类别与生成方法组织) |
| 24 | 权限、身份与工具安全 | 最小权限;凭证管理;沙箱隔离;MCP 与第三方工具的供应链风险;★ 高危操作分级(只读 / 可逆写入 / 不可逆)及对应授权方式 | 权限矩阵 + 动作分级表 + 沙箱配置 |
| 25 | ★ 幻觉、失真与错误传播 | 为什么 Agent 的幻觉比 Chatbot 更危险(错误会成为下一步的输入);比对工具输出与 Agent 声称;结论与证据绑定;追踪错误如何跨步传播;低置信度时升级人工 | 事实核验中间件 + 错误传播链追踪脚本 + 失真案例集 |
| 26 | 数据安全、隐私与审计 | PII 识别与脱敏;记忆投毒与数据泄露;★ 全量审计日志;合规要点 | 脱敏中间件 + 审计日志规范 |
| 27 | 红队测试、护栏与应急响应 | 自动化红队;输入输出护栏的取舍与误伤;实时拦截策略的上线与调参;线上监控与告警;事故响应流程;★ 快速回滚演练 | 红队用例集 +上线前安全检查表 |
终章:整合交付
| # | 标题 | 核心内容 | 可落地产物 |
|---|---|---|---|
| 28 | 毕业项目:独立交付一个生产级 Agent | 用设计文档、代码、评估、监控、安全检查表走完全流程;复盘常见失败模式;能力自测与后续学习路线 | 完整 SupportPilot 仓库 + 全流程检查表 + 能力自测表 |
五、学习路径与能力对照
学习路径
| 读者角色 | 建议路径 |
|---|---|
| 完整学习者 | 01 → 28 顺序读,约 8~10 周 |
| 想先快速上手的开发者 | 01 → 12 → 13 → 18 → 23,再回头补设计篇 |
| 架构师 / 技术负责人 | 01–11 → 18–20 → 22–27 |
| 安全或平台团队 | 01 → 02 → 06 → 22–27 |
学完能做什么
| 工作任务 | 对应文章 |
|---|---|
| 判断一个需求该不该用 Agent、用哪种模式 | 01、03、04 |
| 写出 Agent 设计文档并评审 | 02–11 |
| 实现带工具、记忆、知识库的 Agent | 12–16 |
| 做多 Agent 或长流程工作流 | 10、15、17 |
| 证明 Agent 好不好用,防止改坏,出错时能定位 | 18、19、25 |
| 控制成本、保证稳定、完成上线与回滚 | 20、21 |
| 识别并防御 Agent 特有的安全风险 | 22–27 |
六、下一篇预告
Agent 系列01|Agent 到底是什么?何时该用,何时不该用?