可以把 Reflection(反思型 Agent) 理解成:
AI 第一次做完任务后,不立刻把结果交给你,而是让自己进入“老师批改作业”的角色,专门找问题,再重新修改。
所以它不是让 AI “想得更久”这么简单,而是人为设计一个闭环:
做
↓
检查
↓
找问题
↓
修改
↓
再检查
↓
达到标准
↓
提交
这就是 Reflection。
1. 最形象的例子:你做一道数学题
普通 Agent:
题目
↓
计算
↓
答案
Reflection Agent:
题目
↓
第一次计算
↓
得到答案
↓
🔍 检查:
公式有没有用错?
条件有没有漏?
计算有没有错误?
结果是否合理?
↓
发现问题
↓
重新计算
↓
再次检查
↓
最终答案
也就是说,普通 AI 更像:
“做完就交卷。”
Reflection Agent 更像:
“做完 → 自己当阅卷老师 → 改完再交。”
2. 为什么 AI 明明很聪明,还需要 Reflection?
因为大模型一个非常典型的问题就是:
很容易对自己的第一次答案过度自信。
比如你让 AI 分析:
“这家公司值不值得投资?”
第一次它可能看到:
营收 +30%
净利润 +40%
于是说:
“公司成长性非常不错。”
但是 Reflection Agent 会再问自己:
利润增长是不是非经常性损益造成的?
继续检查:
经营现金流怎么样?
发现:
净利润增长 40%,但是经营现金流下降 20%。
再查:
应收账款是不是大幅增加?
发现真的增加。
最终结论就可能从:
“优秀成长公司”
改成:
“利润增长表面很好,但现金流质量存在风险,需要谨慎。”
这就是 Reflection 的价值:
专门攻击第一版答案。
3. Reflection 和 ReAct 不一样
你前面已经学了 ReAct,这两个非常容易混。
可以这样记:
| 架构 | 核心问题 |
|---|---|
| Prompt | 我要干什么? |
| Plan | 应该分几步? |
| ReAct | 做的过程中,下一步怎么办? |
| Reflection | 做完以后,我做得对不对? |
所以:
ReAct = 现场应变。
Reflection = 事后复盘。
例如你让 AI 写程序。
ReAct 是:
运行代码
↓
出现报错
↓
分析报错
↓
修改
↓
再次运行
Reflection 是:
程序已经能运行
↓
但是先别交付
↓
检查代码质量
↓
有没有安全问题?
有没有重复代码?
有没有边界条件?
有没有潜在Bug?
↓
优化
↓
再次测试
一个是:
“怎么把事情做完?”
另一个是:
“我做得够不够好?”
4. 那我要怎么给自己的 Agent 加 Reflection?
其实没有你想象得那么玄学。
最简单的 Reflection 只需要四个东西:
第一次输出
↓
Critic / Reviewer
↓
指出问题
↓
Reviser
↓
修改后的答案
也就是:
生成者 + 批评者 + 修改者。
甚至三个角色都可以是同一个 GPT 模型。
不一定需要三个模型。
5. 最低成本:你今天就可以实现
例如你平时问 ChatGPT:
帮我分析宁德时代。
你可以直接把 Prompt 改成:
先完成第一版分析。
完成后不要立即输出最终结果。
请切换到“批判性审查者”角色,
从以下角度检查第一版:
1. 是否存在事实错误
2. 是否存在逻辑跳跃
3. 是否遗漏重要因素
4. 是否有证据不足的结论
5. 是否存在反例
6. 数据是否支持结论
然后根据审查结果重新修改。
最后只输出经过修改后的最终版本,
并说明第一版最重要的三个问题。
恭喜。
你其实已经做出了一个:
最简单的 Reflection Agent。
根本不需要先学 LangChain。
6. 但真正的 Reflection,比一句“检查一下”更重要的是评价标准
这点非常关键。
如果你只是告诉 AI:
“反思一下。”
效果通常一般。
因为它不知道:
按照什么标准反思?
比如投资研究,你应该给它一套检查标准:
公司分析完成后进行 Reflection:
财务:
- 收入增长是否真实?
- 利润是否转化为现金流?
- ROIC 是否持续高于资本成本?
- 是否依赖高杠杆?
商业:
- 护城河是否真实?
- 行业是否存在结构性风险?
- 增长是否可持续?
估值:
- 乐观假设是否过多?
- 是否考虑悲观情景?
证据:
- 每个重要结论是否有证据?
- 是否把推测写成了事实?
最后:
重新给出投资判断。
这时候 Reflection 就强很多。
所以:
Reflection 的灵魂其实不是“反思”两个字。
而是:
明确的评价标准。
7. 你以后真正做 Agent,可以设计成两个 Agent
例如:
用户
↓
Research Agent
↓
第一版报告
↓
Critic Agent
↙ ↓ ↘
财务 逻辑 风险
↓
批评意见
↓
Research Agent
↓
修改报告
↓
Critic再次检查
↓
达标?
↙ ↘
否 是
↓ ↓
继续修改 最终输出
这就已经是比较标准的 Reflection 架构了。
8. 为什么可以用两个 Agent?
因为让同一个 AI:
“写完以后检查自己。”
有一个天然问题:
它可能还是沿用原来的思路。
就像你自己写作文以后检查:
很多错误你自己看不出来。
但是换一个 Agent:
Critic Agent
它唯一的任务就是:
找漏洞。
效果通常更好。
比如:
Agent A:投资分析师
目标:
找出一家公司的投资价值。
Agent B:空头分析师
目标:
假设 Agent A 是错的,尽可能寻找反例和风险。
于是:
多头Agent:
腾讯护城河很深。
↓
空头Agent:
微信很强,但是新业务资本回报率如何?
游戏监管风险呢?
广告增长是否已经反映在估值?
↓
分析Agent:
重新检查。
↓
最终结论
这其实已经非常接近真正的:
投资委员会。
9. 如果以后你用代码实现,Reflection 的核心也很简单
伪代码差不多就是:
draft = agent.do_task(task)
critique = critic.review(
draft,
criteria
)
final = agent.revise(
draft,
critique
)
复杂一点:
for i in range(3):
draft = agent.generate()
score = critic.evaluate(draft)
if score >= 90:
break
feedback = critic.give_feedback()
draft = agent.revise(feedback)
翻译成人话:
AI 做一次。
评分。
如果 90 分以上:
通过。
如果不到:
告诉它哪里不好。
重新修改。
最多循环 3 次。
这就是 Reflection Loop。
10. 为什么一定要设置“停止条件”?
因为这是实际搭 Agent 时非常重要的一点。
如果你告诉 AI:
“不断反思,直到完美。”
它可能:
修改
↓
反思
↓
修改
↓
反思
↓
修改
↓
……
造成:
Token 消耗越来越大。
所以实际系统一般会设置:
最多反思 3 次
或者
评分 > 90 分就停止
或者
没有发现严重问题就停止
这叫:
Stop Condition(停止条件)。
11. Reflection + Memory 才会出现“真正的长期进步”
还有一个特别容易被短视频误导的地方。
有人说:
“Reflection Agent 会不断自我进化。”
这句话只说对了一半。
如果 Agent:
犯错
↓
反思
↓
修改
↓
任务结束
↓
忘了
那么下次:
还可能犯同样的错误。
真正进一步应该:
犯错
↓
Reflection
↓
发现原因
↓
总结经验
↓
写入 Memory
↓
下一次任务读取
例如:
Agent 第一次分析公司时犯了一个错误:
只看净利润,没有检查现金流。
Reflection 发现:
“以后研究公司必须同时检查经营现金流。”
保存到 Memory:
经验 #017:
分析企业盈利质量时,
必须同时比较:
净利润
经营现金流
应收账款
存货
以后 Agent 再研究公司:
自动读取这条经验。
这才真正开始出现:
越干越熟练。
所以你之前学的几个东西已经开始连接起来了:
Reflection
=
发现自己哪里做错了
Memory
=
把这个教训记下来
下一次
=
避免再犯
12. 如果你现在想自己搭 Agent,我建议第一版只做这个
千万不要刚开始就:
8 Agent + RAG + Memory + Auto Loop + MCP + 20 个 Tools。
非常容易把项目搭得巨复杂,却不知道究竟提高了什么。
你第一版完全可以:
用户提出任务
↓
GPT生成第一版
↓
GPT进行Reflection
↓
根据评分标准找问题
↓
GPT修改
↓
输出
然后第二版:
Generator Agent
+
Critic Agent
第三版:
Generator
↓
Critic
↓
Revision
↓
Critic
↓
达到标准
↓
Memory保存经验
做到这里,你就已经真正理解 Reflection Agent 了。
13. 对你来说一个非常有价值的用途:学习 Agent
比如以后你建立自己的金融学习 Agent。
你回答:
“为什么加杠杆可以提高 ROE?”
学习 Agent 不直接说:
“回答正确/错误。”
而先进行 Reflection:
你的回答
↓
检查:
概念是否正确?
有没有遗漏条件?
能不能举例?
是否真正理解?
↓
发现:
你知道杠杆提高ROE,
但漏掉了:
投资回报率必须高于债务成本
↓
指出漏洞
↓
让你重新回答
↓
再次检查
这就比单纯:
“AI告诉你答案”
强得多。
因为真正促进学习的过程变成:
你回答 → AI找认知漏洞 → 你修正 → 再验证。
这跟费曼学习法其实非常契合。
你现在可以把 Reflection 永久记成一句:
Reflection = 给 Agent 安装一个“内置审稿人”。
而你要实现它,最核心不是安装什么神奇的软件,而是设计好:
第一次执行 → 评价标准 → 批评 → 修改 → 再检查 → 停止条件。
等你再把 Reflection + RAG + Memory + ReAct + Plan 连起来之后,你就已经基本看懂一个现代 Agent 的核心骨架了。