← 返回 2026-02-09

SE-Bench:基于知识内化的自进化能力基准测试 SE-Bench: Benchmarking Self-Evolution with Knowledge Internalization

Jiarui Yuan, Tailin Jin, Weize Chen, Zeyuan Liu, Zhiyuan Liu, Maosong Sun 📅 2026-02-04 👍 2 2026-07-13 08:35
LLM Agent SFT 基准测试 强化学习 知识内化 自进化智能体

混淆NumPy库构建伪新知识域,诊断LLM智能体的知识内化与自进化能力

前置知识

知识内化(Knowledge Internalization)

知识内化是指智能体将外部信息(如API文档、新工具的使用方法)从上下文记忆转化为参数化记忆的过程。在本文语境下,一个理想的自进化智能体应像人类软件工程师学习新库一样:最初依赖文档,但通过反复练习最终将逻辑编码到模型权重中,不再需要外部辅助即可流畅使用。内化区别于短期的上下文适配(in-context adaptation),它要求信息被持久地压缩进模型参数,使得即使在测试时完全移除文档,模型仍能正确调用相关功能。

本文的核心目标就是测量LLM的知识内化能力,理解内化的机制和条件是解读所有实验结论的基础。

自进化智能体(Self-Evolving Agent)

自进化智能体是指能够通过与环境的交互自主提升自身能力的智能体,无需人类标注数据的持续注入。它应具备终身学习能力,能从自身经验中不断积累新知识和新技能。当前自进化的实现路径主要有三类:记忆工程(将经验摘要存入外部记忆库供未来检索)、后训练(用成功轨迹更新模型参数)、以及协同进化训练(智能体自行生成任务和解法进行训练)。自进化被视为通向通用人工智能(AGI)的必要前提之一。

SE-BENCH被定位为自进化智能体的诊断平台,理解自进化的概念框架有助于把握本文的定位和贡献。

SFT与RL(Supervised Fine-Tuning & Reinforcement Learning)

SFT(监督微调)是最直接的参数优化方法,通过最大化正确轨迹的对数概率来更新模型参数。RL(强化学习)则通过奖励信号引导模型优化,本文使用GRPO算法,其训练目标使用裁剪的概率比率和组内归一化优势值。SFT只对正确样本施加正向梯度,而RL同时包含正向和负向梯度信号。具体而言,SFT的目标函数为 $\mathcal{L}_{SFT}(\theta) = \mathbb{E}_{x \sim D} \left[ \frac{1}{N} \sum_{i=1}^{N} \log \pi_\theta(y_i | x) \right]$,RL的目标函数为 $\mathcal{L}_{RL}(\theta) = \mathbb{E}_{x \sim D} \left[ \frac{1}{N} \sum_{i=1}^{N} \rho_i(\theta) A_i \right]$。

本文的关键发现之一就是SFT和RL在知识内化上存在根本性差异,理解两者的训练机制是理解'RL Gap'的核心前提。

PPO裁剪(PPO Clipping)

PPO(Proximal Policy Optimization)中的裁剪机制通过限制策略更新幅度来保证训练稳定性。具体而言,它将策略比率 $r_t(\theta) = \frac{\pi_\theta(a_t|s_t)}{\pi_{\theta_{old}}(a_t|s_t)}$ 限制在 $[1-\epsilon, 1+\epsilon]$ 区间内,即 $\min(r_t(\theta), \text{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon))$。这意味着每次参数更新时,新策略与旧策略的差异被严格约束。这种'安全'机制在传统RL任务中有益,但本文发现它对知识内化有害——因为内化新的词汇映射需要大幅调整概率分布,而裁剪机制恰恰抑制了这种大幅度的参数更新。

PPO裁剪被本文识别为RL无法内化知识的两个关键机制原因之一,是理解'RL Gap'的技术细节核心。

知识混淆(Knowledge Obfuscation)

