Skip to content

观察:整合反馈以反思和调整

观察(Observation) 是智能体感知其行动结果的方式。

它们提供关键信息,为智能体的思考过程提供燃料并指导未来行动。

这些是来自环境的信号——无论是 API 返回的数据、错误信息还是系统日志——它们指导着下一轮的思考循环。

观察阶段的核心过程

在观察阶段,智能体会:

1. 🔍 收集反馈

接收数据或确认其行动是否成功

加载图表中...

2. 📝 附加结果

将新信息整合到现有上下文中,有效更新记忆

3. 🔄 调整策略

使用更新后的上下文来优化后续思考和行动

实际案例演示

例如,当天气 API 返回数据 "上海多云,35°C,60% 湿度"时,该观察结果会被附加到智能体的记忆(位于提示末尾)。

用户:今天上海的天气怎么样?

思考:我需要获取上海的天气信息。

行动:调用 get_weather("上海")

观察:get_weather 返回值:上海多云,35°C,60% 湿度

思考:我已经获得了完整的天气信息,可以为用户提供答案。

最终回答:今天上海天气多云,温度35°C,湿度60%。

智能体随后利用这些信息决定是否需要额外数据,或是否准备好提供最终答案。

💡 核心价值

这种迭代式反馈整合确保智能体始终保持与目标的动态对齐,根据现实结果不断学习和调整。

观察的多样性

这些观察可能呈现多种形式,从读取网页文本到监测机械臂位置。这可以视为工具"日志",为行动执行提供文本反馈。

观察类型示例:

观察类型示例应用场景
系统反馈错误信息、成功通知、状态码API调用、文件操作
数据变更数据库更新、文件系统修改、状态变更数据处理、系统维护
环境数据系统数据、资源使用情况物理世界交互、监控
响应分析API 响应、查询结果、计算输出信息检索、计算任务

结果如何被附加?

执行操作后,框架按以下步骤处理:

加载图表中...

详细流程说明

  1. 解析操作:识别要调用的函数和使用的参数
  2. 执行操作:实际调用工具或API
  3. 将结果附加:将执行结果作为观察(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'

🔮 与整个循环的关系

观察是思考-行动-观察循环中的关键环节:

加载图表中...

每个观察都为下一轮思考提供新的信息,使智能体能够:

  • 🎯 更准确地理解当前状态
  • 🧠 做出更明智的决策
  • 🔧 选择更合适的行动