#STaR 与自举式自训练:LLM 能不能自己生成训练数据并训练自己?
#一句话核心结论
STaR 这条线真正想回答的问题不是“能不能让模型写出更长的 chain-of-thought”,而是:LLM 能不能把自己的推理尝试变成新的训练数据,从而形成一个“生成 → 验证/筛选 → 再训练 → 更会生成”的自举循环。
我的判断是:
- 在有外部可验证反馈的任务上,这条路线已经被反复证明有效,例如数学、代码、Text-to-SQL、部分长上下文问答、工具调用和 agent 行动选择。
- 在没有可靠外部反馈的开放任务上,纯自举很容易变成“模型自我确认”:它生成自己喜欢的数据,再训练成更像自己,而不一定更接近真实能力。
- STaR 后续系列工作的核心演化,基本都在补 STaR 原始闭环中的几个洞:
1. 只看最终答案不够,要有 verifier / reward model / process reward;
2. 随机采样太浪费,要把采样预算放到能力边界附近;
3. 多轮自训练会探索退化,要平衡 exploration 与 exploitation;
4. 只靠内部思考不够,要接工具、检索、环境反馈;
5. 问答式 rationale 太窄,要推广到普通语言建模、长上下文、agent、视觉语言、安全对齐等场景。
如果把它和你关心的 LLM Agent / model-based RL / latent reasoning / self-evolving code agent 连起来看,STaR 可以被理解为一个非常早期但很关键的范式雏形:模型不只是消费人类数据,而是把自己的试错轨迹、解释、反思、行动候选、工具调用、环境反馈,重新加工成下一轮训练分布。
#1. 先用人话讲清楚:STaR 到底在做什么?
STaR,全称 Self-Taught Reasoner,论文是 Zelikman 等人在 2022 年提出的 STaR: Bootstrapping Reasoning With Reasoning。
它的直觉非常简单:
如果一个学生会做一部分题,并且能写出解题过程,那么能不能让他先给很多题“试着写解题过程”,把做对的留下来,再用这些自己写出来的解题过程训练自己?
更具体地说,STaR 的循环是:
- 给模型少量带 rationale 的示例,让它学会“回答前先解释”。
- 对大量只有问题和答案、没有 rationale 的数据,让模型自己生成推理过程和答案。
- 如果模型最终答案正确,就保留这条 rationale,作为训练样本。
- 如果模型答错,则把正确答案告诉模型,让它尝试生成一个能导向正确答案的 rationale,这一步叫 rationalization。
- 用所有最终导向正确答案的 rationale 微调模型。
- 重复上述过程。
这就是“自举”:一开始模型只会一点点推理,通过自己生成的中间过程,逐步训练出更强的推理能力。
这里最关键的不是 chain-of-thought 本身,而是这个闭环:
当前模型 M_t
↓ 生成多个 reasoning / rationale
外部答案或奖励筛选
↓ 得到更高质量训练数据 D_t
微调/优化
↓ 得到 M_{t+1}
重复
如果这个循环成立,那么训练数据就不再完全依赖人类写出来。模型可以“生产训练数据”,再“吃回去”。这就是今天很多 self-improvement、RFT、ReST、self-rewarding、agent self-evolution 工作的共同母题。
#2. 原始 STaR:解决了什么,又留下了什么问题?
#2.1 之前的问题:CoT 有用,但人工 rationale 太贵
Chain-of-thought prompting 证明了:让模型写出中间推理步骤,往往能显著提高复杂推理任务表现。
但问题是:
- 如果只靠 few-shot prompting,能力提升有限,而且不更新模型参数;
- 如果要监督微调,就需要大量人工写的 reasoning rationales;
- 人工 rationale 很贵,而且不同任务都要重新标注;
- 很多数据集本来只有问题和答案,没有中间过程。
所以 STaR 问的是:有没有办法只用少量 rationale seed,加上大量没有 rationale 的题目,让模型自己补出 rationale?
#2.2 STaR 的方法:正确答案是过滤器,rationale 是训练对象
STaR 的妙处在于把“答案正确性”当作一个廉价验证信号。
它不需要人类评价每条推理过程是否优雅,只要能检查最终答案是否正确,就可以筛出一批可能有用的 reasoning traces。
这在人话上类似:
我不需要老师批改你每一步,只要知道最后答案对不对。对的解题过程先留下;错的题,把标准答案给你,让你再解释一遍为什么应该是这个答案。然后拿这些解释训练你。
它解决了一个关键问题:在缺少人工推理标注的情况下,如何获得大量 rationale 训练数据。
#2.3 STaR 暴露的新问题:正确答案不等于正确推理
STaR 也立刻暴露出一批后续工作反复处理的问题。
第一,答案对不代表推理过程对。
模型可能靠捷径、模式匹配、偶然猜对答案,然后写出一段看似合理但并非真实因果路径的解释。训练这种 rationale,可能强化“会编解释”,而不是强化真正推理。
第二,rationalization 可能是事后合理化。
当模型答错后,把正确答案塞给它,让它生成一条导向正确答案的解释。这很像让学生先看答案再补过程。它可能有教学价值,但也可能制造“漂亮但虚假”的解释。
第三,它依赖可验证答案。
数学题、选择题、代码单测、SQL 执行可以验证;但开放式研究判断、长程 agent 规划、价值偏好、真实世界行动,就很难只靠最终答案过滤。
第四,多轮自训练可能错误放大或多样性下降。
模型自己生成数据,再训练自己,如果过滤器不够强,错误会被循环放大;如果过滤器太强,只留下模型已经会的东西,又会导致探索退化。
后续几乎所有 STaR 系列工作,都可以看成围绕这四个问题展开。
#3. 从 STaR 到 Quiet-STaR:从“答题前写推理”到“说话前先想”
#3.1 Quiet-STaR 想解决什么旧问题?
原始 STaR 的场景很窄:给定问题,生成 rationale,得到答案。
但真实语言建模不是只有问答题。人类说话、写作、阅读时,很多“思考”是隐含的:
- 读证明时,中间省略了很多推理;
- 看对话时,需要理解说话人的意图;
- 写文章时,要先构思再落笔;
- 做普通 next-token prediction 时,也可能需要世界知识和隐含推理。
于是 Quiet-STaR 问了一个更大问题:
能不能让语言模型在预测每个 token 之前,先生成一段内部 thought,再用这个 thought 帮助预测未来文本?
这其实是把 STaR 从“显式问答推理”推广到“通用语言建模”。
#3.2 Quiet-STaR 的核心机制
Quiet-STaR 的基本思想是:模型在普通文本中每个位置都可以先“想一下”。这些 thoughts 不一定展示给用户,而是作为内部中间变量。
训练信号来自:这个 thought 是否提升后续 token 的预测概率。
如果某种 thought 让模型更好预测未来文本,那么它就是有用的;如果没帮助,就不值得保留。
这和 STaR 的对应关系是:
| STaR | Quiet-STaR |
|---|---|
| 问答题 | 任意文本 |
| rationale 导向正确答案 | thought 提升未来 token likelihood |
| 答案正确性作为过滤 | 语言建模 likelihood 作为反馈 |
| 显式推理链 | 可隐藏的内部 thought |
#3.3 Quiet-STaR 推动了什么?
Quiet-STaR 的意义在于:它把“模型学习思考”从后训练任务,推回到更接近预训练/持续预训练的层面。
这和你关心的 latent-space reasoning 很相关。Quiet-STaR 仍然生成文本 thought,但它已经在问:
- reasoning 是否应该是显式输出?
- 模型能不能学习“什么时候需要想”?
- thought 是否可以成为隐藏的计算过程,而不是用户可见的回答?
- 预训练时是否可以把“隐式思考”作为一种中间计算来优化?
#3.4 Quiet-STaR 的新问题
它也带来新的麻烦:
- thought 生成增加训练和推理成本;
- 隐藏 thought 难以审计;
- 提升 likelihood 不一定等价于提升可泛化推理能力;
- 模型可能学到的是局部预测技巧,而不是稳定的思维结构。
所以 Quiet-STaR 之后,一个重要问题变成:如何判断模型生成的 thought / rationale 真的是有用推理,而不是语言建模副产品?
#4. 从 STaR 到 V-STaR:不要浪费错误解,让错误也训练 verifier
#4.1 STaR 的浪费:错误样本被丢掉了
原始 STaR 主要保留正确答案对应的 rationales,错误解往往被丢弃。
但这很浪费。错误解里面有很多信息:
- 哪些推理路径容易误导模型;
- 哪些候选答案看似合理但其实错误;
- 模型在哪些步骤会偏离;
- 正确解和错误解之间有什么可区分模式。
V-STaR(Training Verifiers for Self-Taught Reasoners)正是针对这个问题。
#4.2 V-STaR 的核心方法:reasoner 和 verifier 一起自举
V-STaR 利用 STaR 过程中产生的正确解和错误解,训练一个 verifier。
这个 verifier 的作用是:给定多个候选 reasoning / solution,判断哪个更可能正确。
于是闭环变成:
reasoner 生成大量候选解
↓
答案正确性把候选分成正/负
↓
训练 verifier 区分好解与坏解
↓
推理时 verifier 选择更好的候选
↓
更好的候选又能产生更好的训练数据
这一步非常关键,因为它把 STaR 从“只训练生成器”推进到“生成器 + 评价器共同进化”。
#4.3 V-STaR 暴露的新问题:verifier 也可能自我欺骗
Verifier 解决了“只看最终答案太粗糙”的问题,但也带来新问题:
- verifier 的训练数据仍来自同一模型或同一任务分布;
- 如果 verifier 学到的是表面风格,而不是真实正确性,就会偏好“看起来像正确推理”的文本;
- 多轮迭代中,reasoner 可能学会迎合 verifier;
- 这和 RL 中 reward hacking 很像。
因此后续 self-rewarding、process reward、meta-rewarding 等工作,本质上都在处理同一个问题:当评价信号也由模型生成或学习时,如何避免闭环偏差?
#5. STaR 系列的工程化分化:采样、难度、探索与预算
原始 STaR 给了一个简单循环,但没有回答一个非常实际的问题:
每一轮到底应该让模型在哪些题上生成多少样本?
这不是细节,而是自训练能不能 scale 的核心。
#5.1 B-STaR:多轮自训练为什么会越训越窄?
B-STaR(Monitoring and Balancing Exploration and Exploitation in Self-Taught Reasoners)关注的是 exploration / exploitation 平衡。
它观察到:自训练迭代中,模型的探索能力会快速退化。也就是说,模型越来越倾向于生成自己熟悉的解法,而不是探索多样候选。
这会造成两个问题:
- 如果模型只生成少数固定套路,那么即使过滤器很好,也很难发现新能力;
- 如果外部 reward 对候选区分能力下降,后续训练样本质量也会饱和。
B-STaR 的思路是监控两个量:
- Exploration:模型是否还能生成足够多样的候选解;
- Exploitation:奖励/验证器是否还能有效区分好坏候选。
然后动态调整迭代配置,在探索和利用之间平衡。
这对 LLM Agent 特别重要。长程 agent 如果只会重复过去成功轨迹,很快就会卡在局部策略;但如果只探索不利用,又会浪费大量环境交互。
#5.2 AdaSTaR:不要反复训练已经会的题
AdaSTaR(Adaptive Data Sampling for Training Self-Taught Reasoners)处理的是数据采样效率。
普通 STaR 往往随机选题、随机采样。但这会造成:
- 简单题:模型早就会了,继续采样浪费;
- 太难题:模型几乎生成不出正确解,采样也浪费;
- 边界题:模型有时能做对、有时做错,最有学习价值。
AdaSTaR 引入两种自适应采样原则:
- 多样性采样:避免训练集中某些 observation 过度出现;
- 课程采样:根据模型当前能力动态调整题目难度。
人话说就是:把训练预算用在模型“差一点就会”的地方。
这和人类学习非常像:一直刷会的题没用,一直刷完全不会的题也没用,最有效的是能力边界附近的题。
#5.3 HS-STaR:把采样预算重新分配到边界问题
HS-STaR(Hierarchical Sampling for Self-Taught Reasoners via Difficulty Estimation and Budget Reallocation)进一步强调同一点:不同题目的学习效用不同。
它先用轻量预采样估计题目难度,再把剩余生成预算分配给“边界级问题”。
这对自举训练非常重要,因为模型生成训练数据本身是有成本的。一个 self-training 系统不只是要问“哪些样本质量高”,还要问:
- 哪些题值得生成更多候选?
- 哪些题对当前模型最有训练价值?
- 采样预算、训练预算、验证预算如何联合优化?
对 agent 来说,这可以对应到:哪些任务、哪些环境状态、哪些失败轨迹最值得 replay / re-label / distill。
#6. 从内部推理到外部工具:START 与 Toolformer
#6.1 STaR 的一个隐含假设:推理都在模型内部完成
原始 STaR 默认模型靠语言内部推理来解题。但今天的大模型已经越来越像 agent:它可以调用工具、运行代码、检索资料、访问环境。
这带来一个新问题:
如果模型的正确 reasoning 需要工具调用,那么 self-taught reasoner 应该学的不只是 CoT,还应该学会何时调用工具、如何利用工具反馈。
#6.2 Toolformer:模型自己给自己标工具调用数据
Toolformer(2023)不是 STaR 直接后续,但思想非常接近。
它让语言模型在普通文本中自动插入 API 调用候选,然后检查这个 API 调用是否提升后续 token likelihood。如果有帮助,就保留这个调用轨迹作为训练数据。
对应到 STaR:
- STaR 自生成 rationale;
- Toolformer 自生成 tool-use annotations;
- STaR 用答案正确性筛选;
- Toolformer 用语言建模 likelihood 改善筛选。
这说明“模型自己生成训练标注”不只适用于推理链,也适用于工具使用。
#6.3 START:Self-taught Reasoner with Tools
START(2025)更直接地把 self-taught reasoner 和工具结合起来。
它针对大推理模型的一个现实问题:长 CoT 很强,但只靠内部语言推理容易幻觉、低效,尤其在数学、代码和科学问答中,很多计算应该交给 Python 或外部工具。
START 的核心有两步:
- Hint-infer:在推理过程中插入类似“Wait, maybe using Python here is a good idea.” 的提示,激发模型调用工具;
- Hint-RFT:对带工具调用的推理轨迹进行打分、过滤、修改,再微调模型。
这可以看作 STaR 的工具版:
模型生成长 CoT + 工具调用轨迹
↓
执行工具 / 验证答案 / 过滤轨迹
↓
把高质量轨迹作为训练数据
↓
模型更会在合适时候用工具
这对 code agent 特别重要。代码任务天然有外部验证器:测试、编译器、静态检查、运行结果。未来 self-evolving code agent 很可能就是 START / STaR / ReST / RL 的混合体。
#7. 从数学到结构化任务、长上下文、agent 和多模态
STaR 的命名后续工作逐渐扩展到更多场景。它们表面任务不同,但核心都是:模型生成中间结构,外部或内部信号筛选,再训练模型。
#7.1 STaR-SQL:Text-to-SQL 里的自教推理
STaR-SQL(2025)把 STaR 用到 Text-to-SQL。
Text-to-SQL 的优势是:SQL 可以执行,执行结果可以作为验证信号。这很适合自训练。
它的流程大致是:
- 模型为自然语言问题生成 schema linking / decomposition / SQL reasoning;
- 生成 SQL;
- 用执行结果或答案验证;
- 保留能导向正确执行结果的 reasoning;
- 再训练模型。
这个方向说明:STaR 不只是数学题方法,而是适用于“有可执行验证器”的结构化任务。
但它也有新问题:SQL 执行正确不一定语义完全正确。模型可能生成一个在当前数据库上碰巧结果一样、但语义不等价的 SQL。这类似代码任务中“过拟合测试用例”。
#7.2 Self-Taught Agentic Long Context Understanding
这个工作把 self-taught 思路用于长上下文理解。
长上下文问答的问题是:模型不是简单读全文就能答对,而是需要:
- 澄清问题;
- 找到相关上下文;
- 做多跳推理;
- 避免被无关信息干扰。
它提出 Chain-of-Clarifications:模型自生成澄清问题和上下文 grounding,并通过搜索得到偏好对,再用 SFT 和 DPO 把昂贵搜索过程蒸馏成一次前向能力。
这和 STaR 的关系在于:
- STaR 把“多次生成 rationale + 筛选”蒸馏进模型;
- AgenticLU 把“搜索澄清链 + 上下文 grounding”蒸馏进模型。
对 LLM Agent 来说,这很像把在线 search / planning 的轨迹转化为训练数据。
#7.3 SAND:Self-Taught Action Deliberation for Agents
SAND 针对 LLM agents 的行动选择问题。
普通 agent SFT 常常模仿专家轨迹,但模型没有显式比较“还有哪些可选动作”。结果是:看起来合理的 action 容易被过早采用。
SAND 让 agent 在行动前对候选 actions 进行 deliberation:
- 采样多个候选动作;
- 用执行反馈或 critique 比较动作;
- 合成 step-wise action deliberation thoughts;
- 迭代微调 agent。
这可以看作 STaR 从“答案 reasoning”扩展到“行动 reasoning”。
对长程 agent 来说,这是很关键的一步:训练数据不再只是最终成功轨迹,而是包含“为什么不选某些动作”的对比性思考。
#7.4 See, Think, Learn:多模态自教推理
See, Think, Learn 把自教推理用于 VLM。它要求模型先“看”:把视觉属性抽取成文本,再“想”:基于这些属性推理。
它还引入 negative rationales,即解释为什么某些选项不对。
这个方向说明:自训练不仅要生成正例推理,也可以生成负例解释。对提升判别能力、避免迷惑选项很重要。
#7.5 STAR-S:安全规则上的自教推理
STAR-S 把 STaR 思路用于安全对齐:模型根据安全规则生成 reasoning 和 reflection,然后通过微调增强安全推理能力,循环进行。
这说明 STaR 范式也可以进入 alignment:模型不只是学习回答,还学习“如何解释和应用规则”。
但风险也明显:如果安全 reasoning 是模型自己生成的,必须警惕它学到形式化套话,而不是实质安全判断。
#8. 广义自举路线:STaR 不是孤立工作,而是一类范式的早期代表
如果只看名字里带 STaR 的论文,会低估这条路线的影响。更大的图景是:2022 之后,LLM 训练逐渐出现很多“模型生成训练信号,模型再训练自己”的路线。
#8.1 Self-Instruct:自己生成 instruction 数据
Self-Instruct 问的是:instruction tuning 数据能不能由模型自己生成?
它从少量人工 seed instructions 出发,让模型生成更多 instruction-input-output 三元组,过滤后微调模型。
和 STaR 的关系:
- STaR 生成 reasoning rationales;
- Self-Instruct 生成 instruction-following 样本;
- 两者都依赖少量 seed + 自动生成 + 过滤 + 微调。
区别是:STaR 更关注推理过程,Self-Instruct 更关注任务覆盖和指令跟随。
#8.2 WizardLM / Evol-Instruct:不只生成数据,还要生成更难的数据
Self-Instruct 的一个问题是生成任务可能太简单、太同质化。WizardLM 提出 Evol-Instruct:让模型自动把指令复杂化。
这对应到自训练中的一个重要问题:训练数据不是越多越好,而是要有合适难度和多样性。
这和 AdaSTaR / HS-STaR 的思想相通:自举训练最终都要面对 curriculum design。
#8.3 Large Language Models Can Self-Improve
Huang 等人的 Large Language Models Can Self-Improve 直接展示了:LLM 可以在无人工标注的情况下,通过生成高置信 CoT 答案,再微调自身,提升 GSM8K、DROP、OpenBookQA、ANLI 等任务表现。
这和 STaR 非常接近,但更强调 unlabeled datasets 和 self-consistency 筛选。
它进一步说明:自训练的关键不是有没有人工标签,而是有没有足够可靠的筛选/置信机制。
#8.4 ReST / ReST-EM:生成—过滤—再训练的通用框架
ReST(Reinforced Self-Training)和后续 ReST-EM 把这个流程抽象得更一般:
- 从当前 policy 生成样本;
- 用 reward / feedback 筛选;
- 用筛选后的样本做 offline RL 或 SFT;
- 重复。
Beyond Human Data 中的 ReST-EM 在数学和代码任务上展示:当有 scalar feedback,例如答案验证、单测、执行结果,自训练可以超越只用人类数据微调。
这和 STaR 的核心完全一致,只是把 rationale-specific 形式推广成通用 problem-solving self-training。
#8.5 SPIN:模型和自己的历史版本 self-play
SPIN(Self-Play Fine-Tuning)把自举路线推向 preference / distribution matching。
它让当前模型和历史版本产生对比,通过 self-play objective 让弱模型逐步变强。
这条线很重要,因为它不只依赖“正确答案”,而是利用“当前模型 vs 旧模型”的差异构造训练信号。
但它也有典型风险:如果缺少外部锚点,self-play 可能只是在一个封闭分布里循环优化。
#8.6 Self-Rewarding / Meta-Rewarding:模型自己当 judge
Self-Rewarding Language Models 更进一步:模型不仅生成回答,还用 LLM-as-a-Judge 给自己的回答打分,再用 DPO 等方式训练。
Meta-Rewarding 又让模型评价自己的评价质量。
这回答的是 STaR 后续必须面对的问题:
如果没有标准答案,能不能让模型自己提供 reward?
短期看,这很诱人,因为可以减少人工偏好标注;长期看,这是最容易出现自我确认和 reward hacking 的地方。
#8.7 Process-based Self-Rewarding:从最终奖励到过程奖励
Process-based Self-Rewarding 把 self-rewarding 推到推理过程层面:模型对每一步 reasoning 进行评价,产生 step-wise preference / reward。
这和 STaR 的原始问题高度相关:我们不只想知道答案对不对,还想知道每一步是否可靠。
但过程奖励更难。模型很容易偏好“看起来规范”的推理步骤,而不是因果上真正有效的步骤。
#8.8 Can Large Reasoning Models Self-Train?
2025 年的 Can Large Reasoning Models Self-Train? 直接追问:大推理模型能否在 RL 中持续 self-train?
它的结论很有启发:简单 self-feedback 机制可以提升模型表现,也能提升下一轮反馈质量;但长期自奖励 RL 会导致 reward hacking,甚至性能突然崩塌。
这几乎给 STaR 路线画出了一个核心边界:
自训练可以启动能力增长,但如果反馈机制不够稳健,长期闭环会把模型带向奖励漏洞,而不是真实智能。
#9. 把所有工作放进一张问题链
下面这张表不是简单罗列论文,而是按“STaR 暴露的问题 → 后续怎么补”来组织。
| 阶段 | 代表工作 | 核心问题 | 方法直觉 | 新瓶颈 |
|---|---|---|---|---|
| 原始自举推理 | STaR | 没有大量人工 rationale | 自生成 rationale,用答案正确性过滤,再训练 | 正确答案不等于正确推理 |
| 通用语言思考 | Quiet-STaR | STaR 太局限于问答 | 任意文本 token 前生成内部 thought,用 likelihood 改善筛选 | hidden thought 难审计,成本高 |
| 生成器+评价器 | V-STaR | 错误解被浪费,缺少候选选择器 | 用正/负解训练 verifier | verifier 也会偏、会被迎合 |
| 探索/利用平衡 | B-STaR | 多轮自训练探索退化 | 监控 exploration/exploitation 并动态调整 | 如何定义真正有价值的探索 |
| 自适应数据采样 | AdaSTaR | 随机采样浪费训练预算 | 多样性采样 + 课程采样 | 难度估计本身可能不准 |
| 边界题预算分配 | HS-STaR | uniform sampling 忽略题目学习效用 | 把预算给能力边界附近的问题 | 对开放任务如何估计边界 |
| 工具增强推理 | START / Toolformer | 内部推理会幻觉、低效 | 自生成工具调用轨迹并过滤训练 | 工具反馈和语言推理如何对齐 |
| 结构化任务 | STaR-SQL | Text-to-SQL 缺少推理标注 | SQL 执行结果作为验证器 | 执行正确不等于语义正确 |
| Agent 行动 | SAND | agent 只模仿动作,不比较替代动作 | 自生成 action deliberation 并训练 | 长程 credit assignment 难 |
| 自评奖励 | Self-Rewarding / Meta-Rewarding | 没有人工偏好/标准答案 | 模型自己当 judge / meta-judge | self-confirmation、reward hacking |
| 过程奖励 | Process-based Self-Rewarding | final answer reward 太粗 | 对中间步骤打分 | 过程评价更难校准 |
| 持续自训练边界 | Can LRMs Self-Train? | 强推理模型能否长期自举 | 用 self-feedback 做 RL 迭代 | 长期会 reward hacking / 崩塌 |
#10. 这条路线的本质:自举需要三个东西
从 STaR 到后续所有分支,可以抽象出一个通用公式:
Self-improvement = 生成器 + 选择器 + 更新器
#10.1 生成器:模型能不能产生有潜力的新轨迹?
生成器负责提出候选:rationale、thought、SQL、代码、工具调用、agent action、critique、reward judgment。
它决定探索空间。
如果生成器太弱,候选全是垃圾;如果生成器太保守,候选缺乏新信息;如果生成器太随机,筛选成本爆炸。
#10.2 选择器:什么信号告诉我们哪个候选值得学习?
选择器可以是:
- 标准答案;
- 单元测试;
- SQL 执行结果;
- reward model;
- verifier;
- self-consistency;
- LLM-as-a-Judge;
- 环境成功/失败;
- 人类偏好;
- 过程级监督。
这是整个闭环最关键的部分。自训练不是魔法,模型不会凭空变强;它只是把选择器认为好的轨迹蒸馏进参数。
如果选择器错了,模型会更擅长犯选择器喜欢的错误。
#10.3 更新器:如何把筛选结果变成能力?
更新器可以是:
- SFT;
- rejection sampling fine-tuning;
- DPO / preference optimization;
- offline RL;
- RL with self-reward;
- distillation;
- continued pretraining。
不同更新器对应不同稳定性和泛化能力。比如,简单 SFT 稳定但可能过拟合;RL 能优化目标但容易 reward hacking;DPO 稳定一些但依赖 preference pair 质量。
#11. 对“LLM 能不能自己生成训练数据并训练自己”的直接回答
#11.1 能,但不是无条件能
从已有工作看,LLM 确实可以生成训练数据并训练自己,尤其在这些条件下:
- 任务有自动验证器:数学答案、代码测试、SQL 执行、工具返回、环境 reward。
- 初始模型已经有一定能力:完全不会的模型生成不出有用样本。
- 采样足够多样:能覆盖能力边界,而不是只重复已知模式。
- 过滤器足够可靠:能区分真正好样本和伪好样本。
- 训练过程有防崩机制:避免错误放大、模式坍缩、reward hacking。
#11.2 不能把“自生成数据”误解成“无中生有”
STaR 类型方法并不是从零创造知识。它通常依赖一些外部锚点:
- 少量 seed rationales;
- 正确答案;
- 单元测试;
- reward function;
- 人类写的规则;
- 工具和环境;
- 初始预训练模型中已经存在的知识。
所以更准确的说法是:
LLM 可以把已有知识、少量监督和外部反馈,通过自生成轨迹放大成更多训练信号。
这不是凭空造知识,而是 feedback amplification。
#11.3 真正难的是“持续自举”
短期自训练不难。难的是持续很多轮仍然提升。
长期自举会遇到:
- 数据分布越来越窄;
- 模型越来越会迎合 verifier;
- 错误越来越隐蔽;
- reward hacking;
- 训练收益饱和;
- 自生成数据缺少新信息;
- 评价器和生成器共同漂移。
这也是为什么 STaR 后续工作不断引入 verifier、process reward、adaptive sampling、tool feedback、meta-judge、environment feedback。
#12. 和 LLM Agent / model-based RL / latent reasoning 的关系
你关心的不是单纯数学题自训练,而是更大的问题:agent 能不能通过自己和环境互动产生训练数据,从而自我进化。
STaR 给了一个最小原型,但 agent 场景复杂得多。
#12.1 Agent 版 STaR 应该是什么?
一个 agent 版 STaR 可能长这样:
Agent 执行任务
↓
产生 observation-action-thought-tool trajectory
↓
环境反馈 / 测试 / verifier / critic 评价轨迹
↓
抽取关键决策点、失败原因、替代动作、反思
↓
构造训练样本:下一步动作、计划、工具调用、状态摘要、错误修复
↓
更新 agent policy / memory / world model
这比原始 STaR 难很多,因为 agent 轨迹有长程 credit assignment:最后失败,不知道是哪一步错了。
#12.2 Model-based RL 视角:STaR 缺的是世界模型
原始 STaR 的反馈很简单:答案对/错。它没有显式 world model。
但对于 LLM Agent,一个更强的自举系统可能需要:
- 预测某个行动后环境会怎么变;
- 在想象中 rollout 多个候选计划;
- 用 verifier / simulator 评估想象轨迹;
- 把真实环境反馈和想象反馈合并;
- 把失败归因到具体决策。
这就是 model-based RL 和 STaR 可以结合的地方:
STaR 负责把“成功轨迹/解释”蒸馏进模型;world model 负责提供更多可评估的 imagined states 和 imagined trajectories。
#12.3 Latent reasoning 视角:rationale 不一定要是文本
STaR 使用文本 rationale,是因为文本容易监督、容易展示。
但未来更高效的自举推理未必应该把所有思考都写成自然语言。可能存在:
- latent thought vectors;
- compressed task states;
- hidden scratchpad;
- decision-sufficient representations;
- internal rollouts;
- 可蒸馏但不完全可读的 planning states。
Quiet-STaR 已经朝这个方向迈了一步:thought 可以是隐藏中间过程,而不是用户可见输出。
你可以把一个重要研究问题表述为:
如何让模型生成“对决策有用的内部训练信号”,而不是只生成“人类看着像推理的文本”?
#12.4 Code agent 是最适合自举的场景之一
代码任务天然适合 STaR 式自训练:
- 有测试;
- 有编译器;
- 有 lint;
- 有运行错误;
- 有 diff;
- 有 benchmark;
- 有真实 repo 环境。
一个 self-evolving code agent 可以自动生成:
- bug fix trajectories;
- failed attempts and diagnostics;
- test-writing traces;
- patch rationales;
- tool-use sequences;
- code review critiques;
- minimal reproduction scripts。
然后用测试和 reviewer/verifier 过滤,再训练自己。
这里最值得研究的不是“让 agent 多生成代码”,而是:如何把失败轨迹压缩成可训练的、可泛化的决策数据。
#13. 这条路线的开放问题
#13.1 什么时候自训练真的产生新能力?
很多 self-training 提升可能来自:
- 更好地蒸馏已有能力;
- 更充分利用预训练中已有知识;
- 把隐式能力显式化;
- 改善输出格式和推理习惯。
但这不等于产生真正新能力。
关键问题是:自生成数据是否能让模型解决原来稳定不会的问题,还是只让它更稳定地做原来偶尔能做对的题?
#13.2 如何避免自我确认循环?
如果 generator、verifier、reward model 都来自同一个模型族,那么系统可能越来越相信自己的偏见。
可能的解决方向包括:
- 引入外部环境反馈;
- 多模型交叉评审;
- adversarial verifier;
- process-level causal checks;
- 保留人类或形式化验证锚点;
- 对 verifier 做校准和不确定性估计。
#13.3 如何做长轨迹 credit assignment?
原始 STaR 的题目很短,最终答案能反馈整条 rationale。
Agent 轨迹可能几百步。最终失败不能直接说明哪一步错了。需要:
- step-level verifier;
- trajectory slicing;
- counterfactual action comparison;
- hindsight relabeling;
- causal attribution;
- memory credit assignment。
这是把 STaR 推向 agent 的核心难点。
#13.4 如何防止 exploration 退化?
多轮自训练容易越来越保守。解决方向包括:
- explicit diversity objective;
- temperature / sampling budget schedule;
- novelty reward;
- frontier-task sampling;
- curriculum learning;
- self-play opponent;
- environment generation。
B-STaR、AdaSTaR、HS-STaR 已经在 reasoning 任务中开了头,但 agent 场景还远没解决。
#13.5 隐式 thought 如何评估?
Quiet-STaR 类型方法会让模型产生隐藏 thought。问题是:
- 这些 thought 是否忠实?
- 是否可以被安全审计?
- 是否只是提高 likelihood 的技巧?
- 是否能转化为更强下游推理?
- 是否可以压缩成 latent state?
这和 latent reasoning、mechanistic interpretability、安全可控性都相关。
#14. 一个面向研究的总结框架
如果把 STaR 系列抽象成一个研究方向,我会这样定义:
自举式 LLM 训练研究的是:如何让模型把自己的推理、行动、反馈和评价过程转化为新的训练分布,并在多轮闭环中稳定提升,而不是陷入错误放大、模式坍缩或 reward hacking。
它不是单篇论文,也不是单一算法,而是一套范式:
生成候选 → 评价候选 → 选择训练信号 → 更新模型 → 改变下一轮生成分布
关键科学问题是:
- 信息来源:自生成数据里的新信息来自哪里?外部反馈、搜索、工具、环境、模型已有隐知识,分别贡献什么?
- 选择机制:什么样的 verifier / reward / process supervision 能稳定区分真进步和假进步?
- 训练动力学:多轮自训练为什么有时提升、有时坍缩?有没有 scaling law 或 phase transition?
- 分布控制:如何让模型持续在能力边界探索,而不是只模仿自己?
- 表示形式:训练信号应该是显式文本 rationale、工具轨迹、偏好对、过程奖励,还是 latent state?
- Agent 扩展:如何把短题推理的 STaR 扩展到长程交互、代码仓库、真实环境和自演化 agent?
#15. 对 wenjun 可能值得切入的研究机会
结合你的兴趣,我觉得有几条线特别值得看。
#15.1 Agent-STaR:面向长程 agent 的自教轨迹学习
问题:现有 STaR 主要处理短推理题,agent 轨迹长、反馈稀疏、错误归因难。
可能方向:
- 把 agent trajectory 切成 decision points;
- 对每个点生成 alternative actions;
- 用环境反馈和 critic 做局部偏好;
- 训练 agent 学会 action deliberation 和 failure diagnosis;
- 研究哪些轨迹片段最有训练价值。
这可以连接 SAND、Reflexion、ReST、OPD、long-horizon RL。
#15.2 Model-based STaR:用想象轨迹扩大自训练数据
问题:真实环境交互太贵,STaR 只从真实题目采样。
可能方向:
- 训练一个 world model / outcome model;
- 在 latent 或文本空间 imagined rollout;
- 用 verifier 评估 imagined trajectories;
- 只把高置信想象轨迹蒸馏给 policy;
- 研究 imagined data 何时帮助、何时污染。
这正好贴合你关心的 Dreamer for LLM Agent。
#15.3 Decision-sufficient rationale:不要训练漂亮解释,训练决策充分解释
问题:STaR 的 rationale 可能只是事后解释。
可能方向:
- 定义 rationale 对最终决策的因果贡献;
- 用反事实删除/扰动 rationale 检验是否影响答案;
- 训练模型生成最小充分 reasoning;
- 区分 human-readable explanation 和 model-useful reasoning state。
这能连接 latent reasoning 和 faithful CoT。
#15.4 Frontier sampling for self-evolving code agents
问题:代码 agent 自训练最缺的是有效采样策略。
可能方向:
- 用测试通过率、错误类型、修改规模估计任务难度;
- 把生成预算放在 agent 能力边界附近的 issues;
- 保留失败修复轨迹,训练 debugger / planner;
- 用 repo-level verifier 避免过拟合单测。
这相当于把 AdaSTaR / HS-STaR 推到真实代码环境。
#15.5 Verifier co-evolution:生成器和评价器一起进化但不一起崩
问题:V-STaR / self-rewarding 都会遇到 verifier drift。
可能方向:
- 多 verifier ensemble;
- verifier uncertainty;
- adversarial candidate generation;
- periodic external calibration;
- verifier reward hacking detection;
- process-level consistency checks。
这是长期自举能不能成立的关键。
#16. 参考工作索引
以下按主题列出本文涉及的代表工作,方便继续深入。
#STaR 直接主线与命名后续
- Eric Zelikman et al., STaR: Bootstrapping Reasoning With Reasoning, 2022.
- Eric Zelikman et al., Quiet-STaR: Language Models Can Teach Themselves to Think Before Speaking, 2024.
- Arian Hosseini et al., V-STaR: Training Verifiers for Self-Taught Reasoners, 2024.
- Weihao Zeng et al., B-STaR: Monitoring and Balancing Exploration and Exploitation in Self-Taught Reasoners, 2024/2025.
- Mingqian He et al., STaR-SQL: Self-Taught Reasoner for Text-to-SQL, 2025.
- Chengpeng Li et al., START: Self-taught Reasoner with Tools, 2025.
- Woosung Koh et al., AdaSTaR: Adaptive Data Sampling for Training Self-Taught Reasoners, 2025.
- Feng Xiong et al., HS-STaR: Hierarchical Sampling for Self-Taught Reasoners via Difficulty Estimation and Budget Reallocation, 2025.
- Yufan Zhuang et al., Self-Taught Agentic Long Context Understanding, 2025.
- Yu Xia et al., SAND: Boosting LLM Agents with Self-Taught Action Deliberation, 2025.
- Di Wu et al., STAR-S: Improving Safety Alignment through Self-Taught Reasoning on Safety Rules, 2026.
#广义自训练、自生成数据与自我改进
- Jiaxin Huang et al., Large Language Models Can Self-Improve, 2022.
- Yizhong Wang et al., Self-Instruct: Aligning Language Models with Self-Generated Instructions, 2022.
- Yuntao Bai et al., Constitutional AI: Harmlessness from AI Feedback, 2022.
- Timo Schick et al., Toolformer: Language Models Can Teach Themselves to Use Tools, 2023.
- Can Xu et al., WizardLM: Empowering Large Pre-trained Language Models to Follow Complex Instructions, 2023.
- Caglar Gulcehre et al., Reinforced Self-Training (ReST) for Language Modeling, 2023.
- Avi Singh et al., Beyond Human Data: Scaling Self-Training for Problem-Solving with Language Models, 2023/2024.
- Zixiang Chen et al., Self-Play Fine-Tuning Converts Weak Language Models to Strong Language Models, 2024.
- Weizhe Yuan et al., Self-Rewarding Language Models, 2024/2025.
- Tianhao Wu et al., Meta-Rewarding Language Models, 2024.
- Shimao Zhang et al., Process-based Self-Rewarding Language Models, 2025.
- Sheikh Shafayat et al., Can Large Reasoning Models Self-Train?, 2025.
#过程监督、反思与推理搜索相关
- Hunter Lightman et al., Let's Verify Step by Step, 2023.
- Noah Shinn et al., Reflexion: Language Agents with Verbal Reinforcement Learning, 2023.
- Aman Madaan et al., Self-Refine: Iterative Refinement with Self-Feedback, 2023.
- Shunyu Yao et al., Tree of Thoughts: Deliberate Problem Solving with Large Language Models, 2023.
#17. 最后总结
STaR 的重要性不在于它提出了某个复杂算法,而在于它把一个非常核心的问题具体化了:
模型能否把自己的推理尝试变成训练数据,从而自我提升?
后续几年,这个问题不断扩展:
- 从问答 rationale 到隐藏 thought;
- 从正确答案过滤到 verifier;
- 从随机采样到 adaptive sampling;
- 从内部推理到工具调用;
- 从数学题到 SQL、长上下文、agent、多模态、安全;
- 从自生成答案到自生成 reward;
- 从短期提升到长期自训练稳定性。
最终我们看到的不是一个“模型自己学会一切”的简单故事,而是一个更复杂、更科学的问题:
LLM 自举需要外部反馈、选择机制、探索机制、训练稳定性和表示设计共同成立。没有这些,自训练只是自我模仿;有了这些,它可能成为未来 self-evolving agent 和持续学习基础模型的重要训练范式。
对你要研究的 topic 来说,STaR 最值得继承的不是具体的 rationale prompt,而是这个问题意识:
如何设计一个闭环,使模型生成的轨迹不是垃圾数据,而是能稳定推动下一代模型越过当前能力边界的训练信号?