Chapter 12 · Capstone:独立做产品
目标:把前面各章的零件,组装成你自己的一个 agent 功能产品。这一章没有"填空题"——你来设计、实现、自评。做完它,你就具备了独立设计开发 agent 产品的能力。
前十天你从零建出了:loop(D1)、真实模型(D2)、工具集(D3)、有状态持久化(D4)、上下文管理(D5)、MCP 扩展(D6)、graph 编排(D7)、RAG 检索(D8)、Guardrails 护栏(D9)、Evals 评测(D10)。今天把它们按需拼成一个能解决真实问题的东西。
一、流程(四步)
- 选题:挑一个你真想要的 agent(见下面示例)。范围要小到"一天能做出雏形"。
- 写一页设计:用
DESIGN.template.md。动手前必须写——这一步就是"独立设计"能力本身。 - 实现:用前面各章的零件搭起来(见第三节的组装指引)。
- 自评:用
SELF-EVAL.md验收——"程序跑完 ≠ 任务做对"。
二、选题示例(挑一个,或自拟)
- 仓库问答/改码 agent:回答"这个函数在哪调用"、或改一个小 bug 并跑测试(loop + 工具集)。
- 文档批处理 agent:读一批文件,抽取结构化信息汇总(loop + 结构化返回 + 工具集)。
- 网页调研 agent:给个题目,查资料、汇总成报告(loop + web 工具 / MCP)。
- 数据分析 agent:读 CSV,回答问题、出结论(loop + bash/工具)。
- 带 MCP 的助理:接一个 MCP server(GitHub/日历…)做真实操作(loop + MCP)。
- 多步调研+写作:调研和写作分成两个子 agent(graph 编排)。
三、关键设计判断:用哪一格(raw/harness/loop/graph)
这是这门课要你带走的核心能力——别无脑上最重的:
| 你的任务是… | 用 |
|---|---|
| 一步能说清、结果可预测(翻译、抽字段、分类) | raw / 结构化返回(一次调用),别 agent |
| 步骤固定写死 | workflow,别让模型决定步骤 |
| 开放、多步、要模型边做边判断 | loop(Day 1 + 工具) |
| 有显式分支 / 并行 / 多 agent / 需可暂停恢复 | graph(Day 7) |
在设计文档里明确写出你选哪一格、为什么——这比代码更能体现你的判断力。
生产视角(Day 11):也要想清部署形态(Serverless/Edge 短交互 vs 长运行容器)、状态外置、语义缓存是否需要——真实产品这些决定成败。
四、怎么把零件组装起来(参考)
一个典型装配(按需取用,不是全都要):
flowchart LR U[用户请求]:::io --> D5["Day 5:把完整历史投影进上下文预算"]:::sub D5 --> D2["Day 2:provider adapter 发给真实模型(可要结构化返回)"]:::model D2 --> D1["Day 1:loop 编排 — 提议 → 执行工具 → 喂回 → 直到 final"]:::model D1 -. 工具 .-> D3["Day 3:工具集"]:::sub D1 -. 工具 .-> D6["Day 6:MCP server"]:::sub D1 -. 私有知识 .-> D8["Day 8:RAG 检索"]:::sub D1 -. 高危工具 .-> D9["Day 9:guardrails 审批/花费护栏"]:::sub D1 --> D4["Day 4:把新增事实追加进 session(可恢复)"]:::sub D4 --> D7["Day 7:graph 编排多个 loop(若任务复杂)"]:::sub D7 --> D10["Day 10:evals 回归套件 + trace"]:::sub
- 最小可用:很多产品只需要 Day 1 loop + Day 3 工具 + Day 2 真实模型。先把最小闭环跑通,再按需加 4/5/6/7。
- 各零件你已在 journey 里实现过;capstone 就是把你自己的实现接起来。
五、交付物
- 填好的
DESIGN.local.md(从模板复制)——一页设计。 - 能跑的 agent(最小闭环起步)。
- 生产健壮性验证(强制,回应真实交付):
- 把 agent 暴露成一个服务边界(SSE 流式响应,Day 11);
- 跑通一次 suspend → 人工介入 → resume 的端到端(Day 9 + Day 11);
- 把回归套件接成 CI 门禁(Day 10 + Day 11
evalGate),故意改坏一个配置确认被挡下。
- 填好的
SELF-EVAL.local.md——自评报告。
*.local.md是你的私有作答(git 忽略);模板是公共的。
六、这一章"没有标准答案"是故意的
前十天有测试兜底(对/错分明)。capstone 没有——因为真实产品就没有测试帮你判断"设计对不对",只能靠你自己的判断力。这正是这门课的终点检验:
你能不能说清"我为什么这样设计、为什么用/不用 graph、边界和风险在哪"——而不只是"它能跑"。
能讲清楚,你就是个能独立设计开发 agent 产品的工程师了,而不是一个只会点"接受"的人。这,就是"两周成为 Agent 专家"的意思。