智能体循环:感知、思考与行动

智能体循环:感知、思考与行动:实现“决策—工具执行—结果回灌—重新决策”的循环,并正确处理所有停止原因,通过架构、轨迹和故障重放完成验收。

学习目标

  • 能解释“智能体循环:感知、思考与行动”如何实现“决策—工具执行—结果回灌—重新决策”的循环,并正确处理所有停止原因
  • 能区分agentic loop、tool_use、tool_result、stop_reason、调用标识,并指出控制权、数据与副作用边界
  • 能固定输入与版本,沿以下证据定位首个分叉:消息序列、stop_reason、tool_use_id、参数、tool_result、错误标记与循环计数
  • 能注入“运行时漏回一个工具结果或错配调用标识,下一轮却继续消费不完整历史”,完成阻断、恢复、复位和同输入重放

来源、课程编排与适用边界

“智能体循环:感知、思考与行动”以Anthropic 公开全文《Building effective agents》为总纲,并用Claude Platform《How tool use works》核对本单元机制;涉及 MCP 的控制权边界再由MCP 2025-06-18 官方规范交叉检查。

这不是 Anthropic 出版的“19 章教材”。平台把公开文章、官方工具文档与协议规范重组为 19 个应用单元;下列 152 个节点是站内课程地图,不冒充原文目录。正文、代码、图表、实验和练习均为独立教学重写;产品接口、模型行为或协议版本变化时必须重新验证。

本单元的八个课程坐标

  • 智能体循环:感知、思考与行动:这是“实现“决策—工具执行—结果回灌—重新决策”的循环,并正确处理所有停止原因”的第 1 个课程坐标;必须进入机制解释、实验观察或练习证据,不能只停在目录。
  • 先打个比方:这是“实现“决策—工具执行—结果回灌—重新决策”的循环,并正确处理所有停止原因”的第 2 个课程坐标;必须进入机制解释、实验观察或练习证据,不能只停在目录。
  • 第一个概念:为什么一次调用不够,得让它转圈:这是“实现“决策—工具执行—结果回灌—重新决策”的循环,并正确处理所有停止原因”的第 3 个课程坐标;必须进入机制解释、实验观察或练习证据,不能只停在目录。
  • 第二个概念:ReAct——把一圈拆成「想、做、看」三段:这是“实现“决策—工具执行—结果回灌—重新决策”的循环,并正确处理所有停止原因”的第 4 个课程坐标;必须进入机制解释、实验观察或练习证据,不能只停在目录。
  • 第三个概念:多轮迭代——结果喂回,思考随之改变:这是“实现“决策—工具执行—结果回灌—重新决策”的循环,并正确处理所有停止原因”的第 5 个课程坐标;必须进入机制解释、实验观察或练习证据,不能只停在目录。
  • 第四个概念:循环何时该停:这是“实现“决策—工具执行—结果回灌—重新决策”的循环,并正确处理所有停止原因”的第 6 个课程坐标;必须进入机制解释、实验观察或练习证据,不能只停在目录。
  • 动手看:一个任务怎么转 3 轮才办成:这是“实现“决策—工具执行—结果回灌—重新决策”的循环,并正确处理所有停止原因”的第 7 个课程坐标;必须进入机制解释、实验观察或练习证据,不能只停在目录。
  • 用代码看带刹车的循环骨架:这是“实现“决策—工具执行—结果回灌—重新决策”的循环,并正确处理所有停止原因”的第 8 个课程坐标;必须进入机制解释、实验观察或练习证据,不能只停在目录。

术语与运行合同

本页不变量是:每个 tool_use 都由运行时执行并以匹配调用标识的 tool_result 回到下一轮。任何“成功”结论都要保存以下证据:消息序列、stop_reason、tool_use_id、参数、tool_result、错误标记与循环计数,模型生成的计划或自信不能替代环境事实。

关键机制与可推翻实验

模型不直接执行客户端工具

模型只生成调用请求;数据库、文件和网络副作用发生在应用运行时。

动手验证:记录模型输出与执行器日志,确认两者边界清晰。

停止原因驱动状态机

tool_use、end_turn、max_tokens、refusal 和 pause_turn 不能都按最终答案处理。

动手验证:逐个注入停止原因,断言状态机进入对应分支。

并行结果按标识配对

返回顺序可能变化,数组位置不能替代 tool_use_id。

动手验证:反转两个工具的完成顺序,验证下一轮消息仍正确配对。

循环预算约束恢复

重试需要次数、总时长、成本和副作用幂等边界。

动手验证:让同一工具连续超时,确认系统进入 blocked 而不是无限旋转。

