结语

先说没讲什么
这份手记写到这里,13 章正文结束了。在开始下一步之前,我得先交代清楚边界——哪些东西这份手记没讲。
这份手记不教你从零实现一个 Agent 框架。 没有手把手的"先写这个类,再写这个方法"。市面上已经有很好的教程做这件事,附录 B 里推荐了几份。这份手记讲的是"做 Agent 的时候怎么不翻车",不是"怎么从零造一个"。
这份手记不涉及模型训练和微调。 我是应用层的工程师,讲的是"怎么用好别人训练好的模型",不是"怎么自己训模型"。这块我不懂,不敢乱讲。
这份手记不覆盖多模态。 书里的经验都来自文本场景,图像、语音、视频这些我没实践过。
这份手记没有完整的项目代码。 它讲"判断和方法",不讲"具体实现"。代码片段有一些,但都是脱敏后的片段,不是完整项目。
第五部分的工程章节,只到"补齐了一版"的程度,不到"成熟方案"。 CI、熔断、空壳排查这些,我确实在一个项目里真刀真枪做了一遍,但那是头一回系统补——做的时候每一样都发现自己原来的理解不够(比如熔断到底放哪层,是真做的时候才想清楚的)。所以这部分讲的是"一个人怎么把短板从无补到有",不是"一套可以照搬的最佳实践"。
再说一句实话:我也还在路上
写完这 13 章,回头通读一遍,说实话有点心虚。
心虚不是因为内容有错——每一条都是从真实的坑里提炼的,我对得起每一个字。心虚是因为——这份手记呈现出来的样子,可能比我实际的水平要"完整"得多。
手记里的结构是清晰的:认知篇、设计篇、验证篇、协作篇、工程篇,五个部分,层层递进。但真实的我不是这样走过来的。真实的我是东一榔头西一棒子,碰到一个问题查一个,查完回来改一改,改完又发现新问题。前面章节里那些看起来条理分明的"原则""模型""清单",是事后整理出来的,不是我一开始就有的认知框架。
而且说实话,很多地方我探索得还很浅。
多 Agent 协作,我做了一个 PM + 开发的模式,跑通了基本的五要素。但更复杂的场景——三个以上 Agent 怎么协作?Agent 之间的状态怎么同步?多 Agent 的 eval 怎么做?这些我都没碰。
eval 框架,我搭了一个能跑的版本,用例也攒了一些。"跑 5 次看通过率"这个基础策略写了,统计化的分层判定也在一个项目里落地了——甚至因为真跑了实验,还撞见一个反直觉的结论:原来"飘得最厉害的"不是差输入,而是好输入。但是,更精细的分层(按用例的可判定性来分配运行次数)目前还停在"我知道该这么做",代码没有完全跟上。eval 的工程化——每次提交自动跑、结果自动比对回归基线——也还是没影的事。
鲁棒性和质量门禁,前面说过了,只到"补齐了一版"。CI 配了、熔断做了、空壳闭环也系统查过了。但熔断放哪层、CI 的单人最小形态长什么样、空壳到底怎么定义——这些问题真做的时候才发现,每一个的答案都比"想当然"要复杂,目前也只摸到第一层。
所以我也有一些还没想明白的疑问:
Agent 项目的测试金字塔应该长什么样? 传统软件有单元/集成/端到端的金字塔。Agent 项目里,eval 算哪一层?算法层测试和 Agent 行为测试怎么配比?我还没有一个让自己信服的答案。
LLM 裁判到底怎么校准才靠谱? 第 7 章讲了"定期人工抽查",但这只是一个原则。具体怎么抽样、抽多少、校准的指标怎么定、发现飘了怎么调——这些我还在摸索。
概率性系统的"可观测性"应该怎么做? 传统软件有 metrics、logs、tracing 三件套。Agent 时代的可观测性,除了这些,还需要什么?Agent 的决策链路怎么追踪?工具调用的成功率和延迟怎么监控?这些我还没系统想过。
什么时候该上多 Agent,什么时候用单 Agent 加工具就够了? 第 8 章给了三条判断标准,但那是我个人的经验总结,不是经过大量验证的方法论。在实际项目中,这条线经常是模糊的。
这份手记真正的价值
说了这么多"没做到"和"没想明白",那这份手记到底有什么用?
我觉得它的价值有两层。第一层是**"让你知道有哪些坑,坑在哪里"——这部分是稳定的,每个坑都是我实打实踩出来的。第二层,是有些坑,我不光标出来了,还给了一个填法**。比如"空转一整夜"之后怎么用熔断根治,比如 eval 的分层怎么落地、落地后又撞见什么反直觉的事。这些"填法"不一定是最优解,但至少是验过的,比"知道有坑"多走了一步。
不过这第二层也带个风险:我填的方式会让人误以为"这就是标准答案"。不是的。每一个填法背后,都有我没说尽的取舍和没验证完的边界。你大可以用更好的方法绕过这些坑,用更成熟的技术栈。但至少——当你遇到类似的问题时,会想起"这地方有坑,而且有人填过一种解法",然后要么照着验,要么换更好的。少踩一个坑,或者踩了能更快爬出来,就值回票价了。
这就是一个走在半路上、还不敢说自己走得多稳的人,能给你的全部东西了。
下一步
写完这份手记之后,我自己接下来想往这几个方向探索:
- 把 eval 的分层判定彻底落地——按用例的可判定性分配运行次数,而不是停在"我知道该这么做"
- 推进 eval 的工程化——让 eval 从"手动跑"变成"提交自动跑、结果自动比对回归基线"
- 收紧权限配置——驾驭曲线那一章里提过,我把"放权"往前推了,但"约束"还没跟上,命令级白名单还没配,这是个该补的缺口
- 继续做手里的项目,在持续迭代中验证这些经验到底对不对
还有一个我正在尝试、但远没到下结论的方向:用信息论的几个概念(信源/信道编码、率失真、互信息、测不准)作为审视 agent 工程的参照框架。 它对不对、有没有用我都还不确定,所以没有放进正文,而是单写成一篇番外,摊开供你审视和质疑——见番外篇 · 当香农遇见 Agent。
另一篇番外讲的是一个已经落地的系统:给 coding agent 装一个会学习的记忆——从对话里蒸馏经验、在对的时刻注入、根据反馈更新置信度。它是一次工程落地的复盘,设计被真实数据推翻了好几次,留下的这套工程设计是验过的——见番外篇 · 给 Agent 装一个会学习的记忆。一篇偏理论探索,一篇偏工程落地,两篇从不同方向逼近同一个问题。
如果将来这些探索有了新的收获,也许会有第二版。但那是后话了。
走到这里的读者,不管你是从头读到尾,还是跳着翻了几章——谢谢你的时间。希望这本手记里有一两句话,能在你做 Agent 的时候帮上忙。
我们路上见。