§04 Agent Loop:Claude 自己"想—做—看"的循环

我第一次看 Agent Loop 的日志,是在调一个修测试的任务。盯着它一圈圈转、自己调工具、自己读结果,突然就懂了。这章拆开看。

04.1 一句话说清 Loop

Agent Loop 就是 Claude 自己跑的一个循环。

它收到你的 prompt,决定调哪个工具,SDK 帮它执行,结果喂回去,它再看、再决定。一直循环,直到它觉得干完了。

我管它叫"想—做—看"三步循环。想是推理,做是调工具,看是读结果。

04.2 一个真实的四步例子

文档里有个例子,我拆给你看。prompt 是"修 auth.ts 里失败的测试"。

一共 4 轮。前 3 轮有工具调用,最后一轮纯文字收尾。

标叔的经验:生产环境我一定设 max_budget_usd

文档写得很直白:不设上限,Loop 会一直跑到 Claude 自己觉得完成为止。遇到"改进这个代码库"这种开放式 prompt,可能跑很久。我习惯给个预算当保险丝。

04.3 两个开关:轮次和预算

开关 作用 默认值 标叔的结论
maxTurns 最多跑几轮工具调用 无限制 生产环境必设上限
maxBudgetUsd 花到多少美元就停 无限制 当保险丝一定要设

到达上限时,SDK 会给一个特定的结束状态:error_max_turnserror_max_budget_usd。你读 subtype 就能判断它为什么停。

04.4 思考深度也能调

effort 参数控制 Claude 每轮想多深。

等级 适合
low 列文件、搜一下
medium 常规编辑
high 重构、调试
xhigh/max 多步难题

简单任务用 low,又快又省。复杂任务用 high 起步。

看懂了 Loop,但它每一步吐出来的消息到底是什么?下一章讲消息流。