Paper: 2607.22529 Authors: Siyuan Huang, Pengyu Cheng, Haotian Liu, Tao Chen, Yihao Liu, Jingwei Ni, Shijie Zhou, Ziyi Yang, Gangwei Jiang, Mengyu Zhou Categories: cs.CL

The Gap

Here’s the dilemma everyone in LLM self-improvement faces:

Environment-bound methods (think: training an LLM to use specific APIs, play games, or solve math in a sandbox) get *precise feedback — you know exactly whether the action worked. But the LLM only learns to do that one thing well. You’re optimizing inside a walled garden.

Open-ended self-generation (think: self-instruct, evol-instruct, or letting the model generate its own training data) broadens the task space enormously. But now you have no reliable way to verify whether the model’s solutions are actually correct. Misleading rewards pollute the training loop. Garbage in, garbage out.

This paper argues that skills — structured, verifiable units of capability — are the missing middle ground. Each skill ensures deep, verifiable execution in a specific scenario. Dynamic routing across skills maintains open-ended variety. The co-evolutionary loop pushes capability ceilings higher.

Problem: LLM self-evolution faces a fundamental tradeoff
    |         Environment-bound       Open-ended generation
    |         (precise but narrow)    (broad but noisy)
    |              |                        |
    +--------------+========================+
    |
    v
Assumption: Skills = verifiable + composable unit
    |
    v
Method: Proposer + Solver + Skill Controller co-evolve
    |
    v
Evidence: Outperforms on tool-use + reasoning benchmarks
    |        Turns around misaligned models
    v
Conclusion: Skill abstraction reconciles diversity and verification

The Increment

One sentence: Before this paper, LLM self-improvement was forced to choose between reliable-but-narrow and broad-but-unreliable; after this paper, we have a principled framework that gets both through skill-level co-evolution.

Core Mechanism

Skill-SP has three components that form a closed loop:

  1. Skill Controller (the curator): Maintains a dynamic skill library. Samples skills weighted by the solver’s performance. When the solver masters a skill, the controller promotes it; when the solver struggles, it ensures that skill appears more often. It also expands the library by identifying new skills from execution feedback.

  2. Proposer (the challenger): Takes a sampled skill and generates a challenging task specifically designed to test that skill. It’s conditioned on the solver’s current capabilities — tasks that are too easy or too hard get filtered out. The goal is to stay in the “zone of proximal development.”

  3. Solver (the learner): Receives the task, explores candidate solutions, and receives execution feedback. This is where actual learning happens — the solver’s parameters get updated via reinforcement learning based on task success.

The loop: Controller samples skill → Proposer generates task → Solver attempts task → Feedback flows back to Controller (updates skill library) and to Solver (updates parameters). Rinse, repeat. All three components improve simultaneously.

+----------------------------------------------------------+
|                    Skill-SP Loop                          |
|                                                          |
|  +------------------+                                    |
|  | Skill Controller |                                    |
|  | (skill library)  |                                    |
|  +--------+---------+                                    |
|           |                                              |
|           | sample skill                                 |
|           v                                              |
|  +--------+---------+      +---------------------+      |
|  | Proposer         | ---> | Solver              |      |
|  | (generate task)  | task | (explore solutions) |      |
|  +------------------+      +----------+----------+      |
|                                       |                  |
|                    execution feedback |                  |
|                       +---------------+                  |
|                       |                                  |
|                       v                                  |
|              +--------+----------+                       |
|              | Update & Expand   |                       |
|              | Skill Library     |<------+               |
|              +-------------------+       |               |
|                                          |               |
|              RL reward to Solver --------+               |
|                                                          |
+----------------------------------------------------------+

The Structural Metaphor: A Music Conservatory

Think of Skill-SP as a conservatory where three people collaborate to produce a virtuoso:

The Skill Controller is the curriculum director. They maintain a catalog of techniques every pianist should master — scales, arpeggios, sight-reading, jazz improvisation, classical interpretation. They constantly assess: “Which technique is our student weakest at?” and schedule more practice time there. When the student shows unexpected talent in a new area (say, composing), they add that to the official catalog.

The Proposer is the composer commissioned to write practice pieces. The curriculum director says, “This week, focus on rapid left-hand arpeggios,” and the composer writes a piece that specifically challenges that skill — not too easy (the student would play it perfectly without growing), not too hard (they’d give up). The piece is *targeted at the current weakness.

The Solver is the student pianist. They receive the piece, practice it, struggle, try different interpretations, and eventually either master it or fail. The performance — how well they played — becomes feedback for everyone.

The magic: as the student improves, the composer writes harder pieces. The curriculum director notices new weaknesses and adds new techniques to the catalog. The conservatory’s entire curriculum co-evolves with the student. This is fundamentally different from giving the student a fixed set of exercises and saying “master these” (environment-bound) or saying “just play whatever you want and we’ll see how it sounds” (open-ended generation).

