主题
观察:整合反馈以反思和调整
观察(Observation) 是智能体感知其行动结果的方式。
它们提供关键信息,为智能体的思考过程提供燃料并指导未来行动。
这些是来自环境的信号——无论是 API 返回的数据、错误信息还是系统日志——它们指导着下一轮的思考循环。
观察阶段的核心过程
在观察阶段,智能体会:
1. 🔍 收集反馈
接收数据或确认其行动是否成功
加载图表中...
2. 📝 附加结果
将新信息整合到现有上下文中,有效更新记忆
3. 🔄 调整策略
使用更新后的上下文来优化后续思考和行动
实际案例演示
例如,当天气 API 返回数据 "上海多云,35°C,60% 湿度"时,该观察结果会被附加到智能体的记忆(位于提示末尾)。
用户:今天上海的天气怎么样?
思考:我需要获取上海的天气信息。
行动:调用 get_weather("上海")
观察:get_weather 返回值:上海多云,35°C,60% 湿度
思考:我已经获得了完整的天气信息,可以为用户提供答案。
最终回答:今天上海天气多云,温度35°C,湿度60%。智能体随后利用这些信息决定是否需要额外数据,或是否准备好提供最终答案。
💡 核心价值
这种迭代式反馈整合确保智能体始终保持与目标的动态对齐,根据现实结果不断学习和调整。
观察的多样性
这些观察可能呈现多种形式,从读取网页文本到监测机械臂位置。这可以视为工具"日志",为行动执行提供文本反馈。
观察类型示例:
| 观察类型 | 示例 | 应用场景 |
|---|---|---|
| 系统反馈 | 错误信息、成功通知、状态码 | API调用、文件操作 |
| 数据变更 | 数据库更新、文件系统修改、状态变更 | 数据处理、系统维护 |
| 环境数据 | 系统数据、资源使用情况 | 物理世界交互、监控 |
| 响应分析 | API 响应、查询结果、计算输出 | 信息检索、计算任务 |
结果如何被附加?
执行操作后,框架按以下步骤处理:
加载图表中...
详细流程说明
- 解析操作:识别要调用的函数和使用的参数
- 执行操作:实际调用工具或API
- 将结果附加:将执行结果作为观察(Observation)添加到上下文
🔍 观察的重要性
反馈驱动决策
观察提供的反馈直接影响智能体的下一步决策:
python
# 示例:基于观察调整策略
if observation.contains("error"):
# 调整策略,尝试其他方法
next_action = "尝试其他方法"
elif observation.contains("success"):
# 继续当前路径
next_action = "继续当前路径"
else:
# 需要更多信息
next_action = "收集更多数据"学习和适应
通过观察,智能体能够:
- ✅ 验证假设:确认预期结果是否实现
- ✅ 发现错误:及时识别和处理异常
- ✅ 优化路径:基于实际效果调整策略
- ✅ 累积经验:建立对环境的更深理解
🎯 最佳实践
1. 全面观察
✅ 好的观察:
- 成功:API 返回了 200 状态码,数据包含 温度: 35°C
- 部分成功:获得了温度数据,但缺少湿度信息
- 失败:API 返回 404 错误,位置名称可能不正确
❌ 差的观察:
- API 调用完成
- 获得了一些数据
- 出现了错误2. 结构化处理
json
{
"status": "success|error",
"data": "实际返回的数据",
"metadata": {
"timestamp": "2025-08-18T10:30:00Z",
"source": "weather_api",
"temperature": "35°C",
"humidity": "60%",
"location": "上海"
}
}3. 错误恢复
观察到错误时的处理流程:
1. 分析错误类型和原因
2. 判断是否可以重试
3. 尝试替代方案
4. 如果无法解决,向用户报告🚀 实际应用场景
场景1:智能客服
用户:我想查看我的订单状态
行动:查询订单数据库
观察:找到订单 #12345,状态为"已发货"
思考:用户询问得到解答,提供详细信息
回复:你的订单 #12345 已发货,预计明天到达场景2:代码调试助手
用户:这段代码为什么运行错误?
行动:运行代码并捕获错误
观察:NameError: name 'varible' is not defined
思考:发现拼写错误,'variable'被写成了'varible'
回复:代码第 3 行有拼写错误,应该是'variable'而不是'varible'🔮 与整个循环的关系
观察是思考-行动-观察循环中的关键环节:
加载图表中...
每个观察都为下一轮思考提供新的信息,使智能体能够:
- 🎯 更准确地理解当前状态
- 🧠 做出更明智的决策
- 🔧 选择更合适的行动