Building Applications with AI Agents — 本课题摘录
读了哪几节: 第 2 章里的五小节——能力、规划、快与准的权衡、可靠性、单 agent 架构。 其余各章本轮没读。
先说结论:这份材料在本轮六十份里是最薄的一份。它全是原则性表述,没有代码、没有具体协议、没有可复现的数字,而且书本身标着"目录尚未定稿"。 下面只写它真正给出了、而别处没有的三条;其余部分不值得占讲义的篇幅。
它对本课题回答了什么
决定二:能力按"依不依赖外部"分两类
| 类别 | 是什么 | 例子 |
|---|---|---|
| 本地能力 | 靠内部逻辑与预定义函数,不依赖外部 | 算数、查本地数据、按既定规则判断准不准 |
| 接口能力 | 连外部服务取实时数据或借第三方系统 | 取天气、取行情、取社交动态 |
(依据:书 · Building Applications with AI Agents (for ) §Skills —— 把 agent 能力分成 local skills(靠内部逻辑与预定义函数、不依赖外部)与 API-based skills(连外部服务取实时数据或借第三方系统)两类,并主张每个能力做成自包含模块以便替换与扩展)
这个分法对本课题有一个不显然的用处:它和"能不能并发""要不要审批""结果可不可信"三件事都对得上。
- 本地能力:通常快、可重复、无副作用 → 可以并发、不用审批;
- 接口能力:慢、可能失败、结果来自外部 → 要限流、要处理失败,而且结果是不可信输入(browseros 那条)。
前面各家的并发判据(读写集合、只读声明、资源冲突)其实都是这条线的更细版本。 这一条是它最粗但也最好记的形态。
它还主张每个能力做成自包含的模块,好替换、好扩展。
决定四:规划按"什么时候定计划"分三种
| 种类 | 什么时候定计划 |
|---|---|
| 动作排序 | 一次定完:生成候选序列、评估结果、选最优路径 |
| 动态规划 | 环境变了就改 |
| 增量规划 | 分阶段定,拿到上一步结果再定下一步 |
(依据:书 · Building Applications with AI Agents (for ) §Planning —— 规划分动作排序(生成候选序列、评估可能结果、选最优路径)、动态规划(环境变化时调整计划)、增量规划(分阶段规划,拿到上一步结果再定下一步)三种,并指出增量规划适用于开始时对任务或环境没有完整认识的场合)
本课题的最小循环,严格说就是第三种——每一步都只决定下一步。 这一条把它放进了一个更大的谱系里:我们不是"没有规划",我们选的是"最增量的那一端"。
它给第三种的适用条件也对得上我们的场景:开始时对任务或环境没有完整认识。
一条对"什么时候停"有用的权衡:先快后准
快与准是一对权衡。但它给了第三条路——先给一个快的近似答案,再用更慢更准的方式修正它。 (依据:书 · Building Applications with AI Agents (for ) §Performance —— 速度与准确性是一对权衡,书给出第三条路:先给一个快的近似答案再用更慢更准的方式修正,常见于推荐与诊断场景)
这条跟 tongyi-deepresearch 的"快撑爆时逼它现在就交卷"、mirothinker 的"超窗前主动收尾"是同一个动作的不同动机: 一个是为了省资源,一个是为了先给人一个能看的东西。 两者可以合成一条设计:任何时刻都应该有一个"现在就交卷会交出什么"的答案。
单 agent 的价值,说得很干净
单 agent 架构的价值就在于它省掉了协调、通信、同步这三样复杂度;适合定义清楚、范围窄、不需要协作的任务。 (依据:书 · Building Applications with AI Agents (for ) §Single-Agent —— 单 agent 架构的简单性在于避开了跨多个组件的协调、通信、同步复杂度,适合定义清楚、范围窄、不需要协作或分布式努力的任务)
本课题划了"不管多 agent"这条边界,这一条是那条边界的正面理由: 不是"多 agent 太难所以先不做",而是"单 agent 省掉了三样具体的复杂度"。 这个说法比"先做简单的"有力得多,可以写进讲义。
它没回答什么
- 循环本身——怎么认出模型要调工具、结果怎么回填、什么时候停,这五节一句没讲。
- 任何可执行的东西——没有代码、没有协议、没有实验。
- 其余各章——用户体验、能力、编排、知识与记忆、学习、多 agent,本轮都没读。
坑与代价
- 它的可靠性一节全是通用软件工程的老话(容错、冗余、充分测试、上线监控),没有一条是 agent 特有的。 对比 kun 的四类打断加五道纠正、mirothinker 的四把尺子——那才是 agent 特有的可靠性问题。
- 它的规划一节提到用搜索算法和概率模型来选计划,这在语言模型驱动的 agent 里基本不适用——规划就是模型自己想。 这段像是从更早的智能体文献里搬来的。
判断(无锚): 这本书的取材横跨了"传统智能体"和"语言模型 agent"两个时代,读的时候要自己分辨哪一条属于哪个时代。 如果错,会错在: 如果我们后面真要做"先出一整份计划再执行"那一路(而不是一步一步走),那搜索与优化那套确实会重新变得相关。
- 书标着"目录尚未定稿",是抢先版。 引用它的内容要注明这一点。