Key Concepts

  • Co-evolution: When multiple components improve *each other in a feedback loop, rather than one component improving while others stay fixed. Think of a virus and an immune system: the virus evolves to evade the immune system, which evolves to catch the virus, which evolves to evade again… neither would improve as fast alone. In Skill-SP, the proposer learns to generate harder tasks (because the solver gets better), the solver learns to solve harder tasks (because the proposer pushes it), and the skill library expands (because both generate new failure modes). The key insight: the challenge itself evolves with the learner.

  • Skill Library: A structured collection of capabilities the system has identified, each with performance metadata. Not just “can the model do X?” but “how well, how reliably, under what conditions?” Think of it like a student’s transcript that tracks not just grades but specific competencies — “can solve integrals by substitution (85% accuracy), struggles with integration by parts (40% accuracy).” The controller uses this to make intelligent decisions about what to train next.

  • Diversity-Verification Tradeoff: The fundamental tension. Open-ended tasks give you *variety (the model sees many different problems) but no verification (you can’t tell if the solution is right). Verified environments give you certainty (the sandbox says yes/no) but no variety (the model only sees problems from that one sandbox). Skills resolve this because each skill is individually verifiable (you can check if the model successfully used a tool or applied a reasoning technique), and the composition of many skills gives you variety. It’s like having a test bank where each question type is well-calibrated, but the bank has thousands of question types.

Framework Shift

Before (mainstream approach):
    Fixed challenge pool              Feedback
         |                              ^
         v                              |
    +---------+      +------------------+
    |  LLM    | ---> | Verify           |
    | (train) |      | (in environment) |
    +---------+      +------------------+
                              |
                              v
                     LLM improves
                 (ceiling = challenge pool)

After (this paper):
    Dynamic skill sample              Feedback
         |                              ^
         v                              |
    +---------+      +------------------+
    |Proposer | ---> | Solver           |
    |(task)   | task | (explore)        |
    +---------+      +--------+---------+
         ^                    |
         |                    v
         +------+  Skill Controller
                |  (library grows)
                +-------------------+

From static curriculum to co-evolving skill ecosystem, the core shift is that the challenge distribution and the capability distribution improve each other in a closed loop.

Expert Assessment

Problem choice: Real gap. The diversity-verification tension is genuine and well-identified — it’s been the elephant in the room for self-improvement research. The “skill” abstraction as a resolution is clean and principled. This sits at a natural inflection point in the field where everyone is trying to move beyond static training data.

Method maturity: Clever insight with reasonable execution. The three-agent decomposition (proposer/solver/controller) is elegant — each component has a clear responsibility, and the co-evolutionary dynamics emerge naturally. That said, the controller’s heuristics for skill library management might be more fragile than they appear. How does it decide when to add a *new skill vs. refine an existing one? The paper could do more to address edge cases and failure modes.

Experimental integrity: Solid on tool-use and reasoning benchmarks. The “striking turnarounds for initially misaligned models” claim is the most interesting — it suggests the framework works even when starting from a poor initialization. I’d want to see more ablation studies: how sensitive is performance to the initial skill library? What happens with a bad proposer? What’s the contribution of each component? The baseline comparisons appear fair, though the self-evolution space is young enough that baselines are still settling.

Writing quality: The paper reads clearly. The motivation is well-articulated. However, the implementation details of the skill controller — how exactly skills are represented, how the library is maintained at scale, how skill boundaries are defined — feel under-specified. This section, if rewritten with more precision, would significantly strengthen the contribution.

Verdict: weak accept — Clean idea with good experiments, but the operationalization of the skill library needs more rigor for the contribution to fully land.

Takeaways

  1. Skill as the missing abstraction level: If you’re designing any self-improvement or curriculum learning system, think about what “skills” mean in your domain. Skills are the sweet spot between “one specific task” (too narrow) and “everything” (too vague). Each skill should be verifiable independently but composable with others.

  2. The co-evolutionary loop is reusable: The Proposer/Solver/Controller pattern transfers to any setting where you need to balance exploration and verification. Code generation (proposer writes test cases, solver writes code, controller tracks which programming patterns are weak). Math reasoning (proposer generates proof goals, solver attempts proofs, controller tracks which proof techniques need work). The framework is more valuable than the specific implementation.

  3. Start with a small skill library and let it grow: The paper’s approach suggests you don’t need to enumerate all skills upfront. Start with 10-20 seed skills, let the controller discover new ones from failure patterns. This is more practical than trying to design a comprehensive curriculum by hand.

  4. Use the “zone of proximal development” principle: The proposer generates tasks that are *just beyond the solver’s current capability. This is old pedagogical wisdom applied to LLM training — tasks that are too easy don’t teach, tasks that are too hard frustrate. The key is making the difficulty adaptive.

