主题
通过思考-行动-观察循环理解 AI 智能体
在本节中,我们将探索完整的 AI 智能体工作流程,这是我们定义的思考-行动-观察 (Thought-Action-Observation) 循环。
然后,我们将探讨这些步骤中的每一个。
核心组件
智能体在一个持续的循环中工作:思考 (Thought) → 行动 (Action) 和 观察 (Observe)。
让我们一起分解这些行动:
- 思考 (Thought):智能体的大语言模型
LLM部分决定下一步应该是什么 - 行动 (Action):智能体通过使用相关参数调用工具来采取行动
- 观察 (Observation):模型对工具的响应进行反思
( 思考 - 行动 - 观察 ) 循环
这三个组件在一个持续的循环中协同工作。用编程的类比来说,智能体使用一个 while 循环:循环持续进行,直到智能体的目标被实现。
视觉上,它看起来是这样的:
加载图表中...
在许多智能体框架中,规则和指南直接嵌入到系统提示中,确保每个循环都遵循定义的逻辑。
在一个简化版本中,我们的系统提示可能看起来像这样:
你是一个有用的AI助手。你拥有访问各种工具的能力来帮助回答用户的问题。
可用工具:
- get_weather: 获取指定位置的天气信息
遵循这个思考过程:
1. 思考:分析用户的请求,确定需要什么信息
2. 行动:如果需要,调用相应的工具
3. 观察:分析工具返回的结果
4. 重复直到你有足够的信息来回答用户的问题
始终以"思考:"开始你的推理过程,然后说明你的行动计划。我们在这里看到,在系统消息中我们定义了:
- 智能体的行为
- 我们的智能体可以访问的工具,就像我们在上一节中描述的那样
- 思考-行动-观察循环,我们将其融入到大语言模型
LLM指令中
让我们看一个小例子,在深入研究每个步骤之前理解这个过程。
小马懂天气(智能体)
我们创建了: 小马懂天气(智能体)
用户问小马:"今天上海的天气如何?"
🤔 思考 (Thought)
内部推理:
在收到查询后,小马懂天气(智能体) 的内部对话可能是:
"用户需要上海的当前天气信息。我可以访问一个获取天气数据的工具。首先,我需要调用天气API来获取最新的详细信息。"
这一步显示了智能体将问题分解成步骤:首先,收集必要的数据。
加载图表中...
⚡ 行动 (Action)
工具使用:
基于其推理和小马懂天气(智能体) 知道有一个 get_weather 工具的事实,小马懂天气(智能体) 准备一个 JSON 格式的命令来调用天气 API 工具。例如,它的第一个动作可能是:
思考: 我需要检查上海的当前天气。
json
{
"action": "get_weather",
"action_input": {
"location": "上海"
}
}在这里,动作清楚地指定了要调用哪个工具(如 get_weather)和要传递的参数("location": "上海")。
👀 观察 (Observation)
来自环境的反馈:
在工具调用之后,小马懂天气(智能体) 接收到一个观察结果。这可能是来自 API 的原始天气数据,如:
"上海当前天气:多云,35°C,湿度60%。"这个观察结果然后被添加到提示中作为额外的上下文。它作为现实世界的反馈,确认行动是否成功并提供所需的细节。
🔄 更新的思考 (Updated Thought)
反思:
获得观察结果后,小马懂天气(智能体) 更新其内部推理:
"现在我有了上海的天气数据,我可以为用户编写答案了。"
✅ 最终行动 (Final Action)
然后小马懂天气(智能体) 生成一个按照我们告诉它的方式格式化的最终响应:
思考: 我现在有了天气数据。上海当前天气多云,温度35°C,湿度60%。
最终答案: 上海当前天气多云,温度35°C,湿度60%。
这个最终行动将答案发送回用户,完成循环。
🔍 关键洞察
我们在这个例子中看到:
1. 循环迭代直到目标实现
小马懂天气(智能体) 的过程是循环的。它从思考开始,然后通过调用工具采取行动,最后观察结果。如果观察结果表明有错误或数据不完整,小马懂天气(智能体) 可以重新进入循环来纠正其方法。
2. 工具集成
调用工具(如天气 API)的能力使小马懂天气(智能体) 能够超越静态知识并检索实时数据,这是许多 AI 智能体的重要方面。
3. 动态适应
每个循环都允许智能体将新信息(观察)整合到其推理(思考)中,确保最终答案是明智和准确的。
📊 完整流程图
加载图表中...
🎯 设计原则
在实现思考-行动-观察循环时,考虑以下原则:
1. 明确的思考过程
- 智能体应该明确说明其推理过程
- 每个决策都应该有清晰的逻辑依据
2. 有目的的行动
- 每个行动都应该朝着解决用户问题的方向前进
- 避免无意义或重复的工具调用
3. 反思性观察
- 智能体应该分析工具结果的质量和相关性
- 识别是否需要额外的信息或行动
4. 适应性循环
- 系统应该能够根据观察结果调整策略
- 具备错误恢复和重试机制
🔮 下一步
这个例子展示了 ReAct 循环背后的核心概念(这是我们将在下一节中发展的概念):思考、行动和观察的相互作用使 AI 智能体能够迭代地解决复杂任务。
通过理解和应用这些原则,你可以设计出不仅能够推理其任务,而且能够有效利用外部工具来完成它们的智能体,同时基于环境反馈不断改进其输出。
现在让我们继续了解过程中的各个步骤:思考、行动、观察。