知识混淆是本文提出的核心实验设计方法。具体操作是将NumPy库的268个常用函数映射到随机生成的无语义标识符(例如 numpy.mean 被映射为 zwc.kocito),并实现一个名为ZWC的包装库。ZWC内部实际调用原始NumPy函数,但对外暴露完全陌生的API名。所有输入输出被包装为自定义的ZWCArray类,防止模型通过调用NumPy数组的原生方法绕过混淆。同时使用Gemini-2.5-Pro将原始NumPy文档翻译为ZWC风格的API文档。这种设计创造了一个'永远分布外'的领域——不存在于任何预训练数据中。

知识混淆是SE-BENCH实现'无信息不可能、有信息则平凡'这一核心诊断特性的技术基础。

GRPO(Group Relative Policy Optimization)

GRPO是一种RL算法,其特点是使用组内相对优势(group-normalized advantage)来估计每个轨迹的优势值。对于每个prompt生成的一组轨迹,GRPO计算每个轨迹相对于组内平均表现的优势 $A_i$,然后使用裁剪的概率比率 $\rho_i(\theta)$ 进行策略更新。与标准PPO的区别在于,GRPO的优势值经过组内归一化,这意味着低于平均表现的轨迹会获得负优势值,产生负梯度信号来抑制不良行为。本文发现这种负梯度信号对知识内化的早期阶段特别有害。

GRPO是本文所有RL实验使用的基础算法,理解其优势计算方式才能理解'RL Gap'中负梯度问题的具体机制。

研究动机

当前评估自进化智能体能力的方法存在两个根本性障碍:先验知识纠缠和推理复杂度纠缠。先验知识纠缠是指,当模型解决一个涉及'新'知识的任务时,我们无法判断智能体是从相关经验中学到的,还是仅仅回忆了预训练数据。例如,如果要评估一个模型学习新发布库的能力,随着模型知识截止日期的推进,基准测试很快就会过时。推理复杂度纠缠是指,如果智能体在复杂任务上失败,我们无法判断是因为它未能内化必要知识,还是因为推理能力不足。这就像一个背熟了教科书的学生却因逻辑难度而非记忆空白而解不出前沿数学题。现有的基准测试在长程信息检索、迭代响应精炼和复杂任务执行等子技能上取得了进展,但无法干净地隔离智能体处理和存储经验的核心能力。

本文的目标是本文的目标是构建一个类似'大海捞针'(Needle in a Haystack)的诊断测试环境,用于严格测量自进化智能体的知识内化能力。具体而言,这个环境需要满足三个诊断特性:(1)无信息不可能——没有文档,猜测正确API的概率在数学上为零,消除预训练知识的干扰;(2)有信息则平凡——底层逻辑与标准库一一映射,对于内化了新API的智能体来说任务是算法上平凡的,任何理想的自进化方法理论上应达到接近100%的成功率;(3)组合泛化——训练集仅包含单函数任务,测试集需要组合多个内化函数来解决问题,评估超越简单记忆的泛化能力。

与已有工作不同的是,本文的独特切入角度在于利用知识混淆(knowledge obfuscation)技术创造一个'永远分布外'的合成领域。不同于尝试学习新发布的库(会随时间过时),本文将成熟的NumPy库系统性地混淆为一个不存在于互联网上的伪新包ZWC,包含268个随机命名的函数。这种设计使得基准测试永久有效——无论未来模型的预训练数据如何扩展,都不可能包含这个虚构库的知识。同时,由于ZWC内部逻辑与NumPy完全同构,任务的推理复杂度被降至最低,从而干净地隔离出'记忆'这一单一变量。这与现有基准测试(如代码生成、工具使用评估)形成了本质区别:SE-BENCH不测试推理能力,只测试知识内化能力。

核心方法

