AI 学习笔记

Week 2 · Agent Loop 与状态管理

可复习 · 待写自己的解释

本章材料

你四周计划里的具体视频(OpenAI Academy、DeepLearning.AI、Agents SDK 教程)还在 Notion 里,导入后放在这里。

重点

  1. Agent 循环:调用模型 → 如果得到最终答案,就结束;如果模型要调用工具,就执行工具,把结果追加进去,再调用模型。如此往复。
  2. 必须有停止条件。 除了得到最终答案,还要设轮数上限:Agents SDK 的 max_turns 超出后会抛出 MaxTurnsExceeded。
  3. 状态:到目前为止的对话、工具结果和中间产物都要保存,下一轮才知道做到了哪里;暂停后也能恢复(Agents SDK 里叫 RunState)。
  4. 每一步都要从环境拿到真实反馈(工具结果、报错),而不是让模型以为自己执行成功了。
  5. 失败恢复:根据报错修正参数后重试、换一种方法,或者停下来交给人。把任务拆成更小的步骤,每一步都更好检查。
由 Claude 根据 OpenAI Agents SDK 的 Running agents 文档和 Anthropic 的 Building effective agents 整理。读的时候哪一条看不懂,就把它记到「复习」的“我卡在哪里”。

难点

  1. 循环会放大错误。 早期一步错了,后面每一步都建立在这个错误上。
  2. 上下文越来越长。 早期的信息可能被挤出去(没进上下文),也可能还在但被忽略(进了上下文却没用好),这是两种不同的问题。
  3. 重试不是万能的。 用同样错误的参数重试多少次都一样,重试也要设上限。
  4. 状态不只是聊天记录。 已经发出的邮件、已经完成的转账,也是状态的一部分,而且往往无法撤销。
由 Claude 根据 OpenAI Agents SDK 和 Anthropic 的文档 整理。读的时候哪一条看不懂,就把它记到「复习」的“我卡在哪里”。

动手看

一次 agent 循环:出错、恢复、完成 示意流程 · 非真实运行
  1. 用户

    帮我把上个月的房租转账记录整理成一张表,发到我的邮箱。

容易混淆的几个概念

概念说的是什么设计时要问的问题
轮(turn)一次模型调用加上它触发的工具调用最多允许几轮?
状态对话、工具结果、中间产物、已经发生的外部操作中断后能从哪里恢复?
停止条件得到最终答案,或者达到上限到了上限,用户会看到什么?
重试修正后再试一次最多重试几次?之后怎么办?
交给人自动恢复失败后,停下来等人处理人接手时能看到什么?

一个记法:每一轮都要能回答三个问题:做到哪了,刚才发生了什么,下一步做什么。

学完了?去 复习 记下卡住的地方,或者直接 做测验。

来源

  • 材料见本页“本章材料”,所有链接都在 2026-10-29 打开确认过;max_turns、MaxTurnsExceeded、RunState 的说法来自 Agents SDK 文档原文。
  • 重点、难点、示意流程和测验由 Claude 根据本页“本章材料”里的文档整理。示意流程和操作清单是虚构的教学例子,不是真实运行的结果。
  • 学习目标来自你的四周 Agent 学习计划截图;计划里的具体视频和任务尚未导入。

On this page