论文解读|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 的方案:轨迹-技能蒸馏
论文提出一个两阶段流程:
- 轨迹收集:Agent 跑 1000+ 真实任务(PR、issue、debug),每条都存完整轨迹(思考 + 工具调用 + 错误 + 修正)
- 技能提取:用 LLM 从轨迹中提炼「可复用的步骤模式」——比如「在修改前先跑测试确认 baseline」、「在调 API 前先看 OpenAPI spec」
- 技能库应用:下一个任务来时,Agent 先查 skill library 找相关技能,按步骤执行
命名「苏格拉底」是因为:技能不是被告知的,而是从自我反思+自问自答中涌现的。Agent 在跑完任务后会问自己「我哪里可以做得更好」,把答案写进技能。
实验结果
- 在 SWE-bench Verified 上,轨迹越多技能库越精,1000 任务后达到峰值
- 跨任务泛化:技能可以迁移到之前没见过的语言/框架
- 人工对比:8 个 Agent 开发者盲评,Socratic-SWE 输出「明显更工程化」
对编程 Agent 产品的启示
对于做 Claude Code / Cursor / 国产编程 Agent 的团队,这篇论文给了一条可行路线:
- 不要再让用户写 AGENTS.md,让 Agent 自己沉淀
- 技能库可以跨项目共享,但需要脱敏
- 建议从团队内部「私有技能库」开始,3 个月后开放成「社区技能市场」