Agent Framework
Agent Framework
1.MetaGPT
思想:将 LLM 按照“公司组织”方式组织起来,通过 CEO、CTO、Engineer 等角色协作分工,实现任务流水线式执行,适用于复杂项目如代码生成。
机制:多角色扮演 + 职责分工 + 工作流
应用场景:工程项目开发、任务拆解式创作
论文:https://arxiv.org/abs/2308.00352
2.SayCan
思想:将语言模型的“说(Say)”与现实世界中的“做(Can)”结合起来,语言模型生成可行动作候选,环境中的执行器根据可行性进行排序,从而实现语言到实际动作的映射。强调语言理解 + 动作可行性评估的协同。
机制:语言模型生成意图 + 价值函数评估执行可行性
应用场景:机器人控制、语言驱动的实际任务执行、家庭服务机器人
论文:https://arxiv.org/abs/2204.01691
3.ReAct
思想:结合“思维链(CoT)”与“动作反应”,LLM 在每一步都可以思考(reason)并行动(act),不断循环直到达成目标或结束推理。机制:推理链 + 工具调用嵌入论文:https://arxiv.org/abs/2210.03629应用场景:搜索问答、复杂交互式推理任务
4.Reflexion
思想:Agent 通过执行失败后自动回顾执行过程、评估原因,并用新的提示或策略重启流程,实现自我学习和改进,模型能通过回顾自己的行为,反思错误,并基于反思调整策略,从而提升在复杂任务中的表现。
机制:
- 任务执行:模型首次尝试完成一个任务,可能会失败或产生次优结果。
- 错误回顾:模型对失败的过程进行回顾,总结错误原因。
- 语言化反思:将错误总结用自然语言表述,作为“反思内容”。
- 策略修正:模型在下一次尝试中参考先前的反思内容,调整策略执行任务。
- 迭代优化:多轮反思与尝试过程中,模型逐步优化其行为和任务完成能力。
应用场景:
代码生成与调试:适用于需要逐步迭代修复错误的编程任务。
文本生成优化:例如写作任务中,生成初稿后对内容进行自我批评并修改。
强化学习 + LLM:在基于语言模型的强化学习任务中作为改进策略的一部分。
复杂推理任务:如数学、多轮问答等,通过反思逐步接近正确答案。
论文:https://arxiv.org/abs/2303.11366
SwiftSage
思想:受到人类“双系统思维理论”启发,SwiftSage 结合快速、直觉式的“System 1”与缓慢、理性推理的“System 2”,通过快慢思维协同提升复杂任务中的推理与规划能力。
机制:
- Swift 模块:基于行为克隆的轻量模型,快速生成直觉性动作。
- Sage 模块:使用 GPT-4 等大模型进行深度子目标规划和环境响应推理。 二者通过启发式算法调度,实现效率与能力兼备的智能体。
应用场景:复杂交互式任务、虚拟环境操作(如 ScienceWorld)、长期规划、异常处理、多阶段任务执行等。
论文:https://arxiv.org/html/2305.17390
Creator
思想:不同于传统方法只使用预设工具,CREATOR 允许模型动态生成工具来适应复杂任务,从而增强其推理与执行能力。强调“工具创建”作为连接抽象思维与具体行动的桥梁。
机制:模型首先根据任务需求设计工具的定义(包括功能描述和代码实现),然后使用这些自建工具完成复杂任务。整个过程通过“抽象工具创建 + 具体执行解耦”的方式进行,同时搭配 Creation Challenge 数据集进行评估。
应用场景:数学问题求解、多样化表格处理、复杂任务中的工具泛化、智能体系统的自我进化与学习等。
论文:https://arxiv.org/abs/2305.14318
Toolformer
思想:Toolformer 提出了一种自监督学习方法,使语言模型能够自主学习如何使用外部工具(如计算器、搜索引擎、翻译系统等)。通过在训练过程中引入 API 调用的示例,模型学习在适当的上下文中调用合适的工具,并将工具的输出整合到生成的文本中,从而提升其在多种任务中的表现。
机制:
- 自监督数据生成:利用少量的 API 调用示例,模型生成包含工具调用的训练数据。
- 工具调用学习:模型在训练中学习识别何时需要调用工具、调用哪些工具以及如何处理工具的输出。
- 无缝集成:在推理过程中,模型能够自然地将工具的调用和输出整合到生成的文本中,提升整体的连贯性和准确性。
应用场景:
- 知识查询:在需要查询外部知识库的任务中,模型能够自动调用搜索引擎或问答系统获取信息。
- 计算任务:在涉及数学计算的任务中,模型能够调用计算器工具,提升计算的准确性。
- 多语言处理:在需要翻译的任务中,模型能够调用翻译系统,实现多语言的无缝转换。
论文链接:https://arxiv.org/abs/2302.04761
MemGPT
思想:MemGPT 受到传统操作系统中分层内存管理的启发,旨在解决大型语言模型(LLM)在处理长文本和多轮对话时受限于上下文窗口大小的问题。通过模拟操作系统的虚拟内存机制,MemGPT 实现了对 LLM 上下文的动态扩展,使模型能够处理超出其原始上下文限制的任务。
机制:
- 虚拟上下文管理:引入类似操作系统中虚拟内存的概念,将上下文划分为不同的“内存层”,如“主存”(active context)和“辅助存储”(external memory),并在它们之间智能调度信息。
- 中断机制:设计了类似操作系统中断的控制流管理,使 LLM 能够在需要时中断当前任务,切换到其他任务或恢复先前的上下文。
- 上下文分页:实现了类似分页的机制,根据任务需求将相关信息加载到活动上下文中,优化了内存使用效率。
应用场景:
- 长文档分析:能够处理超出 LLM 原始上下文窗口的大型文档,实现深入的内容理解和分析。
- 多轮对话系统:支持持续的对话历史记忆,使聊天机器人能够进行更连贯和上下文相关的交流。
- 复杂任务管理:适用于需要长期记忆和任务切换的复杂应用,如项目管理助手或多任务处理系统。
论文链接:https://arxiv.org/abs/2310.08560
Plan-and-Solve
思想:Plan-and-Solve 提出将大型语言模型(LLM)的推理过程分为两个明确阶段:计划(Plan) 和 求解(Solve)。相比于传统 Chain-of-Thought 推理方法,Plan-and-Solve 能有效缓解“思维混乱”或“中间步骤不合理”的问题。其核心在于:先引导模型生成一个完整、清晰的求解策略或步骤(即计划),再根据这个计划去执行具体推理。
该方法受人类思考方式启发——我们常常在动手前先制定解决问题的策略,再根据这个策略一步步执行。
机制:
Plan 阶段:模型根据任务描述生成结构化的解题计划。
Solve 阶段:模型不再自由生成推理链,而是依照既定计划有序求解。
Prompt 工程:核心在于设计分阶段的 Prompt,引导 LLM 输出更加稳定、结构清晰的推理流程。
应用场景:
数学推理:尤其是中学/奥数类复杂题目,减少模型“瞎猜”或跳步问题。
多步逻辑问答:如 GRE、GMAT 推理类题目等。
医学诊断、法律分析等需要严谨、计划驱动型决策的任务。
适用于“模型太聪明但经常乱来”的 LLM 推理校正策略。
论文链接:https://arxiv.org/abs/2305.04091
ARQs
思想:专注推理查询(ARQs)旨在解决大型语言模型(LLMs)在指令遵循、决策准确性和防止幻觉方面的关键问题。其核心思想是通过结构化、分阶段的推理蓝图来系统性地引导模型,确保其在生成响应时严格遵守预定义的指令和约束。这种方法特别关注在复杂或多轮交互中保持模型的推理一致性,避免“对齐漂移”(即模型逐渐偏离原始指令)和“情境遗忘”(模型忽略早期细节而优先考虑近期信息)等问题。
机制与工作原理
ARQs通过一系列精心设计的阶段和结构化查询来实现其目标:
1.结构化查询蓝图
ARQs使用基于JSON的结构化模式,在推理过程的关键决策点上引导模型。这些查询在响应生成前会提醒模型注意关键指令和约束,确保其不会偏离预定义的指南。
2.多阶段推理过程
目标化结构化查询:首先向模型发送针对性的查询,强化关键指令。
分步任务查询:然后处理一系列分步查询,以加强特定任务的推理。
验证检查:最后,模型会检查其响应是否符合预定义的正确性标准,然后再最终输出。这个验证机制是防止对齐漂移的关键,即使在长对话中也能确保模型专注于约束条件。
3.效率优化
研究表明,ARQs的结构化特性使得其在分类任务中与传统的思维链(CoT)方法相比,减少了29%的令牌(Token)使用,提高了推理效率
应用场景:
ARQs的特性使其特别适用于对准确性、安全性和一致性要求较高的领域:
金融服务:例如贷款审核、投资建议和欺诈检测等场景,其中严格遵循规章和指南至关重要,错误可能导致严重后果。
客户支持系统:用于处理复杂的客户查询,需要准确理解并坚持公司政策、产品细节和先前互动历史的高效、准确客服机器人。
医疗健康咨询(潜在应用):尽管搜索结果未明确提及,但ARQs减少幻觉和提高准确性的特点,使其有望在需要提供可靠医疗信息或初步分诊建议的系统中发挥作用。
法律与合规(潜在应用):同样基于其高准确性,ARQs可用于辅助法律文档审查、合同分析或合规检查,确保所有输出符合法律条文和内部规定。