单智能体架构
单智能体架构(Single Agent Architecture)由一个语言模型驱动,独立进行所有的推理,规划和工具执行。智能体被赋子系统提示和完成任务所需的任何工具。在单智能体模式中,没有其他AI智能体的反馈机制,但可以根据人类提供反馈的选项以引导智能体进行自我修正。智能体成功执行目标任务取决于智能体本身的规划是否合理和自我修正机制是否正确。如果没有相应的自我拼谷和定制有效计划能力,单智能体可能陷入无限的执行循环,无法完成给定任务,或返回用户期望的结果。单智能体特别适用于不依赖其他智能返回,有明确目标的任务。
一、ReAct(Reasoning and Acting)
设计原理:
ReAct架构基于“推理-行动”循环。智能体交替进行推理(Reasoning)和行动(Acting),每个行动之后再进行推理,以规划下一步行动。通过这种迭代方式,智能体能够逐步接近任务目标。与传统的直接回答方式相比,ReAct在各种语言和决策任务中表更佳。它的优势在于记录了AI的完整思考过程,提高了结果的可信度和可解释性,在HotpOtQA数据集上,ReAct方法的错误率仅为6%,明显低于其他架构。然而,ReAet也存在局限性,例如可能陷人重复思路而无法产生新想法,为克服这一问题,在任务执行过程中引人人类反馈可能会提高其在实际应用。
env 可以是各种外部系统或工具的抽象接口,典型包括:
搜索引擎 API:如 Google Search API,用于信息检索。
知识库或数据库查询接口:如 Wikipedia API、MySQL 数据库。
计算工具:如 Wolfram Alpha,用于处理数学计算与推理。
浏览器自动化工具:如 Puppeteer 或 Selenium,用于网页交互。
物理环境模拟器:如 OpenAI Gym,用于强化学习任务。
自定义业务系统接口:企业内部的 CRM 系统、ERP 系统、数据分析平台等。
工作流程:
LLM 推理阶段:
LLM(大型语言模型)基于当前任务状态和历史信息,推理并决定下一步执行的动作(Action)。
动作通常以文本形式明确描述,例如:
env 行动执行阶段:
env 接收到智能体给出的动作请求,执行该动作并返回观察结果(Observation)。
例如,env 可以是一个搜索API接口,执行搜索请求后返回结果:
LLM 接收反馈并再次推理:
LLM 接收到环境返回的 Observation 后,再次进行推理(Reasoning),分析反馈结果,并决定下一步行动。
这个过程反复进行,直到任务目标完成。
例子
你在一个房间中央,快速环顾四周,你看到一扇门1、一盏灯2、一个开关3和一张桌子4。
任务是:打开门1,但只有在灯2关闭的情况下才能打开门。
缺陷:
推理和行动循环可能陷入重复或无效行动,导致死循环。
对复杂任务的长期规划能力有限,容易短视。
应用场景:
简单的问答任务
信息检索与查询
工具使用(如调用API、数据库查询)
二、RAISE(Reasoning, Action, Interaction, Self-Evaluation)
设计原理:
RAISE架构在ReAct基础上增加交互(Interaction)和自我评估(Self-Evaluation)机制。智能体执行行动后,通过与环境或用户交互获得反馈,并进行自我评估以修正行动策略。自我评估通过临时存储或者长期存储以往类似案例数据集,提升在较长对话中保存上下文的能力。
工作记忆: 对话历史, 存储器, 任务轨迹
工具库: 数据库,知识库,编程工具
示例: 文档类QA
工作流程:
Reasoning:智能体分析当前状态,推理出下一步行动。
Action:执行推理出的行动。
Interaction:如果任务不明确或需要更多信息,与用户或外部系统交互以获取反馈。
Self-Evaluation:对当前的推理和行动进行评估,判断是否符合目标,是否需要调整策略。
循环上述步骤,直到任务完成。
示例任务:
你在一个房间中央,快速环顾四周,你看到一扇门1、一张桌子2和一个抽屉3。
任务是:打开门1,但需要先找到钥匙,钥匙可能在抽屉里,也可能需要询问他人。
缺陷:
自我评估机制依赖反馈质量,反馈不准确可能误导智能体。
交互环节可能增加执行延迟,降低效率。
应用场景:
智能客服与对话系统
交互式信息获取与咨询
教育类智能辅导工具
三、Reflexion(自反式架构)
设计原理:
Reflexion 在 ReAct 的基础上,增加了一个 自反式推理模块,允许智能体在每次行动后回顾自己的推理过程,发现可能的错误或改进点,从而优化后续推理。
工作流程:
Reasoning:推理当前任务状态,决定行动。
Action:执行行动并观察结果。
Reflection:回顾推理和行动过程,判断是否存在错误或改进空间。如果发现问题,调整推理策略。
循环上述步骤,直到任务完成。
例子
在一个实验室中,任务是激活一台机器,但机器的激活需要满足以下条件:
实验室内的温度必须在 20°C 到 25°C 之间。
电源必须开启。
激活按钮必须按下。
你可以通过以下方式完成任务:
调节空调来改变温度。
检查并打开电源开关。
按下机器的激活按钮。
缺陷:
反思过程耗费额外计算资源,可能降低实时响应效率。
自我反思能力依赖模型内部推理能力,若推理不充分,则反思效果有限。
应用场景:
编程辅助与代码调试
创意写作与内容生成
智能规划与决策辅助
四、AutoGPT+P(AutoGPT增强规划架构)
设计原理:
AutoGPT+P架构在AutoGPT基础上增加了更明确的规划(Planning)模块。智能体首先制定整体规划,再逐步执行规划中的子任务,规划模块负责目标分解、行动排序和进度跟踪。
规划(Planning)
任何一个大语言模型都具备一定的规划能力。当与 Agent 的其他模块相结合时,便能进一步提升整个任务的完成度。简单来说,当 LLM 没有其他模块辅助时,只能进行一些简单的规划推理,例如 Cot、Tot、Got、ReWOO 等,这种情况被称为无反馈规划,即 LLM 制定规划后,不会得到外部反馈就直接生成结果。包含单路径推理、多路径推理等方法
摘自 知乎@Anooyrnan
工作流程:
Initial Planning:根据任务目标,生成一个初步的行动计划。
Execution:逐步执行计划中的每一步。
Dynamic Adjustment:根据观察结果,动态调整计划。
循环上述步骤,直到任务完成。
例子
在一个实验室中,任务是启动一台大型实验设备,但启动过程需要完成以下步骤:
确保实验室内的温度在 15°C 到 25°C 之间。
检查设备的三个模块(模块A、模块B、模块C)是否正常工作。如果某个模块出现问题,需要修复它。
获取启动权限密码(密码可能藏在实验室的文件柜里,也可能需要通过实验室的终端计算)。
输入密码并启动设备。
你可以通过以下方式完成任务:
调节空调改变温度。
检查并修复模块。
搜索文件柜或使用终端获取密码。
缺陷:
规划模块复杂度高,可能出现规划过于复杂或不切实际。
执行过程中若环境变化较大,原规划可能失效,需频繁重新规划。
应用场景:
自动化业务流程管理
复杂项目的任务分解与管理
长期目标实现(如个人助手、日程管理)
五、LATS(Language Agent Tree Search)
设计原理:
LATS基于树搜索(Tree Search)方法进行任务规划与执行。智能体将可能的行动路径表示为树结构,通过搜索算法选择最优路径执行,以达到目标。
工作流程:
树搜索规划:生成多种可能的行动路径,构建行动树。
路径评估与选择:评估各路径的预期效果,选择最优路径。
行动执行与反馈:执行所选路径的行动,更新树结构并进行下一轮搜索。
例子
你在一个密室中,任务是打开一扇密码锁门。密码是一个三位数,但你没有直接的密码提示。房间内有以下线索:
墙上的画框背后可能有一部分密码。
桌子上的抽屉可能有另一部分密码。
一个保险箱可能有最后一部分密码,但需要钥匙才能打开。
钥匙可能藏在椅子下或地毯下。
你需要通过探索和推理,找到完整的密码并打开门。
缺陷:
树搜索空间可能指数级增长,搜索效率低。
评估函数设计不当可能导致路径选择错误。
应用场景:
游戏AI与博弈系统
优化与搜索问题(如路线规划)
策略制定与优化任务