← 最新论文
🤖 AI

Socratic-SWE: Self-Evolving Coding Agents via Trace-Derived Agent Skills

Socratic-SWE 引入了一种闭环自我进化框架,该框架将智能体的历史解决轨迹转化为结构化技能,以生成针对性的、可验证的修复任务,从而实现持续改进,并在不依赖固定变异程序的情况下,在 SWE 基准测试上达到了最先进的性能。

原作者: Chuan Xiao, Zhengbo Jiao, Shaobo Wang, Wei Wang, Bing Zhao, Hu Wei, Linfeng Zhang, Lin Qu

发布于 2026-06-08
📖 1 分钟阅读☕ 轻松阅读

原作者: Chuan Xiao, Zhengbo Jiao, Shaobo Wang, Wei Wang, Bing Zhao, Hu Wei, Linfeng Zhang, Lin Qu

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,你正在试图教一个机器人如何修复损坏的软件。通常情况下,你必须编写成千上万个特定的“家庭作业”,找到答案,然后进行评分。这既昂贵又缓慢,而且这些作业往往并不符合机器人的实际薄弱环节。

这篇论文介绍了一种名为 Socratic-SWE 的新方法来训练这些编程机器人。与其让老师发放静态的家庭作业,Socratic-SWE 让机器人通过分析自己的错误与成功来进行自我教学,从而将其转化为一份个性化的学习指南。

以下是其工作原理,我们使用简单的类比来解释:

1. 旧方法:静态教科书

想象一个正在学习木工的学生。在旧方法中,老师给他们一叠预先写好的、用于修复缺陷的蓝图。

  • 问题所在: 有些蓝图太简单了(学生已经知道如何修复它们),而有些则太难了(学生还没有掌握相应的工具)。老师并不知道学生现在到底在哪些地方遇到了困难。
  • 结果: 学生在已经掌握的事情上浪费时间,或者在无法解决的事情上卡住,最终停止了进步。

2. 新方法:Socratic-SWE(自我教学的学徒)

Socratic-SWE 改变了游戏规则。它创建了一个闭环,让机器人既是学生又是老师。

第一步:“追踪”(视频回放)

每当机器人尝试修复一个 Bug 时,它都会留下一个数字“足迹”,称为追踪(trace)。这就像是机器人整个思考过程的视频回放:

  • 它在哪里查看了代码?
  • 它修改了哪些代码?
  • 测试通过还是失败了?
  • 它是否不小心破坏了其他东西?

在过去,研究人员仅使用这些回放来给出简单的“通过”或“失败”评分,然后就将视频丢弃。Socratic-SWE 则说:“等等!让我们再看一遍视频。”

第二步:提炼“技能”(学习指南)

系统会观察所有的回放并寻找模式。

  • 如果机器人失败了: 它会注意到,“噢,每次我尝试修复一个打开了三个标签页的文件时,我都会忘记保存第一个文件。”
  • 如果机器人成功了: 它会注意到,“当我先检查错误日志再进行编辑时,我通常能做对。”

它将这些模式转化为一个结构化的**“智能体技能注册表”(Agent Skill Registry)。你可以把它想象成一份个性化的学习指南教练的秘籍**。它详细列出了机器人的弱点(例如:“不要忘记检查副作用”)以及它的长处。

第三步:生成新作业(定制化测验)

现在,机器人利用这份学习指南来创建新的家庭作业。

  • 它不再随机挑选 Bug,而是会问自己:“根据我的学习指南,我在‘多文件编辑’方面经常失败。让我创建一个新的、棘手的 Bug,它专门需要我同时编辑三个文件。”
  • 这确保了作业能够完美地针对机器人的当前弱点。

第四步:“验证器”把关人

在将新的家庭作业交给机器人之前,一个严格的**把关人(Gatekeeper)**会对其进行检查。

  • 这个 Bug 真的存在吗?
  • 机器人真的能修复它吗?
  • 测试是否可靠?
    如果作业本身是有问题的或无法完成的,它就会被剔除。只有高质量、可解的任务才能进入训练池。

“梯度对齐”(指南针)

还有一个聪明的技巧。系统不仅希望机器人能解决任何问题,还希望它能朝着正确的方向进步。

  • 想象一个指南针。系统有一个“信任方向”(一组已知的高质量任务)。
  • 当机器人生成一个新任务时,系统会询问:“解决这个新任务是否会让机器人在我们信任的方向上移动?”
  • 如果是,则保留该任务。如果不是,则将其丢弃。这防止了机器人学会那些只在虚假问题上有效的“小技巧”。

结果:变得更聪明、更快

研究人员在四个主要基准测试(类似于编程智能体的期末考试)上对其进行了测试。

  • 基准线(Baseline): 一个使用固定数据训练的标准机器人。
  • 竞争对手: 其他尝试自我教学但没有使用这种特定“技能注册表”方法的机器人。
  • Socratic-SWE: 在仅仅经过三轮自我教学后,它在最难的测试(SWE-bench Verified)中得分 50.4%。这相比之下是一个巨大的飞跃,因为其他机器人要么陷入停滞,要么进步极其缓慢。

为什么这很重要

论文声称,Socratic-SWE 证明了你不需要人类去编写无穷无尽的新作业。通过重用机器人自身的历史记录(追踪)来构建技能指南,机器人可以持续生成自己的课程。它将过去的失败转化为未来的动力,使其能够在不需要人类老师不断指导的情况下,实现持续进化和进步。

简而言之: 这就像是一个机器人观看自己的比赛回放,编写自己的学习指南,创建自己的练习题,然后参加考试以查看自己是否真的进步了。事实证明,这种自我教练的方法比人类分发旧练习册的效果更好。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →