【Agent学习】吴恩达的Agent4种推理设计模式
前言
代理工作流(Agentic Workflow)是与大型语言模型(LLM)交互和完成任务的一种新方法。
传统上
传统上,我们与LLM交互时,会直接输入一个提示(prompt),LLM然后会基于这个提示直接生成一个输出结果。这种做法有点像让一个人一次性从头到尾写出一篇文章,没有反复修改和迭代的机会。
代理工作流
代理工作流则更像是将写作过程分解为多个步骤:首先是根据主题大纲写一个草稿,然后是对草稿进行分析、修改和补充,之后是进一步完善和润色,如此反复迭代,直到最终生成期望的结果。
作用
测试任务是:”给定一个非空整数列表,返回所有偶数位置元素的和”。使用零示例提示方法,也就是直接让AI生成解决方案代码,GPT-3.5的正确率仅为48%,GPT-4的正确率为67%,表现都相对一般。
但是,当采用代理工作流程,将任务分解为分析问题、迭代编写代码、测试和调试等多个步骤时,GPT-3.5的表现甚至超过了GPT-4使用零示例提示的正确率。Ng指出,在GPT-4模型上应用代理工作流程,也同样取得了非常出色的结果。
概述
- Reflection:让 Agent 审视和修正自己生成的输出;
- Tool Use:LLM 生成代码、调用 API 等进行实际操作;
- Planning:让 Agent 分解复杂任务并按计划执行;
- Multiagent Collaboration:多个 Agent 扮演不同角色合作完成任务;
详情
Reflection模式(反思)
上下文
让 Agent 审视和修正自己生成的输出。
问题
大模型的生成有时候会犯懒,可能只会部分执行Prompt导致效果有限。
影响因素
Prompt的内容
大模型的性能
解决方案
Reflection模式适用于让LLM自行审视和修正自己生成的输出,对生成内容进行多次自我调优,进而生成更加优质的内容。
应用场景
这种模式涉及AI系统通过自我反馈和迭代完善来提高自身能力。通过这种方式,AI系统能够在生成初始解决方案后,通过进一步的反思和分析,提高其输出的质量和准确性。
这种方法不仅可以用于编程任务,还可以扩展到其他领域,如写作、设计或任何需要迭代改进的任务。
相关论文
“Self-Refine: Iterative Refinement with Self-Feedback” by Madaan et al. (2023)
https://arxiv.org/abs/2303.17651
- 该论文介绍了SELF-REFINE方法,这是一种基于反馈和迭代的方法,用于提高大型语言模型(LLM)的输出质量。通过反馈使用和迭代,SELF-REFINE确保输出达到所需的质量,并且不需要人工协助。实验表明,SELF-REFINE在多种任务中表现出显著的性能提升,特别是在自我反馈和迭代完善的方面。
“Reflexion: Language Agents with Verbal Reinforcement Learning” by Shinn et al. (2023)
https://arxiv.org/abs/2303.11366
- 该论文介绍了Reflexion方法,这是一种基于语言反馈的方法,用于强化语言代理。Reflexion代理通过维护自己的反思文本在事件记忆缓冲区中来提供更好的决策。Reflexion可以接受各种类型和来源的反馈信号,并在多种任务中表现出显著的改进。
模式的流程
第一步:Start节点,用于接收用户的输入。
第二步: 大模型节点,添加用于实际应用的Prompt
第三步:基于其生成结果(第二步中的大模型的生成结果),复制其Prompt,并进一步提示生成短评,达到审视和修正自己生成输出的效果,提高短评生成质量。
第四步: 输出结果。
Tool Use 模式(工具使用)
工具使用范式源于早期计算机视觉领域的探索。由于当时的语言模型无法处理图像,唯一的选择是生成可调用视觉API的函数,如图像生成、目标检测等。随着GPT等多模态语言模型的出现,工具使用概念得以推广,语言模型不再被视为孤立的系统,而是与外部工具和知识库相连的智能代理。
作用
工具使用范式源于早期计算机视觉领域的探索。由于当时的语言模型无法处理图像,唯一的选择是生成可调用视觉API的函数,如图像生成、目标检测等。随着GPT等多模态语言模型的出现,工具使用概念得以推广,语言模型不再被视为孤立的系统,而是与外部工具和知识库相连的智能代理。
相关论文
“Gorilla: Large Language Model Connected with Massive APIs” by Patil et al. (2023)
https://arxiv.org/abs/2305.15334)
- 该论文提出了Gorilla,一种大型语言模型,能够有效地利用API调用。Gorilla通过解决输入参数生成和幻觉问题,在生成准确的API调用方面超过了GPT-4。当与文档检索器相结合时,Gorilla可以适应测试时的文档变化,并缓解幻觉问题。模型与检索系统的集成提高了可靠性。Gorilla将于2023年7月4日开源。
“MM-REACT: Prompting ChatGPT for Multimodal Reasoning and Action” by Yang et al. (2023)
https://arxiv.org/abs/2303.11381
- 该论文提出了MM-REACT,一种基于提示的方法,使ChatGPT能够进行多模态推理和行动。作者设计了一种提示模板,将自然语言指令与图像、网页等多模态输入相结合,从而使ChatGPT能够理解和执行涉及多个模态的复杂任务。他们在多个基准测试中评估了MM-REACT,结果显示其在多模态推理和行动方面表现出色。该工作扩展了大型语言模型在多模态领域的应用。
Planning 模式(规划)
定义
Planning是指训练语言模型进行推理、策划和分解复杂任务的能力。这使得语言模型不仅能回答问题,还能主动制定并执行行动计划。
作用
通过规划能力,语言模型可以自主分解任务,确定所需的子步骤和工具,并协调不同模型的调用。
在Andrew提到的一个场景中,语言模型需要先检测图像中人物的姿势,再调用图像生成模型合成新图像,最后结合语音合成输出结果。
相关论文
“Chain-of-Thought Prompting Elicits Reasoning in Large Language Models” by Wei et al. (2022)
https://arxiv.org/abs/2201.11903
- 该论文提出了”思维链提示”(Chain-of-Thought Prompting)的新方法,旨在促进大型语言模型进行逐步推理。通过特定的提示形式,可以引导语言模型分解复杂问题,逐步推导出解决方案。实验结果表明,思维链提示可显著提高语言模型在算术推理、常识推理和符号推理等任务上的表现。
“HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in Hugging Face” by Shen et al. (2023)
https://arxiv.org/abs/2303.17580
- 该工作将ChatGPT与Hugging Face生态系统中的多个专家模型相结合,构建了一个名为HuggingGPT的多模态AI系统。HuggingGPT能够利用ChatGPT的自然语言理解和生成能力,协调调用计算机视觉、语音识别等专家模型,完成复杂的多模态任务。作者设计了一种提示工程方法,使ChatGPT能够根据任务需求自主决策调用哪些专家模型。
Multiagent Collaboration 模式(多智能体协作)
定义
多智能体协作是指让多个语言模型或智能体通过交互协作来完成复杂任务。例如,可以模拟不同角色的专家(如医生、护士等)共同完成诊断和治疗方案的制定。
作用
该模式的关键在于训练智能体之间进行高效协作,明确分工,避免冲突和矛盾。
相关论文
“Communicative Agents for Software Development” by Qian et al. (2023)
https://arxiv.org/abs/2307.07924
- 该论文提出了ChatDev系统,这是一种基于大型语言模型的多智能体协作框架,用于软件开发任务。ChatDev通过提示语言模型扮演不同角色(如CEO、设计师、开发人员等),模拟一个软件开发团队的协作过程。这些虚拟智能体可以就产品需求、设计、编码等展开持续对话,并最终生成相对完整的程序。实验表明,ChatDev在多个编程任务上表现出色,展现了多智能体协作的潜力。
“AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation” by Wu et al. (2023)
https://arxiv.org/abs/2308.08155
- 该工作提出了AutoGen,一种通过多智能体内部对话实现复杂任务的框架。AutoGen将多个语言模型组合成一个多智能体系统,通过分工协作完成从需求分析到代码生成的全流程。不同的智能体负责不同的子任务,如需求理解、架构设计、代码实现等,并通过自然语言对话进行协调。实验结果显示,AutoGen在代码生成等任务上表现优于单一语言模型,证明了多智能体方法的有效性。
参考文档:
- https://mp.weixin.qq.com/s/Kks2hesOLK6-03n0PLzFfQ
- https://masterdai.blog/zh/exploring-agentic-workflows-a-deep-dive-into-ai-enhanced-productivity-zh