SE-BENCH的方法论可以概括为三个阶段的流水线设计:混淆(Obfuscation)、生成(Generation)和过滤(Filtering)。直觉上,研究者想要创造一个'干净'的实验环境,就像控制变量实验一样——保持任务的推理难度不变(平凡),只改变知识的可用性(有文档vs无文档),从而精确测量知识内化能力。技术路线上,首先选择NumPy作为源域(因为其功能丰富且逻辑简单),将268个常用函数映射到随机标识符,实现ZWC包装库;然后用Claude-4.5-sonnet基于原始NumPy函数生成简单编程任务和测试用例;最后通过三个强力LLM的严格共识过滤确保任务质量。整个流程的目标是构建一个'不可能猜对、容易学对'的诊断平台。

本文的核心创新是知识混淆机制本身及其带来的三个诊断特性。与已有方法的本质区别在于:(1)不同于评估现有工具使用能力(如WebArena、SWE-Bench),SE-BENCH创造了一个模型确定没有先验知识的领域,彻底消除了预训练数据的干扰;(2)不同于简单的函数重命名,ZWC实现了完整的包装器架构——ZWCArray类阻止了模型通过调用NumPy原生方法绕过混淆;(3)不同于测试复杂推理能力的基准,SE-BENCH的任务在有文档条件下是算法上平凡的(标准NumPy下Qwen3-8B准确率超过90%),从而将推理失败从内化失败中干净分离。这种'知识混淆+平凡任务'的组合设计是SE-BENCH区别于所有现有基准的根本创新。

方法步骤详情

SE-BENCH的构建流程分为三个严格阶段。第一阶段:混淆(Obfuscation)。选定NumPy中268个常用函数,为每个函数生成随机无语义标识符(如numpy.mean映射为zwc.kocito),实现ZWC包装库。每个ZWC函数内部调用对应NumPy函数,所有输入输出被包装为ZWCArray类(防止通过.numpy()转换绕过)。使用Gemini-2.5-Pro将原始NumPy文档翻译为ZWC风格的API文档。第二阶段:问题生成(Generation)。使用Claude-4.5-sonnet生成两类任务:单函数任务(为每个函数创建只需该函数即可解决的独立问题,确保100%覆盖)和多函数任务(随机采样10个函数,生成需要至少3个函数组合的复杂问题)。每个任务包含问题描述和至少8个测试用例。第三阶段:过滤(Filtering)。将生成的任务(以原始NumPy形式)提供给三个不同家族的SOTA模型(Qwen3-Coder-480B、Gemini-2.5-Pro、GPT-OSS-120B),只有三个模型都能独立解决并通过所有测试用例的任务才被保留。最后对10%的随机子集进行人工验证。

技术新颖性

SE-BENCH的技术新颖性体现在多个层面。首先,知识混淆的概念本身是新颖的——不是简单地测试对新知识的学习能力,而是通过系统性地将已有知识'伪装'成新知识来创造受控实验环境。其次,ZWCArray类的设计阻止了'旁路攻击',确保模型必须真正学会混淆后的API而非利用底层NumPy。第三,共识过滤协议(三模型严格一致性)是质量保证的创新方法,它确保了'有信息则平凡'特性的成立。第四,训练-测试的信息可用性严格分离设计(训练有文档、测试无文档)创造了一个纯净的知识内化评估环境。最后,将整个基准测试定位为'自进化的单元测试'而非通用能力评估,这种定位本身也是一种概念创新——类比长上下文模型需要通过Needle-in-a-Haystack测试证明基本能力。

SE-BENCH构建流水线概览
Figure 1: SE-BENCH构建流水线概览

实验结果