先预测,再操作三类证据

分步1 / 3

1. 架构与复杂度边界

在“智能体循环:感知、思考与行动”中切换简单基线、受控工作流与自主循环,先预测“实现“决策—工具执行—结果回灌—重新决策”的循环,并正确处理所有停止原因”在哪个阶段需要增加控制权,再比较延迟、成本、可观测性和自主性。

Architecture decision laboratory

智能体循环:感知、思考与行动

实现“决策—工具执行—结果回灌—重新决策”的循环,并正确处理所有停止原因

复杂度档位

不变量:每个 tool_use 都由运行时执行并以匹配调用标识的 tool_result 回到下一轮

受控工作流:只激活能够由收益证明的阶段1发送请求2解析停止原因3执行工具4回灌结果5继续或退出蓝色表示当前方案承担的责任;虚线阶段仍留在系统边界外。关键证据:消息序列、stop…
自主性46
延迟52
成本48
可观测78

最小可运行实现

while (true) {
  const response = await callModel(messages, tools);
  messages.push(response.message);
  if (response.stopReason !== "tool_use") return finish(response, messages);
  const results = await Promise.all(response.toolUses.map(executeSafely));
  messages.push(asToolResultMessage(results));
}

这段切片只暴露“实现“决策—工具执行—结果回灌—重新决策”的循环,并正确处理所有停止原因”的最小运行合同。交付版本还要补齐超时、密钥隔离、结构化日志、幂等和批量评测;缺少消息序列、stop_reason、tool_use_id、参数、tool_result、错误标记与循环计数时,代码能运行也不代表本章结论成立。

小结

  • agentic loop 是决策、执行、回灌、重新决策的循环
  • 模型只生成调用请求,副作用发生在运行时
  • stop_reason 驱动状态机,不同停止原因须分别处理
  • 并行结果按 tool_use_id 配对,数组位置不可替代标识
  • 每个 tool_use 须有匹配 tool_result 回到下一轮

练习与答案

练习

问题 1:最小证明。 怎样用最少样本证明“每个 tool_use 都由运行时执行并以匹配调用标识的 tool_result 回到下一轮”?

问题 2:课程覆盖。 智能体循环:感知、思考与行动、先打个比方、第一个概念:为什么一次调用不够,得让它转圈、第二个概念:ReAct——把一圈拆成「想、做、看」三段、第三个概念:多轮迭代——结果喂回,思考随之改变、第四个概念:循环何时该停、动手看:一个任务怎么转 3 轮才办成、用代码看带刹车的循环骨架如何进入可操作验证?

问题 3:恢复闭环。 怎样证明“运行时漏回一个工具结果或错配调用标识,下一轮却继续消费不完整历史”已经修复?

本章回顾

  • “智能体循环:感知、思考与行动”的主问题是实现“决策—工具执行—结果回灌—重新决策”的循环,并正确处理所有停止原因。
  • 核心不变量是每个 tool_use 都由运行时执行并以匹配调用标识的 tool_result 回到下一轮。
  • 首要反例是运行时漏回一个工具结果或错配调用标识,下一轮却继续消费不完整历史。
  • 最小证据包包含消息序列、stop_reason、tool_use_id、参数、tool_result、错误标记与循环计数。

名词解释

本章出现的专业名词,用大白话再讲一遍。

agentic loop

模型请求工具、运行时执行并把结果送回模型的循环。在“智能体循环:感知、思考与行动”中必须能按以下证据重新定位:消息序列、stop_reason、tool_use_id、参数、tool_result、错误标记与循环计数。

tool_use

模型产生的结构化工具调用请求块。在“智能体循环:感知、思考与行动”中必须能按以下证据重新定位:消息序列、stop_reason、tool_use_id、参数、tool_result、错误标记与循环计数。

tool_result

应用返回的工具执行结果块。在“智能体循环:感知、思考与行动”中必须能按以下证据重新定位:消息序列、stop_reason、tool_use_id、参数、tool_result、错误标记与循环计数。

stop_reason

说明本轮为何结束或暂停的协议字段。在“智能体循环:感知、思考与行动”中必须能按以下证据重新定位:消息序列、stop_reason、tool_use_id、参数、tool_result、错误标记与循环计数。

调用标识

配对请求与结果,防止并行工具响应串线的标识。在“智能体循环:感知、思考与行动”中必须能按以下证据重新定位:消息序列、stop_reason、tool_use_id、参数、tool_result、错误标记与循环计数。

阅读导航

← 增强型 LLM:工具、检索与记忆 · 你的第一个最小 Agent →

讨论

评论区加载中…