Week 2 · Agent Loop 与状态管理
可复习 · 待写自己的解释本章材料
- OpenAI Agents SDK · Running agents:Agents SDK 的 agent 循环、max_turns
- Anthropic · Building effective agents:每一步从环境拿到真实反馈、设置停止条件
- DeepLearning.AI · Agentic AI(吴恩达):Module 1 的 Task decomposition:把任务拆成步骤
你四周计划里的具体视频(OpenAI Academy、DeepLearning.AI、Agents SDK 教程)还在 Notion 里,导入后放在这里。
重点
- Agent 循环:调用模型 → 如果得到最终答案,就结束;如果模型要调用工具,就执行工具,把结果追加进去,再调用模型。如此往复。
- 必须有停止条件。 除了得到最终答案,还要设轮数上限:Agents SDK 的
max_turns超出后会抛出MaxTurnsExceeded。 - 状态:到目前为止的对话、工具结果和中间产物都要保存,下一轮才知道做到了哪里;暂停后也能恢复(Agents SDK 里叫
RunState)。 - 每一步都要从环境拿到真实反馈(工具结果、报错),而不是让模型以为自己执行成功了。
- 失败恢复:根据报错修正参数后重试、换一种方法,或者停下来交给人。把任务拆成更小的步骤,每一步都更好检查。
由 Claude 根据 OpenAI Agents SDK 的 Running agents 文档和 Anthropic 的 Building effective agents 整理。读的时候哪一条看不懂,就把它记到「复习」的“我卡在哪里”。
难点
- 循环会放大错误。 早期一步错了,后面每一步都建立在这个错误上。
- 上下文越来越长。 早期的信息可能被挤出去(没进上下文),也可能还在但被忽略(进了上下文却没用好),这是两种不同的问题。
- 重试不是万能的。 用同样错误的参数重试多少次都一样,重试也要设上限。
- 状态不只是聊天记录。 已经发出的邮件、已经完成的转账,也是状态的一部分,而且往往无法撤销。
由 Claude 根据 OpenAI Agents SDK 和 Anthropic 的文档 整理。读的时候哪一条看不懂,就把它记到「复习」的“我卡在哪里”。
动手看
容易混淆的几个概念
| 概念 | 说的是什么 | 设计时要问的问题 |
|---|---|---|
| 轮(turn) | 一次模型调用加上它触发的工具调用 | 最多允许几轮? |
| 状态 | 对话、工具结果、中间产物、已经发生的外部操作 | 中断后能从哪里恢复? |
| 停止条件 | 得到最终答案,或者达到上限 | 到了上限,用户会看到什么? |
| 重试 | 修正后再试一次 | 最多重试几次?之后怎么办? |
| 交给人 | 自动恢复失败后,停下来等人处理 | 人接手时能看到什么? |
一个记法:每一轮都要能回答三个问题:做到哪了,刚才发生了什么,下一步做什么。
来源
- 材料见本页“本章材料”,所有链接都在 2026-10-29 打开确认过;
max_turns、MaxTurnsExceeded、RunState的说法来自 Agents SDK 文档原文。 - 重点、难点、示意流程和测验由 Claude 根据本页“本章材料”里的文档整理。示意流程和操作清单是虚构的教学例子,不是真实运行的结果。
- 学习目标来自你的四周 Agent 学习计划截图;计划里的具体视频和任务尚未导入。