Agent的反思机制

发布时间:2026/7/23 14:53:05
Agent的反思机制 一、什么是 Agent 的反思机制ReflectionAgent 反思机制指的是Agent 在完成某一步任务后不直接结束而是让模型重新检查自己的行为、结果和错误然后根据评价结果进行修正。简单理解普通 Agent任务↓思考↓执行↓结果↓结束带反思机制的 Agent任务↓思考↓执行↓检查结果↓发现问题↓修改策略↓重新执行↓完成它类似人做事情比如写代码第一次写完代码运行报错普通 Agent报错信息返回给用户反思 Agent为什么错是逻辑错误还是边界问题修改代码再测试。二、为什么 Agent 需要反思因为 LLM 本身存在几个问题1一次推理容易出错大模型生成结果不是确定计算。例如用户写一个排序算法Agent第一次生成for(int i0;in;i) { for(int j0;jn;j)可能越界时间复杂度错误漏处理边界如果没有反思直接返回错误答案。有反思生成代码↓Reviewer:检查复杂度检查边界检查语法↓发现问题↓重新生成准确率提升。2复杂任务需要持续优化比如用户帮我设计一个机器人导航系统第一次Agent可能ROSSLAMNavigation控制但是没有考虑网络延迟故障恢复电量管理反思检查设计完整性发现:缺少异常处理补充:故障检测模块3避免 Agent 陷入错误方向Agent执行搜索资料↓分析↓生成方案可能中途错误假设例如认为机器人使用GPS定位但是实际室内机器人没有GPS。反思当前假设是否合理↓发现错误↓重新规划三、Agent反思机制有哪些类型常见有三种① Self-Reflection自我反思最简单。让同一个LLM评价自己的结果。结构用户任务|↓Agent生成答案|↓Reflection Prompt|↓检查你的答案有什么问题|↓修改答案例如第一次Prompt写一个TCP服务器输出代码A然后反思请检查上述代码1. 是否线程安全2. 是否存在资源泄露3. 是否符合C规范模型发现socket关闭遗漏修改代码② Critic-Actor评价者-执行者更工程化。拆成两个AgentTask|↓Actor Agent(执行者)|↓Result|↓Critic Agent(评价者)|┌──────┴──────┐↓ ↓通过 修改③ Reflection Memory反思记忆更高级。不仅改当前任务还保存经验。例如第一次机器人导航失败原因低电量没有提前返回充电存入Memory经验:导航任务必须检查电量下一次Agent规划导航任务读取历史经验提前检查电量