在搭建 Agent 时,实现其反思与改进可以从以下几个方面考虑:
规划方面:
记忆方面:
工具使用方面: Agent 学习调用外部 API 来获取模型权重中缺失的额外信息,包括当前信息、代码执行能力、对专有信息源的访问等。
吴恩达通过开源项目ChatDev进行举例,你可以让一个大语言模型扮演不同的角色,比如让一个Agent扮演公司CEO、产品经理、设计师、代码工程师或测试人员,这些Agent会相互协作,根据需求共同开发一个应用或者复杂程序。AI Agent基本框架OpenAI的研究主管Lilian Weng曾经写过一篇博客叫做《LLM Powered Autonomous Agents》,其中就很好的介绍了Agent的设计框架,她提出了“Agent = LLM +规划+记忆+工具使用”的基础架构,其中大模型LLM扮演了Agent的“大脑”。Planning(规划)主要包括子目标分解、反思与改进。将大型任务分解为较小可管理的子目标处理复杂的任务。而反思和改进指可以对过去的行动进行自我批评和自我反思,从错误中学习并改进未来的步骤,从而提高最终结果的质量。Memory(记忆)分为短期记忆和长期记忆。其中短期记忆是指的将所有的上下文学习看成是利用模型的短期记忆来学习;而长期记忆是提供了长期存储和召回信息的能力,它们通常通过利用外部的向量存储和快速检索来存储和召回信息。Tools(工具)
智能体是一种自主系统,它可以通过感知环境(通常通过传感器)并采取行动(通常通过执行器)来达到某种目标。在LLM支持的自主Agent系统中,LLM充当Agents的大脑,并辅以几个关键组成部分:规划子目标和分解:Agents将大型任务分解为更小的、可管理的子目标,从而能够有效处理复杂的任务。反思和完善:Agents可以对过去的行为进行自我批评和自我反思,从错误中吸取教训,并针对未来的步骤进行完善,从而提高最终结果的质量。记忆短期记忆:所有的上下文学习都是利用模型的短期记忆来学习。长期记忆:这为Agents提供了长时间保留和回忆(无限)信息的能力,通常是通过利用外部向量存储和快速检索来实现。工具使用Agents学习调用外部API来获取模型权重中缺失的额外信息(通常在预训练后很难更改),包括当前信息、代码执行能力、对专有信息源的访问等。
在LLM支持的自主Agent系统中,LLM充当Agents的大脑,并辅以几个关键组成部分:规划子目标和分解:Agents将大型任务分解为更小的、可管理的子目标,从而能够有效处理复杂的任务。反思和完善:Agents可以对过去的行为进行自我批评和自我反思,从错误中吸取教训,并针对未来的步骤进行完善,从而提高最终结果的质量。记忆短期记忆:我认为所有的上下文学习(参见[提示工程](https://lilianweng.github.io/posts/2023-03-15-prompt-engineering/))都是利用模型的短期记忆来学习。长期记忆:这为Agents提供了长时间保留和回忆(无限)信息的能力,通常是通过利用外部向量存储和快速检索来实现。工具使用Agents学习调用外部API来获取模型权重中缺失的额外信息(通常在预训练后很难更改),包括当前信息、代码执行能力、对专有信息源的访问等。图1.LLM驱动的自主Agents系统概述