Skip to content

3. 认知架构:Agent 是如何工作的

3.1 类比:厨师做菜

为了更好地理解 Agent 的认知架构,我们可以用厨师做菜来类比:

  • 模型:厨师的大脑,负责规划和决策
  • 工具:厨具和食材,提供必要的资源
  • 编排层:厨师的工作流程,协调各个步骤

就像厨师需要:

  1. 理解食谱(任务理解)
  2. 准备食材(工具使用)
  3. 按照步骤烹饪(规划执行)
  4. 尝味调整(评估学习)

Agent 也需要类似的认知过程来完成任务。

3.2 Agent 推理框架

3.2.1 ReAct

ReAct(Reasoning + Acting)是一种结合推理和行动的框架,通过"思考→行动→观察→思考"的循环来解决问题。

工作流程

  1. 思考(Reasoning):分析任务,制定计划
  2. 行动(Acting):执行计划,使用工具
  3. 观察(Observing):获取工具执行结果
  4. 思考(Reasoning):基于结果调整计划

优势

  • 能够处理需要多步骤推理的复杂任务
  • 结合了推理和行动,提高了任务完成的准确性
  • 适合需要与外部世界交互的任务

示例场景

  • 预订航班(需要查询航班、选择航班、确认预订)
  • 研究某个主题(需要搜索信息、分析信息、总结结果)

3.2.2 Chain-of-Thought (CoT)

Chain-of-Thought(思维链)是一种让模型逐步展示推理过程的方法,通过明确的推理步骤来提高复杂问题的解决能力。

工作流程

  1. 接收任务
  2. 生成逐步的推理过程
  3. 基于推理得出结论

优势

  • 提高了模型在复杂推理任务上的性能
  • 使模型的思考过程更加透明
  • 有助于发现和纠正推理错误

示例场景

  • 数学问题求解
  • 逻辑推理任务
  • 多步骤的文字问题

3.2.3 Tree-of-Thoughts (ToT)

Tree-of-Thoughts(思维树)是一种更高级的推理框架,它探索多种可能的推理路径,类似于人类的思考过程。

工作流程

  1. 接收任务
  2. 生成多个可能的思考路径
  3. 评估每个路径的可行性
  4. 选择最佳路径继续探索
  5. 最终得出结论

优势

  • 能够处理更复杂的问题
  • 考虑多种可能的解决方案
  • 提高了问题解决的质量

示例场景

  • 复杂的数学问题
  • 创意写作
  • 策略游戏

3.3 ReAct 例子

让我们通过一个具体的例子来理解 ReAct 框架:

任务:预订从北京到上海的航班,明天出发,价格不超过1000元。

ReAct 流程

  1. 思考:我需要预订从北京到上海的航班,明天出发,预算1000元。首先,我应该查询明天从北京到上海的航班信息。

  2. 行动:调用航班查询工具,搜索北京到上海明天的航班。

  3. 观察:工具返回了多个航班选项,其中有几个价格在1000元以下的航班。

  4. 思考:找到了几个符合预算的航班,我需要选择一个合适的。我应该查看这些航班的具体信息,包括起飞时间、航空公司、航班号等。

  5. 行动:调用航班详情查询工具,获取这些航班的详细信息。

  6. 观察:工具返回了详细的航班信息,包括起飞时间、航空公司、航班号、价格等。

  7. 思考:根据返回的信息,我选择一个起飞时间合适、价格在预算内的航班。然后我需要预订这个航班。

  8. 行动:调用航班预订工具,预订选定的航班。

  9. 观察:工具返回预订成功的信息,包括预订号、票价等。

  10. 思考:预订成功,任务完成。我应该总结一下预订的航班信息。

  11. 行动:总结预订结果,向用户报告。

通过这个例子,我们可以看到 ReAct 框架如何通过思考-行动-观察的循环来完成复杂的任务。

3.4 认知架构的设计考虑

3.4.1 模块化设计

  • 好处:便于扩展和维护
  • 实现:将模型、工具、编排层分离
  • 优势:可以独立更新各个组件

3.4.2 灵活性

  • 好处:适应不同任务
  • 实现:设计通用的接口和抽象
  • 优势:可以快速适应新的任务和场景

3.4.3 可解释性

  • 好处:理解 Agent 的决策过程
  • 实现:记录和展示推理过程
  • 优势:提高用户信任,便于调试和改进

3.4.4 鲁棒性

  • 好处:处理异常情况
  • 实现:错误处理和恢复机制
  • 优势:提高系统的可靠性

3.5 小结

  • Agent 的认知架构类似于人类的思考和行动过程
  • 推理框架(ReAct、CoT、ToT)是 Agent 智能的核心
  • ReAct 通过思考-行动-观察的循环来解决复杂任务
  • 认知架构的设计需要考虑模块化、灵活性、可解释性和鲁棒性

现在你已经了解了 Agent 的认知架构和工作原理,接下来让我们探讨工具:模型通往现实世界的关键。