2026-06-08
最近阿里联合上交大搞了个叫Socratic-SWE的新框架,专门用来训练写代码修Bug的AI智能体。
我看完论文,这个确实解决了一个困扰业界很久的难题,而且实测效果不错正确率大涨。

论文地址:https://arxiv.org/pdf/2606.07412
老套路太坑人
咱们先说说现在的AI程序员是怎么练出来的。你想让AI学会在真实项目里改Bug,通常得靠强化学习,把它扔进代码仓库里一顿试错,做对了给奖励做错了扣分。
但问题来了,哪来那么多高质量的Bug让它练手?现实是极度缺数据。
为了凑数,大家普遍用合成数据的办法,比如按规则自动改几行代码,或者人为注入点漏洞。这种老套路属于开环静态架构,毛病一大堆。
第一,题目是提前批量生成的,AI变强了题目难度却不变。第二,这些题目完全不顾及AI到底哪里学得差,就好比给所有学生发同一套卷子,数学不好的在练语文,根本不对症下药。
让人痛心的是第三点,AI在仓库里折腾时留下的解题轨迹,也就是它怎么找文件怎么改代码怎么跑测试的完整记录,仅仅被用来算个得分,算完就扔了。
这里面其实藏着大量高价值信息,比如AI容易在哪个步骤踩坑,哪种修复逻辑最有效,全浪费了。
Socratic-SWE创新解决方法
Socratic-SWE的核心思路就是把这笔被丢弃的财富重新利用起来,建起一个轨迹提炼技能、技能引导任务、任务产生新轨迹的闭环。
主要让同一个大模型分饰两角,既当出题的生成器,又当做题的求解器,两者交替着进化。简单来说,就是让AI学会自己给自己出卷子复盘,哪不行练哪。
怎么个进化法呢?第一步是把废纸篓里的解题轨迹捡回来提炼成技能。AI做过的卷子不管是做对的还是做错的,全都保留。对的操作提取出通用策略,错的操作专门记录下它的踩坑方式。

然后团队用一个蒸馏模型去批量解析这些轨迹,把反复出现的行为模式变成一条条结构化的技能,每条技能都包含名称、适用场景和具体操作步骤。
有了这些技能,就相当于给AI建了一个错题本和好题本,里面精准标注了它的能力短板和有效方法。
接着还要经过去重和覆盖率筛选,留下真正有通用指导意义的内容,这就组成了智能体技能注册表。
有了错题本,出题就有方向了。第二步是技能引导的任务生成与校验。生成器会从技能注册表里随机抽一条技能,结合真实的代码仓库和AI当前的训练进度,量身定制一个修复任务,还要顺手写出验证测试用例。
当然,AI自己出的题不能直接用,万一它瞎编一个不存在的文件呢?所以框架搞了四层沙箱校验机制。
先是看格式对不对,再看提到的文件在仓库里是不是真有,接着跑一下确认环境没故障,最后还得验证这个测试用例真能区分出修好和没修好的状态,且确实存在修好的可能。一道题得连过四关才算合格。

不过光是能跑通还不够,有些题太简单或者偏门,做了也白做。怎么挑出真正能帮AI涨水平的题呢?团队想了个很绝的招,叫求解器梯度对齐奖励。
登录/注册后继续阅读
立即登录/注册 >上一篇: AI也许是大学生,最该学的第二专业
