Skip to content

01 · 一圈里发生了什么 ​

Agent 拆开只有三样东西:会规划(想下一步干什么)、能调工具(真的去干)、能循环(看结果,再想下一步)。三样凑齐,就是一个 Agent。它不神秘——神秘的是它每次跑的路径不一样。

一圈的样子 ​

Agent 的一圈

你给的目标 ↓
1想下一步该干什么
2调工具搜索 / 读文件 / 跑命令 / 查数据库
3看结果拿到了什么,离目标近了没有
4判断还没完成 → 回到第 ① 步;完成了 → 交付
↓ 交付
Workflow 是你把这个圈展开成一条直线;Agent 是让它自己转

就这四步,转圈。Workflow 是你把这个圈展开成一条直线;Agent 是让它自己转,转到它认为够了为止。

这一圈里,每一步你都见过

① 想下一步 —— 就是让它先想再答,只是这次它是想给自己听的。 ② 调工具 —— Function Calling,模型提出要调什么,你的程序真去执行。 ③ 看结果 —— 工具返回的东西被塞回上下文。 ④ 判断 —— 它自己决定继不继续。

唯一新的东西是"循环"。 而这本书里所有关于 Agent 的麻烦,全都来自这个循环。

循环带来的四个新问题 ​

前面几篇的问题(说不清、会编、会忘)在 Agent 里全都还在,而且被循环放大了。除此之外,循环本身带来四个新问题——这一篇剩下的九章,就是逐个对付它们:

新问题长什么样在哪一章
它不知道什么时候该停转了十五圈还在"再确认一下";或者第二圈就交差了02 给目标、06 设上限
它可能碰不该碰的东西你让它整理文件,它删了一个05 划边界
它跑着跑着就忘了目标第一圈的目标被后面二十圈的工具返回挤出去了07 长跑的上下文
出了事你不知道哪一圈的锅只看到一个错的结果和一大堆过程08 看得见、09 验收

三样东西,分别决定什么 ​

规划能力:决定它能不能拆对 ​

这一样几乎完全取决于模型本身和你的目标写得清不清楚。你能做的不多,主要是 02 章——把目标、完成标准、不做什么写死。

别指望靠提示词把弱模型变成好规划者

这是少数几个"换个更强的模型确实有用"的地方。入门篇 10 说前六条没做完别换模型——Agent 的规划环节是那个例外:让它自己拆多步任务,模型能力差距会被放大得很明显。

工具:决定它能干什么,也决定它会干错什么 ​

这一样完全由你控制,也是投入产出比最高的地方。

它只能用你给的工具。你给了三个,它就在这三个里选;工具描述写得糊,它就选错。03 章整章讲这个。

循环:决定它会不会失控 ​

也完全由你控制:最多转几圈、最多花多少、什么情况下必须停。不设的话,它自己是不会喊停的。06 章。

看一眼这三样的分配:规划靠模型,工具和循环靠你。

所以当一个 Agent 表现不好,先别怀疑模型。按这个顺序查:

  1. 目标写清楚了吗?(尤其是"什么算做完")
  2. 工具够不够、描述写清楚了吗?——最常见的问题在这儿
  3. 上限设了吗?
  4. 以上都没问题,才轮到考虑换模型

记忆:可选的第四样 ​

有些 Agent 还有第四样:记忆——把这一轮学到的东西存下来,下次还能用。

但要清醒一点:所谓记忆,本质还是把东西重新塞回上下文。它不会"记住",只会"被重新告知"。

区别只是:

类型实际是什么问题
短期记忆这一次运行里的对话历史会被挤爆,见 07 章
长期记忆存在外面(文件 / 数据库),下次检索出来塞回去存了什么、什么时候被取出来,你未必知道

入门阶段建议:先别上长期记忆。 一个连这次都跑不稳的 Agent,加上"它还记着上次的东西"只会让问题更难复现——你连"同样的输入跑两次"都做不到了。

一个务实的心智模型 ​

把它想成一个被你派出去办事的人,只是这个人:

  • 只能用你发给他的那几件工具;
  • 每做一件事都会回来看一眼再决定下一步;
  • 没有"我不确定,回来问问"的自觉,除非你规定了;
  • 不会累,也不会心疼钱,你不喊停他能一直干。

这一篇剩下的内容,就是给这个人配齐:一份说清楚的任务书、一套好用的工具、一张写明能去哪儿的门禁卡、一个必须回来汇报的时间点。

下一步 ​

02 · 给目标:自主度越高,目标越要写死

一份讲通用概念的入门手册 · 不绑定任何一家模型或工具 · 例子可直接照抄