这一节你只需要记住:Agent = 模型 + 工具 + 循环
也有说法是:Agent = 模型 + Harness,其实都一样
ChatGPT 刚刚出现的时期,大部分人应该都这样操作过:把一段报错贴给 ChatGPT,它回你一段代码,看着挺对。你复制过去跑,又报了个新错。再贴回去,它再改。来回五六次,问题终于解决了。
模型负责想办法、写代码。你负责剩下的事:复制粘贴、运行、看结果、把结果贴回去、判断修好了没有。
这种情况下,你就是那个循环(Loop)。

Agent 做的事情其实很朴素:把这个循环从你手里接过去。模型自己运行代码,自己看报错,自己决定下一步,一直到任务完成。
所以这一节的标题叫 loops。Agent 最核心的东西不是模型有多聪明,是这个循环
一、Agent loop 的组成
Loop 一般由四个步骤组成,如图所示:
┌──────────────────────────────────────┐
│ │
▼ │
┌─────────────┐ │
│ ① 感知上下文 │ 目标 + 历史 + 工具说明 + 之前的结果
└──────┬──────┘ │
▼ │
┌─────────────┐ │
│ ② 模型决策 │ "下一步该干什么?" │
└──────┬──────┘ │
│ │
├── 觉得任务完成了 ──► 输出最终答案,退出 │
│ │
▼ │
┌─────────────┐ │
│ ③ 调用工具 │ 读文件 / 跑命令 / 搜网页 ... │
└──────┬──────┘ │
▼ │
┌─────────────┐ │
│ ④ 观察结果 │ 工具的输出追加进上下文 ─────────┘
└─────────────┘
