论文解读|Socratic-SWE:用历史轨迹自演化「技能」的编程代理

本周 arXiv 2606.07412 提出的 Socratic-SWE 把「代码 Agent」推进到了「自演化 Agent」阶段:让 Agent 在解决 1000+ 任务后,把「经验」提炼成可复用的技能库。

痛点:Agent 不积累经验

当前所有 Agent(Claude Code、Cursor、Codex CLI、Aider)都面临一个问题:

  • 每次任务从零开始,不保留「昨天学到的」
  • 同一类问题(「加个单元测试」、「重构这个函数」)每次都重新摸索
  • 开发者被迫手写 AGENTS.md / Cursor Rules来弥补

Socratic-SWE 的方案:轨迹-技能蒸馏

论文提出一个两阶段流程:

  1. 轨迹收集:Agent 跑 1000+ 真实任务(PR、issue、debug),每条都存完整轨迹(思考 + 工具调用 + 错误 + 修正)
  2. 技能提取:用 LLM 从轨迹中提炼「可复用的步骤模式」——比如「在修改前先跑测试确认 baseline」、「在调 API 前先看 OpenAPI spec」
  3. 技能库应用:下一个任务来时,Agent 先查 skill library 找相关技能,按步骤执行

命名「苏格拉底」是因为:技能不是被告知的,而是从自我反思+自问自答中涌现的。Agent 在跑完任务后会问自己「我哪里可以做得更好」,把答案写进技能。

实验结果

  • 在 SWE-bench Verified 上,轨迹越多技能库越精,1000 任务后达到峰值
  • 跨任务泛化:技能可以迁移到之前没见过的语言/框架
  • 人工对比:8 个 Agent 开发者盲评,Socratic-SWE 输出「明显更工程化」

对编程 Agent 产品的启示

对于做 Claude Code / Cursor / 国产编程 Agent 的团队,这篇论文给了一条可行路线:

  • 不要再让用户写 AGENTS.md,让 Agent 自己沉淀
  • 技能库可以跨项目共享,但需要脱敏
  • 建议从团队内部「私有技能库」开始,3 个月后开放成「社区技能市场」

论文:arXiv:2606.07412

Leave a Comment