实验结果揭示了三个关键发现。首先,Open-Book Paradox(开放书悖论):在Qwen3-8B上,Open-SFT(训练时保留文档)在测试时准确率为0%,而Closed-SFT(训练时移除文档)达到39.6%(单函数)和11.6%(多函数),尽管两者使用完全相同的训练轨迹。即使在测试时也提供文档(模拟Open-SFT的训练分布),Closed-SFT仍然优于Open-SFT(见Figure 2),证明这不是简单的分布匹配问题,而是真正的参数化内化。其次,RL Gap(强化学习鸿沟):Closed-RL在所有模型规模上准确率均为0%,而通过消融实验(Table 3)发现,SFT风格的RL配置(使用SFT超参数、SFT目标函数、二值优势 $A \in \{0,1\}$)能恢复51.0%的单函数准确率,但引入PPO裁剪损失或GRPO优势函数后立即崩溃至0%。第三,Self-Play可行性:Absolute-Zero(纯RL自博弈)准确率为0%,但Closed-SFTself(用SFT训练自生成数据)达到22.5%,证明模型确实能从自生成的噪声数据中学习,关键在于优化方法而非数据来源。此外,混合方法Closed-SFT-RL在Qwen3-8B上达到最佳性能54.4%(单函数)和17.9%(多函数),表明RL可以放大SFT内化的知识,但无法从零内化。记忆方法中,Expel在多函数任务上表现突出(Qwen3-8B上15.5%),但远未完美。

SE-BENCH设计特性验证
Table 1: SE-BENCH设计特性验证
不同模型和方法的平均性能(5次rollout)
Table 2: 不同模型和方法的平均性能(5次rollout)
RL组件消融实验
Table 3: RL组件消融实验
自博弈消融实验
Table 4: 自博弈消融实验
Closed-SFT vs. Open-SFT对比
Figure 2: Closed-SFT vs. Open-SFT对比
Closed-SFT和Closed-SFT-RL的错误类型分布
Figure 3: Closed-SFT和Closed-SFT-RL的错误类型分布
查看结构化数据
任务指标本文基线提升
SE-BENCH单函数任务(Qwen3-8B) Pass@5平均准确率(%) Closed-SFT: 39.6, Closed-SFT-RL: 54.4 Open-SFT: 0.0, Open-RL: 0.0, Closed-RL: 0.0, ACE: 11.2, Expel: 47.1 Closed-SFT-RL相对Closed-SFT提升37.4%(54.4 vs 39.6),相对Expel提升15.5%(54.4 vs 47.1)
SE-BENCH多函数任务(Qwen3-8B) Pass@5平均准确率(%) Closed-SFT: 11.6, Closed-SFT-RL: 17.9 Open-SFT: 0.0, Open-RL: 0.0, Closed-RL: 0.0, ACE: 4.1, Expel: 15.5 Closed-SFT-RL相对Closed-SFT提升54.3%(17.9 vs 11.6),相对Expel提升15.5%(17.9 vs 15.5)
SE-BENCH设计验证(Qwen3-8B) Pass@64准确率(%) ZWC In-Context: 85.3(单函数)/ 70.5(多函数) Standard NumPy: 97.4(单函数)/ 93.6(多函数), ZWC Zero-Shot: 0.0 / 0.0 证明了SE-BENCH的三个诊断特性:无信息不可能(零样本0%)、有信息可解(上下文学习超过70%)、推理平凡(标准NumPy超过93%)
RL消融实验(Qwen3-8B单函数) 准确率(%) SFT-like Closed-RL: 51.0 w/ PPO Clip Loss: 0.0, w/ GRPO Advantage: 0.0, w/o Larger LR: 31.7, w/o Larger BSZ: 31.7 SFT-like配置恢复51%性能,证明RL框架本身不是问题,PPO裁剪和负梯度是关键瓶颈
自博弈实验(Qwen3-8B单函数) 准确率(%) Closed-SFTself: 22.5 Absolute-Zero: 0.0, Open-SFTself: 0.0, Closed-SFT: 39.6 证明模型能从自生成数据中内化知识,SFT优化方法是自博弈成功的关键

局限与改进

