让AI自己改自己的代码,会发生什么?一万人,只要一人知道的AI学习是什么?
一文讲透 Agent 的学习与适应模式 —— PPO、DPO、SICA、AlphaEvolve,6 种武器一次说清。

你有没有这种感觉 —— 上线一个 Agent,前两周表现尚可,第三周用户开始吐槽"它越来越笨了"。
你加班调 prompt、调温度参数、调工具描述。第四周 —— 它还是老样子,甚至更差了。
你开始怀疑人生:是不是自己笨。
其实不是。是你的 Agent 没有学习能力。它今天的"水平",就是上线那天的"水平",不会因为用了 10 万次而变强。
答案就 6 个字:让 Agent 学会自我迭代。今天这一篇,我们就把这件事的工程套路 —— 从 1972 年的强化学习,到 2024 年 Google 让 AI 自己优化矩阵乘法 —— 一次讲透。
"学习"不是玄学,是 6 种武器
Six ways an agent gets smarter.
你想让 Agent"学习",其实是有 6 条成熟的路可以走。它们不是替代关系,是"看场景选武器"。
①强化学习(RL) —— 让 Agent 自己"试错"。做对了给糖,做错了打板子,慢慢摸索出最优策略。AlphaGo 就是这套路。适合机器人、游戏、动态调度。
②监督学习 —— 喂它一堆"题目+标准答案",让它学会映射。预测房价、邮件分类、识别图片都靠这个。
③无监督学习 —— 不给答案,让它自己在数据里"挖宝藏"。用户分群、异常发现、商品聚类,都靠它。
④少样本 / 零样本 —— LLM 时代的"神技"。给一两个例子,它就能举一反三。客服 Agent 的"看一行学会一类问题"就靠它。
⑤在线学习 —— 数据流不停,模型就跟着不停更新。股市实时推荐、风控反欺诈,基本这一招。
⑥基于记忆的学习 —— 翻旧账。以前踩过的坑、用户说过的话,翻出来当教材。这是 RAG 和 Memory 模块的底层逻辑(上一章我们聊过)。
所谓"学习",就是让 Agent 在试过、做错、被惩罚、被奖励之后,下一次别再犯同样的蠢。
PPO:别一次跨太远,先稳住
Clipped updates keep the agent on a leash.
强化学习火了很多年,但一直有个老毛病:训练到一半,模型突然崩了。前一天还稳定解题,后一天直接输出乱码。
2017 年,OpenAI 的 John Schulman 一群工程师憋出了 PPO —— 近端策略优化(Proximal Policy Optimization)。这名字听着唬人,但思路朴素得像老司机开车:
第一,每次只更新"一点点"。新策略可以比旧策略好,但不能偏差太大。
第二,用"裁剪"(clip)这一招,在当前策略周围画个"信任圈"。一旦新策略要跨出这个圈 —— 自动刹车。
第三,靠这个刹车,避免"一步登天"导致把已经学到的全忘光。
打个比方:PPO 像一个严格的驾校教练。学员犯错可以改,但不允许你突然从侧方停车直接挑战漂移过弯。每一步都在你能力边缘稍微往前推一点点。
PPO 不是为了"最快学好",而是为了"最稳地变好"。
PPO 至今仍是 RLHF(人类反馈强化学习)的主力算法。GPT-4、Claude、Gemini 的"对齐训练"背后,都跑过它。
DPO:别绕弯了,直接告诉我哪个好
Skip the middleman. Skip the reward model.
PPO 虽然稳,但用起来累。它要先训一个"裁判模型"(奖励模型),然后让 LLM 去讨好这个裁判。
问题来了 —— 裁判只是个模仿人类偏好的模型,它不是真正的人类。LLM 很容易"钻空子":找到一种能让裁判打高分、但人类看了想骂街的回答。这就是业内说的 "reward hacking"。
2023 年,斯坦福的一帮研究者拍桌子:不用裁判了行不行?
于是有了 DPO —— 直接偏好优化(Direct Preference Optimization)。它把人类的"偏好数据"(A 比 B 好)直接喂给 LLM,核心逻辑只有一句话:
“把生成"受欢迎回答"的概率调高,把生成"不受欢迎回答"的概率调低。”
听起来简单,但背后的数学证明很扎实:在特定条件下,这种"直接调概率"等价于"用隐式奖励模型的最优策略"。
省了一个大模型的训练,稳定了一大截,效果还往往更好。
PPO 像"打分制" —— 10 分 9 分 8 分,繁琐;DPO 像"二选一" —— 这个好,那个差,直接。
SICA:让 Agent 拿起手术刀,改自己
Self-Improving Coding Agent.
前面讲的 PPO、DPO 都要先准备大量数据。但 2024 年的这篇论文,把思路又推了一把 —— SICA(Self-Improving Coding Agent)。
它干了一件听着离谱的事:让 AI 改自己的源代码。
流程是这样的:
1.看历史档案 —— 看自己之前每一版的"成绩单",挑出表现最好的一版。
2.分析短板 —— 找到上一版"卡壳"的地方,设计改造方案。
3.动手改 —— 直接编辑自己的源码,加点新工具、调调流程。
4.跑基准测试 —— 新版表现更好,就归档;变差了,就退回旧版。
就这样一代一代地"自我繁殖",SICA 在迭代中自己发明了很多新工具:
· 智能编辑器(Smart Editor):抛弃暴力文件覆盖,改成"理解上下文后改一处"。· AST 符号定位器:用抽象语法树索引代码,找定义从"全文搜"提速到"按图索骥"。· 混合符号定位器:快速搜索 + AST 校验结合,又快又准。· 监督者(Overseer):另一个 LLM 实时盯着主 Agent,一旦发现"陷入死循环"或"重复造轮子",立刻叫停。
这些工具,全是 AI 在迭代中自己造出来的,不是人类工程师写的。
AlphaEvolve:让 AI 给人类数学家"打工"
LLMs + evolution = AI inventing algorithms.
如果说 SICA 让 AI 在"编程任务"上自我进化,那 2025 年 Google 的 AlphaEvolve 直接把战火烧到了"数学发现"上。
它的玩法很简单:一群 Gemini(Flash + Pro)+ 进化算法 + 自动评分器,让它在算法空间里自己瞎试,谁跑得快、跑得准就留下"繁殖",跑得差就淘汰。
结果?
▸数据中心调度优化 —— 全球计算资源占用减少 0.7%。
▸Gemini 训练核心内核加速 23%。
▸FlashAttention 的 GPU 指令优化 32.5%。
▸4x4 复数矩阵乘法新算法 —— 用 48 次标量乘法,比 50 年前的经典结果还少。
▸50 多个开放数学题 —— 75% 的题,AI 都重新发现了已知最优解;20% 的题,AI 跑出了比已知更好的解。
那些数学家们几十年的"调参",AI 几小时就跑完了。AI 已经在反哺基础科学,而不仅仅是回答问题。
如果你想自己复现,开源版的 OpenEvolve 直接可用 —— 几行 Python,就能跑一个进化编码实验:
# 初始化进化系统
from openevolve import OpenEvolve
evolve = OpenEvolve(
initial_program_path="seed.py",
evaluation_file="evaluator.py",
config_path="config.yaml"
)
# 跑 1000 代进化
best = await evolve.run(
iterations=1000
)
print(best.metrics)
什么时候该上,什么时候别碰
Decision checklist for shipping a learning agent.
该上学习能力的信号:
✓环境每天都在变 —— 用户偏好、市场行情、攻击手法都在漂。
✓需要"千人千面" —— 同一份逻辑对不同用户应该表现不同。
✓有清晰的奖励信号 —— 谁对谁错、哪条路更快、哪个转化更高。
✓容错成本可控 —— 试错不会出人命、不会直接烧钱。
✓有人能审 —— 学习一定要有监督者兜底(参见 SICA 的 Overseer)。
先别碰的信号:
✗业务规则就是死规定 —— 法规、合同、合规,不许"学习"。
✗没有可量化的反馈 —— 你都说不清"好"是什么,模型更学不会。
✗数据有合规红线 —— 医疗、金融、未成年人,先合规再学习。
✗团队连 baseline Agent 都没跑稳 —— 先把不学习的版本做扎实。
永远从最简单的"记忆反馈"开始(把用户的 👍👎 写进数据库,下次参考),再上 DPO,最后才碰强化学习。
写在最后
我以前以为 Agent 工程就是"prompt 调优 + 工具调度"。直到把这些模式串起来,我才发现 ——
Agent 真正的护城河,不在于它上线时多聪明,而在于它能不能越用越聪明。
“不学习的 Agent,是工具。会学习的 Agent,是同事。”
听起来很玄,但背后每一行工程 —— 从 PPO 的裁剪,到 DPO 的去裁判,从 SICA 的自我编辑,到 AlphaEvolve 的进化算法 —— 都是 50 年机器学习积累下来、已经被验证过的老套路。
它们距离你并不远。下次你的 Agent 表现不够好时 —— 别再去死磕 prompt 了。试着给它 一个记忆、一面镜子、一个监督者。让它在每一次会话里,都比上一次更懂你的用户。
这一篇是"Agentic Design Patterns"系列连载的第 9 篇。
下一篇(第 10 篇 · MCP 协议)我们聊:让 Agent 不被工具绑架 —— 怎么用一套标准协议把"Agent ↔ 工具 ↔ 数据"彻底打通。
点个在看 · 持续追更
下期预告 · 第 10 篇《Model Context Protocol (MCP)》一句话讲清:为什么 MCP 可能是 Agent 时代的"USB-C 接口"。
Agentic Design Patterns · Chapter 10 · Coming Soon
夜雨聆风