跳到主要内容

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"两个时代,读的时候要自己分辨哪一条属于哪个时代。 如果错,会错在: 如果我们后面真要做"先出一整份计划再执行"那一路(而不是一步一步走),那搜索与优化那套确实会重新变得相关。

  • 书标着"目录尚未定稿",是抢先版。 引用它的内容要注明这一点。