Agent学习——反思模式

之前关于Agent学习中,主要涉及提示链(顺序执行)、路由(动态选择)、并行(并发),这三个部分都是为了是的智能体能够应对复杂的任务,但是其输出的结果是肯定有不稳定的因素的 。所以这里接下来进一步学习反思模式(像人一样根据自身的状态进行自我纠正,自我改进,本质上是循环反馈 )故需要嵌套循环,以及依据评估结果给出终止循环的条件

反思模式一般的实现方式是:借助另外一个大模型,并给他一个提示身份(如高级建筑工程师身份),让其对另外一个直接参与内容生成的Agent输出的内容进行评估

这种方式使得各个Agent之间的职责被分离 ,用与内容生成的Agent专精于内容的产生,评估该Agent的Agent能专精于Agent的评估

其开发工具为:Langchain和Google ADK

python 复制代码
实现逻辑:
循环条件:当前轮次 < 最大轮数
每次循环:
    
    A. 生成/优化阶段
    ┌─ 如果 当前轮次 == 0:
    │     输入 = 任务描述
    │     提示 = "请完成这个任务"
    └─ 否则:
         输入 = 对话历史 + 最新反馈
         提示 = "请根据反馈优化结果"
    
    B. 调用AI生成
    ┌─ 发送输入给AI模型
    │  接收AI的回复
    │  当前结果 = AI回复内容
    └─ 记录到历史:对话历史.append({"role": "assistant", "content": 当前结果})
    
    C. 评估阶段
    ┌─ 构建评估提示:
    │  "你是一个严格的评估者。"
    │  "原始任务:[任务描述]"
    │  "当前结果:[当前结果]"
    │  "如果完美,回复'满意',否则提改进建议。"
    └─ 获取评估结果 = AI回复
    
    D. 终止判断
    ┌─ 如果 评估结果包含"满意":
    │     结束循环
    │  否则如果 当前轮次 == 最大轮数-1:
    │     结束循环
    └─ 否则:
         记录反馈到历史:对话历史.append({"role": "user", "content": 评估结果})
         当前轮次 += 1
         继续下一轮
相关推荐
AOwhisky15 分钟前
Python 学习笔记(第十三期)——运维自动化(下·前篇):远程命令执行——paramiko基础篇
运维·python·学习·云原生·自动化·运维开发·paramiko
前端世界25 分钟前
MySQL 基础入门(学习第4天)——约束与 DML 操作详解
数据库·学习·mysql
前端Baymax28 分钟前
Memory Search索引模型不匹配故障
ai·agent·infra
dear_bi_MyOnly29 分钟前
【SpringBoot配置文件】
java·spring boot·后端·学习·spring·java-ee·学习方法
AOwhisky42 分钟前
Python 学习笔记(第十四期)——运维自动化(下·中篇):远程文件传输——paramiko进阶篇
运维·python·学习·云原生·自动化·文件传输·paramiko
math_hongfan1 小时前
鸿蒙Flutter setState机制深入理解
学习·flutter·华为·harmonyos·鸿蒙
其实防守也摸鱼1 小时前
补天SRC新手入门指南:从0到1的漏洞挖掘之路
网络·python·学习·安全·web安全·数据挖掘·挖洞
星恒随风2 小时前
C++ STL 栈详解:stack 的使用、经典题目与简单模拟实现
开发语言·数据结构·c++·笔记·学习
wWYy.2 小时前
Agent记忆压缩方法
agent