论文: 2607.22529 作者: Siyuan Huang, Pengyu Cheng, Haotian Liu, Tao Chen, Yihao Liu, Jingwei Ni, Shijie Zhou, Ziyi Yang, Gangwei Jiang, Mengyu Zhou 分类: cs.CL

缺口

大模型自我进化训练面临一个根本性的两难:

环境绑定的方法(比如训练大模型使用特定 API、下棋、在沙盒里解数学题)能获得**精确反馈——你知道动作有没有成功。 但模型只学会了做那一件事*。你在围墙花园里优化。

开放式自生成方法(比如 self-instruct、evol-instruct、让模型自己生成训练数据)大大拓宽了任务空间。 但你没法可靠验证模型的解法是否正确。 误导性奖励污染训练循环。垃圾进,垃圾出。

本文认为技能——结构化的、可验证的能力单元——是缺失的中间地带。 每个技能确保在特定场景下的深度可验证执行。 跨技能的动态路由保持开放式任务多样性。 协同进化循环把能力天花板不断推高。

问题:大模型自我进化面临根本性权衡
    |         环境绑定              开放式自生成
    |       (精确但狭窄)           (广泛但噪声大)
    |            |                      |
    +------------+======================+
    |
    v
假设:技能 = 可验证 + 可组合的单元
    |
    v
方法:提出者 + 求解器 + 技能控制器 协同进化
    |
    v
证据:工具使用 + 推理基准上一致优于基线
    |    能把初始对齐不良的模型"拉回来"
    v
结论:技能抽象化解了多样性与验证的矛盾

增量

一句话:在此之前,大模型自我进化被迫在”可靠但狭窄”和”广泛但不可靠”之间二选一; 在此之后,我们有了一个通过技能级协同进化同时获得两者的系统性框架。

核心机制

Skill-SP 由三个组件构成闭环:

  1. 技能控制器(策展人):维护一个动态技能库。 按求解器的表现对技能加权采样。 求解器掌握某技能时,控制器提升该技能;求解器吃力时,控制器增加该技能的出现频率。 还能从执行反馈中识别新技能并扩展库。

  2. 提出者(挑战者):接收采样到的技能,生成专门测试该技能的挑战性任务。 任务难度条件化于求解器的当前能力——太简单或太难的任务会被过滤掉。 目标是保持在”最近发展区”。

  3. 求解器(学习者):接收任务,探索候选解法,获得执行反馈。 这里是实际学习发生的地方——求解器的参数通过强化学习根据任务成功与否更新。

循环:控制器采样技能 → 提出者生成任务 → 求解器尝试任务 → 反馈回流到控制器(更新技能库)和求解器(更新参数)。 三个组件同步改进。

+----------------------------------------------------------+
|                    Skill-SP 循环                          |
|                                                          |
|  +------------------+                                    |
|  | 技能控制器        |                                    |
|  | (技能库)         |                                    |
|  +--------+---------+                                    |
|           |                                              |
|           | 采样技能                                     |
|           v                                              |
|  +--------+---------+      +---------------------+      |
|  | 提出者            | ---> | 求解器              |      |
|  | (生成任务)       | 任务 | (探索解法)          |      |
|  +------------------+      +----------+----------+      |
|                                       |                  |
|                    执行反馈            |                  |
|                       +---------------+                  |
|                       |                                  |
|                       v                                  |
|              +--------+----------+                       |
|              | 更新并扩展         |                       |
|              | 技能库             |<------+               |
|              +-------------------+       |               |
|                                          |               |
|              RL 奖励到求解器 ------------+               |
|                                                          |
+----------------------------------------------------------+

结构性比喻:音乐学院

把 Skill-SP 想象成一所培养钢琴大师的音乐学院,有三个角色紧密协作:

技能控制器课程总监。 他维护一份每个钢琴家应掌握的技术清单——音阶、琶音、视奏、即兴、古典诠释。 他不断评估:“学生哪项技术最弱?“然后安排更多练习时间。 当学生在新领域展现意外天赋(比如作曲),他把这项技术加入正式清单。

提出者受委托创作练习曲的作曲家。 课程总监说:“这周重点练左手快速琶音。” 作曲家写一首专门挑战这项技术的曲子——不太简单(否则学生轻松弹完没有成长),也不太难(否则会放弃)。 曲子定向针对当前弱点。

求解器学生钢琴家。 他拿到曲子,练习,挣扎,尝试不同的诠释,最终要么掌握要么失败。 演奏质量——弹得怎么样——成为所有人的反馈。

魔力在于:学生进步后,作曲家写更难的曲子。 课程总监发现新的弱点,把新技术加入清单。 学院的整个课程与学生协同进化。 这与”给学生一套固定练习说’掌握这些’“(环境绑定)或”想弹什么就弹什么,我们看看效果”(开放式自生成)根本不同。

