让模型解释一段报错,只需要一次回答;让它打开文件、修改代码、运行测试,再根据新报错继续改,就需要一个循环。每一步读到的结果会影响下一步做什么。我们从这个差别开始,看看哪些任务值得交给 agent,哪些写成固定流程更简单。

先说一句:这个词一直在变

我第一次听到「agent」想到的是贪吃蛇和吃豆人 :) 在很长一段时间里,agent 就是游戏里那个会动的东西:它看一眼环境,挑一个动作,环境给它一点回报,如此循环。强化学习(reinforcement learning, RL)整个领域都建立在这个循环上,今天说的 LLM agent 也还是这个循环——只不过「怎么挑动作」从写死的规则、学出来的策略,换成了问一个模型。直接用 RL 训练这种多步 agent 是什么样,见 Agent RL。

图解 同一个迷宫,三种 agent

这张交互图需要启用 JavaScript。

强化学习这边有几件事挺有意思,顺手说说:

  • 它算的是以后,不是眼前。 价值函数 $V(s)$ 是「站在这一格,往后还能拿多少分」,折扣 $\gamma$ 决定你有多在乎以后。$\gamma$ 小就短视,$\gamma$ 大就愿意绕远路。上面那张价值图就是它。
  • 探索和利用要权衡。 一直走已知最好的路,就发现不了更好的路;总去尝试新的,又拿不到分。
  • 你给什么分,它就优化什么。 这是最好玩也最吓人的一点。OpenAI 那个划船游戏的例子很出名(Faulty reward functions in the wild,2016):奖励(reward)是沿途的分数道具,结果 agent 发现原地转圈刷道具比跑完比赛得分更高,于是它一直转圈,一路起火、撞船、逆行,得分却比正常跑完还高。今天 RLHF 里的 reward hacking,和它是同一类问题。
  • LLM agent 也会这样。 如果把「测试通过」当成奖励,它可能会去改测试,而不是修代码。

所以看到「agent」这个词,最好先问清对方指的是哪一种。这个领域变化很快,定义也一直有争议:有人认为只有能自己决定流程的系统才算 agent,也有人把一次带工具的调用也叫 agent。下面讲的是现在最常见的用法。

一个 agent 由四样东西组成

  • 模型:看一眼现在的情况,决定下一步做什么;
  • 工具:真正对外面动手的接口:搜索、读写文件、调 API、跑代码;
  • 循环:工具的结果回到模型,模型再决定下一步;
  • 停止条件:什么时候算做完,或者预算花光了必须收手。

再加上一个存中间状态的地方(上下文、记忆、外部存储),大多数 agent 也就这些东西。

Workflow 和 agent 的区别

Anthropic 在 Building effective agents 里把这条线划得很清楚:workflow 是用事先写好的代码路径把模型和工具串起来;agent 是让模型自己决定流程、自己挑工具。同一个任务,下面两种做法各走一遍:

图解 Agent 循环:修一个失败的测试

这张交互图需要启用 JavaScript。

先问:真的需要 agent 吗

用 agent,是拿更高的延迟和成本,换来处理开放式任务的能力。那篇文章建议先用最简单的方案,确实需要时再增加复杂度。可以先问自己三个问题:

  1. 步骤能不能事先列出来? 能列出来,就写成 workflow。
  2. 有没有验证信号? 比如测试能不能跑通、答案能不能核对、订单状态能不能查到。没有验证信号,就很难知道 agent 到底做对了没有。
  3. 做错一步代价多大? 发邮件、付钱、删数据这种不可逆的动作,要么不交给 agent,要么必须有人确认。

ReAct:想一步,做一步

ReAct(Yao 等,2022)让推理和行动交替进行:模型先写下这一步在想什么,再调一个工具,看到结果接着想下一步。今天大多数 agent 的循环,都是它的变体。

这一组怎么读

  1. Prompt、ICL 与 CoT:先把输入、示例和任务要求写清楚。
  2. 常见结构:什么时候单次调用就够了,什么时候需要循环。
  3. 工具、MCP 与 Skills:跟着一次笔记检查,分清调用、执行和权限。
  4. Deep Research:资料不齐、结果冲突时怎样继续;不同场景:写代码、客服、操作电脑等任务能不能自动验证,各需要什么护栏。
  5. 模型选择与路由:从具体任务出发,比较质量、延迟和完整成本。
  6. 复习题:回头检查哪些概念能自己讲清楚。

相关:Agent Observability 讲怎样看清一次运行,Human-in-the-Loop 讲什么时候让人介入。

本页术语 2
强化学习 reinforcement learning, RL
根据行动带来的回报调整策略,学习怎样作出更好的选择
奖励 reward
RL 里指导策略更新的标量信号