SE-BENCH存在若干局限性。首先,基准测试的知识域局限于NumPy这一单一库的268个函数,可能无法完全代表更广泛的知识内化场景(如自然语言知识、多模态技能)。其次,任务均为Python编程任务,类型相对单一,可能无法测量其他模态或领域的内化能力。第三,虽然作者在Qwen3-30B-A3B和Llama3.2-3B上进行了补充实验,但主要实验仅在Qwen3系列的三个规模(8B/4B/1.7B)上进行,对其他模型家族的泛化性有待进一步验证。第四,本文使用AST验证来确保解法确实使用了ZWC API而非绕过混淆,但这种验证方式可能无法捕获所有可能的'黑客'行为。第五,记忆方法(ACE、Expel)的评估可能受到外部记忆管理策略的影响,不完全反映模型本身的内化能力。最后,本文的RL实验仅使用GRPO算法,未涵盖其他RL算法(如DPO、RLHF等),'RL Gap'的结论是否对所有RL方法成立需要进一步验证。此外,本文未探讨连续学习或多任务学习场景下的知识内化。

独立分析的弱点

本文存在几个值得改进的弱点。第一,268个函数的知识规模相对较小,人类学习一个新库可能涉及数千个API,未来工作可以扩展函数规模以测试更大知识量下的内化能力。第二,任务都是简单的编程任务(单函数或少量函数组合),缺乏更复杂的推理链或长程任务,可能无法测量'深度内化'——即理解API背后的原理而不仅仅是记忆映射关系。第三,ZWCArray类的封装虽然阻止了直接绕过,但模型仍可能通过异常处理、反射机制等间接方式探测底层NumPy接口,安全性设计可以更严格。第四,消融实验虽然识别了PPO裁剪和负梯度是RL失败的原因,但未深入解释为什么这两个机制对知识内化特别有害(作者也承认这是未来方向),缺乏理论层面的分析。第五,错误分类(Figure 3)使用Gemini-3-Flash自动分类100个失败轨迹,可能存在分类噪声,可以结合人工验证提升准确性。针对这些弱点,建议:扩展知识规模至1000+函数;设计需要深层理解而非简单映射的任务;增加更严格的安全检查机制;从信息论或优化理论角度建立内化的理论模型。

未来方向

作者和本文成果指向多个重要的未来研究方向。首先,作者明确指出'RL Gap'的底层机制是开放问题——为什么PPO裁剪和负梯度对知识内化特别有害,以及是否可以通过修改RL算法(如使用无裁剪的策略梯度、或者针对内化设计专用的优势函数)来弥合这一鸿沟。其次,SE-BENCH可以扩展到更多知识域(如新编程语言、新数学符号系统、多模态工具),构建更全面的自进化诊断套件。第三,混合方法Closed-SFT-RL的成功表明SFT和RL有互补性,未来可以设计更精细的两阶段训练策略——SFT阶段负责内化、RL阶段负责优化利用——并探索最优的切换时机和过渡方式。第四,自博弈实验的积极结果(22.5%)打开了自主课程学习的可能性,未来可以研究如何提升自生成数据的质量以缩小与人工标注数据的差距。第五,从更宏观的角度,SE-BENCH可以作为'自进化单元测试'被集成到更大的自进化系统中,确保智能体在尝试复杂环境自进化前具备基本的知识内化能力。最后,将本文的发现与Prefix-RL、Deliberative Alignment等前沿工作结合,可能产生新的算法设计思路。

复现评估

本文在可复现性方面做得较好。作者在论文中明确指出代码和数据集已开源在GitHub(https://github.com/thunlp/SE-Bench),包含完整的ZWC库实现、任务数据集(1417个任务)和评估脚本。训练使用8块NVIDIA A100 GPU,算力需求中等偏高但对学术团队可接受。所有RL实验使用veRL框架中的GRPO算法,框架本身也是开源的。评估协议采用严格的AST验证,确保结果的客观性和可复现性。然而,存在一些复现挑战:(1)混淆库的文档翻译使用Gemini-2.5-Pro,该模型的API可能更新或变化;(2)任务生成使用Claude-4.5-sonnet,同样存在模型版本依赖;(3)过滤阶段需要三个SOTA模型(Qwen3-Coder-480B、Gemini-2.5-Pro、GPT-OSS-120B),算力成本较高。总体而言,核心评估框架可以复现,但数据生成流程依赖特定商业API可能带来长期维护挑战。