关键概念

  • 协同进化:多个组件在反馈循环中**相互改进*,而非一个组件改进、其他组件静止。 想想病毒与免疫系统:病毒进化以逃避免疫系统,免疫系统进化以捕获病毒,病毒再进化以逃避……单独任何一个都不会进步这么快。 在 Skill-SP 中,提出者学会生成更难的任务(因为求解器变强了),求解器学会解决更难的任务(因为提出者推动了它),技能库扩展(因为两者都产生了新的失败模式)。 关键洞察:挑战本身与学习者共同进化

  • 技能库:系统已识别的能力的结构化集合,每项都有性能元数据。 不只是”模型能不能做X”,而是”做得多好、多可靠、在什么条件下?” 像一份追踪具体能力的成绩单——“能用代换法解积分(85%准确率),分部积分较弱(40%准确率)”。 控制器用它来智能决策下一步训练什么。

  • 多样性-验证权衡:根本性矛盾。 开放式任务给你多样性(模型见很多不同问题)但没有验证(你不知道解法对不对)。 已验证环境给你确定性(沙盒说对或错)但没有多样性(模型只看那个沙盒的问题)。 技能化解了这个矛盾,因为每个技能单独可验证(你可以检查模型是否成功使用了某个工具或推理技术),而多种技能的组合给你多样性。 像一个题库,每种题型都经过充分校准,但题库有成千上万种题型。

框架转变

之前(主流方法):
    固定挑战池                        反馈
         |                              ^
         v                              |
    +---------+      +------------------+
    |  LLM    | ---> | 验证             |
    | (训练)  |      | (在环境中)       |
    +---------+      +------------------+
                              |
                              v
                     LLM 改进
                 (天花板 = 挑战池)

之后(本文方法):
    动态技能采样                       反馈
         |                              ^
         v                              |
    +---------+      +------------------+
    | 提出者  | ---> | 求解器           |
    | (任务)  | 任务 | (探索)           |
    +---------+      +--------+---------+
         ^                    |
         |                    v
         +------+  技能控制器
                |  (技能库增长)
                +-------------------+

从静态课程到协同进化技能生态系统,核心转变是挑战分布与能力分布在闭环中相互改进。

专家评审

选题眼光:真缺口。多样性-验证矛盾是领域内的房间里的大象,所有人都在回避。 用”技能”作为解法干净且有原则。 论文处于一个自然拐点——大家都在试图超越静态训练数据。

方法成熟度:巧劲为主,但有些地方比看起来脆弱。 三智能体分解(提出者/求解器/控制器)很优雅,各组件职责清晰,协同进化动态自然浮现。 但控制器管理技能库的启发式规则可能比看起来更脆弱。 什么时候添加技能 vs. 细化已有技能?论文对边缘情况和失败模式讨论不足。

实验诚意:工具使用和推理基准上表现扎实。 “能把初始对齐不良的模型拉回来”是最有趣的发现——暗示即使从糟糕的初始化开始框架也有效。 但消融实验不够充分:对初始技能库有多敏感?提出者表现差会怎样?各组件贡献如何? 基线比较看起来公平,但自我进化领域太年轻,基线还在稳定中。

写作功力:论文读起来清晰,动机阐述得好。 但技能控制器的实现细节——技能如何表示、库如何规模化维护、技能边界如何定义——感觉不够具体。 如果把这一节重写得更精确,整篇论文的质量会提升一个台阶。

判决:弱接收 —— 想法干净,实验不错,但技能库的操作化还需要更多严谨性。

要点总结

  1. 技能是缺失的抽象层级:如果你在设计任何自我改进或课程学习系统,想想”技能”在你的领域意味着什么。 技能是”单一具体任务”(太窄)和”所有东西”(太模糊)之间的甜蜜点。 每项技能应能独立验证,但可与其他技能组合。

  2. 协同进化循环可复用:提出者/求解器/控制器模式可迁移到任何需要平衡探索与验证的场景。 代码生成(提出者写测试用例,求解器写代码,控制器追踪哪些编程模式薄弱)。 数学推理(提出者生成证明目标,求解器尝试证明,控制器追踪哪些证明技术需要练习)。 框架本身比具体实现更有价值。

  3. 从小技能库开始,让它自然增长:论文的方法暗示你不需要一开始就枚举所有技能。 从10-20个种子技能开始,让控制器从失败模式中发现新技能。 这比手动设计全面课程更实际。

  4. 应用”最近发展区”原则:提出者生成的任务应**刚好超出*求解器当前能力。 这是古老的教育学智慧应用于大模型训练——太简单的任务不教东西,太难的任务令人挫败。 关键是让难度自适应。