在文章《AI大模型实战篇:Basic Reflection,AI Agent的旁边互搏之术》中,风叔结合事理和详细源代码,详细先容了第一种侧重反思的AI Agent设计模式,即Basic Reflection。
Basic Reflection 的思路非常朴素,便是通过旁边互搏让两个Agent相互进化,实现本钱也较低。

但是在实际运用中,Basic Reflection的Generator天生的结果可能会过于发散,和我们哀求的结果相去甚远。
同时,当面对一些繁芜度很高的问题时,Basic Reflection框架也难以办理。
有两种方法来优化Basic Reflection,一种是边推理边实行的Self Discover模式,一种是增加了强化学习的Reflexion模式。

上篇文章《AI大模型实战篇:Self Discover框架,切切想不到Agent还能这样推理》,风叔沿着“边推理边实行”的优化路线先容了Self Discover。
这篇文章中,风叔沿着“强化学习”这条优化路线,详细先容下Reflexion设计模式。

01 Reflexion的观点

Reflexion实质上是强化学习,可以理解为是Basic reflection 的升级版。
Reflexion机制下,全体架构包括Responder和Revisor,和Basic Reflection机制中的Generator和Reflector有点类似。
但不同之处在于, Responder自带批驳式思考的陈述,Revisor会以 Responder 中的批驳式思考作为高下文参考对初始回答做修正。
此外,Revisor还引入了外部数据来评估回答是否准确,这使得反思的内容更加具备可靠性。

AI大年夜模型实战篇Reflexion为AI Agent开启强化进修之路

下图是Reflexion的事理:

Responder吸收来自用户的输入,输出initial response,个中包括了Response、Critique和工具指示(示例图中是Search)Responder将Initial Response给到实行工具,比如搜索接口,对Initial Response进行初步检索将初步检索的结果给到Revisor,Revisor输出修正后的Response,并给出引用来源Citations再次给到实行工具,循环往来来往,直到循环次数Revisor将终极结果输出给用户

02 Reflexion的实现过程

下面,风叔通过实际的源码,详细先容Basic Reflection模式的实现方法。
关注公众年夜众号【风叔云】,回答关键词【Reflexion源码】,可以获取到Reflexion设计模式的完全源代码。

第一步 构建Responder

不才面的例子中,我们先构建一个Responder

为Responder确定Prompt模板,并建立一个Responder。
通过Prompt,我们见告Responder,“你须要反思自己天生的答案,要最大化严谨程度,同时须要搜索查询最新的研究信息来改进答案”。

第二步 构建Revisor

接下来我们开始构建Revisor,通过Prompt见告Revisor

该当利用之前天生的critique为答案添加主要信息必须在修正后的答案中包含引用,以确保答案来源可验证在答案底部要添加参考,形式为[1] https://example.com利用之前的批评从答案中删除多余的信息,并确保其不超过 250 个字。

第三步构建Tools

接下来,创建一个节点来实行工具调用。
虽然我们为 LLM 授予了不同的模式名称,但我们希望它们都路由到同一个工具。

第四步构建Graph

下面,我们构建流程图,将Responder、Revisor、工具等节点添加进来,循环实行并输出结果。

以上内容便是Reflexion的核心思想,实在完全的Reflexion框架要比上文先容的更繁芜,包括Actor、Evaluator和self-Reflection三块,上文的内容只涵盖了Actor。

参与者(Actor):紧张浸染是根据状态不雅观丈量天生文本和动作。
参与者在环境中采纳行动并接管不雅观察结果,从而形成轨迹。
前文所先容的Reflexion Agent,实在指的便是这一块评估者(Evaluator):紧张浸染是对参与者的输出进行评价。
详细来说,它将天生的轨迹(也被称作短期影象)作为输入并输出褒奖分数。
根据人物的不同,利用不同的褒奖函数(决策任务利用LLM和基于规则的启示式褒奖)。
自我反思(Self-Reflection):由大措辞模型承担,能够为未来的试验供应宝贵的反馈。
自我反思模型利用褒奖旗子暗记、当前轨迹和其持久影象天生详细且干系的反馈,并存储在影象组件中。
Agent会利用这些履历(存储在长期影象中)来快速改进决策。

关于Reflexion完全的实现方案可参考:https://github.com/noahshinn/reflexion

总结

Reflexion是我们先容的第一个带强化学习的设计模式,这种模式最适宜以下情形:

智能体须要从考试测验和缺点中学习:自我反思旨在通过反思过去的缺点并将这些知识纳入未来的决策来帮助智能体提高表现。
这非常适宜智能体须要通过反复试验来学习的任务,例如决策、推理和编程。

传统的强化学习方法失落效:传统的强化学习(RL)方法常日须要大量的演习数据和昂贵的模型微调。
自我反思供应了一种轻量级替代方案,不须要微调底层措辞模型,从而使其在数据和打算资源方面更加高效。

须要细致入微的反馈:自我反思利用措辞反馈,这比传统强化学习中利用的标量褒奖更加细致和详细。
这让智能体能够更好地理解自己的缺点,并在后续的试验中做出更有针对性的改进。

但是,Reflexion也存在一些利用上的限定:

依赖自我评估能力:反思依赖于智能体准确评估其表现并产生有用反思的能力。
这可能是具有寻衅性的,尤其是对付繁芜的任务,但随着模型功能的不断改进,估量自我反思会随着韶光的推移而变得更好。
长期影象限定:自我反思利用最大容量的滑动窗口,但对付更繁芜的任务,利用向量嵌入或 SQL 数据库等高等构造可能会更有利。
代码天生限定:测试驱动开拓在指定准确的输入输出映射方面存在限定(例如,受硬件影响的非确定性天生器函数和函数输出)。

不才一篇文章中,风叔将先容目前最强大的AI Agent设计模式,集多种技能的集大成者,LATS。

本文由大家都是产品经理作者【风叔】,微信公众年夜众号:【风叔云】,原创/授权 发布于大家都是产品经理,未经容许,禁止转载。

题图来自Unsplash,基于 CC0 协议。