04|核心循环:Thought、Action 与 Observation
逐步走完 Thought–Action–Observation 循环和天气示例。
逐步走完 Thought–Action–Observation 循环和天气示例。
自动售货机适合固定工作流,私人助理适合开放任务。选择 Agent 会增加灵活性,也增加不可预测路径。

本课交付物
对发票录入、旅行规划、密码重置、研究综述四个场景做决策矩阵。
核心讲解
在前面的章节中,我们学习了:
- 如何在系统提示中向智能体提供工具 (tools)。
- AI 智能体 (AI agents) 是如何能够"推理"、规划并与其环境交互的系统。
在本节中,我们将探索完整的 AI 智能体工作流程,这是我们定义的思考-行动-观察 (Thought-Action-Observation) 循环。
然后,我们将深入探讨这些步骤中的每一个。
核心组件 (Core Components)
智能体在一个持续的循环中工作:思考 (Thought) → 行动 (Act) 和观察 (Observe)。
让我们一起分解这些行动:
- 思考 (Thought):智能体的大语言模型 (LLM) 部分决定下一步应该是什么。
- 行动 (Action):智能体通过使用相关参数调用工具来采取行动。
- 观察 (Observation):模型对工具的响应进行反思。
思考-行动-观察循环 (The Thought-Action-Observation Cycle)
这三个组件在一个持续的循环中协同工作。用编程的类比来说,智能体使用一个 while 循环:循环持续进行,直到智能体的目标被实现。
视觉上,它看起来是这样的:
在许多智能体框架中,规则和指南直接嵌入到系统提示中,确保每个循环都遵循定义的逻辑。
在一个简化版本中,我们的系统提示可能看起来像这样:
我们在这里看到,在系统消息中我们定义了:
- 智能体的行为。
- 我们的智能体可以访问的工具,就像我们在上一节中描述的那样。
- 思考-行动-观察循环,我们将其融入到大语言模型指令中。
让我们看一个小例子,在深入研究每个步骤之前理解这个过程。
小安,天气智能体 (小安, the Weather Agent)
我们创建了小安,天气智能体。
用户问小安:“今天纽约的天气如何?”
小安的工作是使用天气 API 工具回答这个查询。
以下是循环的展开过程:
思考 (Thought)
内部推理:
在收到查询后,小安的内部对话可能是:
“用户需要纽约的当前天气信息。我可以访问一个获取天气数据的工具。首先,我需要调用天气API来获取最新的详细信息。”
这一步显示了智能体将问题分解成步骤:首先,收集必要的数据。
行动 (Action)
工具使用:
基于其推理和小安知道有一个get_weather工具的事实,小安准备一个 JSON 格式的命令来调用天气 API 工具。例如,它的第一个动作可能是:
思考:我需要检查纽约的当前天气。
{
"action": "get_weather",
"action_input": {
"location": "New York"
}
}
在这里,动作清楚地指定了要调用哪个工具(如get_weather)和要传递的参数(“location”: “New York”)。
观察 (Observation)
来自环境的反馈:
在工具调用之后,小安接收到一个观察结果。这可能是来自API的原始天气数据,如:
“纽约当前天气:多云,15°C,湿度60%。”
这个观察结果然后被添加到提示中作为额外的上下文。它作为现实世界的反馈,确认行动是否成功并提供所需的细节。
更新的思考 (Updated thought)
反思:
获得观察结果后,小安更新其内部推理:
“现在我有了纽约的天气数据,我可以为用户编写答案了。”
最终行动 (Final Action)
然后小安生成一个按照我们告诉它的方式格式化的最终响应:
思考:我现在有了天气数据。纽约当前天气多云,温度15°C,湿度60%。
最终答案:纽约当前天气多云,温度15°C,湿度60%。
这个最终行动将答案发送回用户,完成循环。
我们在这个例子中看到:
- 智能体在目标实现之前不断迭代循环:
小安的过程是循环的。它从思考开始,然后通过调用工具采取行动,最后观察结果。如果观察结果表明有错误或数据不完整,小安可以重新进入循环来纠正其方法。
- 工具集成 (Tool Integration):
调用工具(如天气 API)的能力使小安能够超越静态知识并检索实时数据,这是许多 AI 智能体的重要方面。
- 动态适应 (Dynamic Adaptation):
每个循环都允许智能体将新信息(观察)整合到其推理(思考)中,确保最终答案是明智和准确的。
这个例子展示了 ReAct 循环背后的核心概念(这是我们将在下一节中发展的概念):思考、行动和观察的相互作用使 AI 智能体(AI Agent)能够迭代地解决复杂任务。
通过理解和应用这些原则,你可以设计出不仅能够推理其任务,而且能够有效利用外部工具来完成它们的智能体,同时基于环境反馈不断改进其输出。
现在让我们深入了解过程中的各个步骤:思考、行动、观察。
本站实战工作台
不确定性决定自主性
当步骤固定、规则完整、错误代价高时,工作流更便宜、更快、更可审计。只有输入开放、路径需要根据新观察调整、规则无法穷举时,Agent 的灵活性才值得额外风险。
四轴决策矩阵
为任务评分:目标是否明确、步骤是否可预先写出、环境是否经常变化、错误是否可逆。发票字段录入规则稳定且需高准确,优先工作流;旅行研究目标开放且来源变化,可用 Agent,但付款仍回到确定性审批。
| 场景 | 推荐 | 原因 |
|---|---|---|
| 密码重置 | 工作流 | 身份与步骤严格,不能自由探索 |
| 研究综述 | Agent + 护栏 | 资料与路线开放,需要交叉核验 |
| 每日报表 | 工作流 | 重复、可测试、成本敏感 |
| 异常排障 | 混合 | Agent 调查,变更由规则与人批准 |
混合系统通常最好
让确定性代码负责认证、金额、状态转移和最终执行;Agent 负责理解目标、检索证据、提出候选与解释。自主性可以局部存在,不必覆盖全链路。
成本模拟
为四个场景估算每次调用成本、P95 延迟、失败重试和人工复核。再计算每月一万次。一个演示中“只多两秒”的 Agent,在规模下可能变成昂贵瓶颈。
降级实验
先设计 Agent 方案,再尝试删除一个自主决策:能否用分类器、规则表或表单替代?如果用户价值不变,保留更简单方案。反过来,固定工作流若不断增加例外分支,也可能需要把开放判断交给受控 Agent。
通过标准
你的决策文档必须同时写推荐方案、被拒绝方案、代价、风险和重新评估条件。不要用“Agent 更智能”作理由。正确架构是在必要处使用不确定性,在其余地方保留确定性。
上线后继续验证最初选择:统计多少请求真正发生动态改路、多少只是走固定路径。如果绝大多数都相同,可以把高频路径固化为工作流,只把异常交给 Agent;架构应随证据收敛,而不是永久保留演示时的最大自主性。