Toward Interactive Understanding of Code APIs¶
会议: NeurIPS 2026
arXiv: 2609.32081
OpenReview: https://openreview.net/forum?id=Tua6AP83Su
代码: https://github.com/DhananjayAshok/PAU-Benchmark
领域: 其他
关键词: 黑盒代码理解, API探索, Python基准, 非对称Actor-Critic, 强化学习
一句话总结¶
论文提出了评估大语言模型通过黑盒交互理解Python代码API能力的基准PAU,揭示了前沿大模型普遍存在的盲目自信与浅层探索缺陷,并引入具备特权信息的非对称Actor-Critic(AAC)强化学习框架,显著提升了智能体主动探索与逆向理解API功能的能力。
研究背景与动机¶
近年来以大语言模型(LLM)为核心的代码智能体在代码生成与源码理解任务上取得了突破性进展,但现有的评测基准(如SWE-bench、HumanEval等)普遍假设智能体对目标代码库拥有完全的源码可读权限。然而在真实的软件开发与安全分析场景中,开发者和分析人员常常处于探索式编程(exploratory programming)环境中,必须与第三方专有闭源API或未知系统组件交互。在此类黑盒测试、反向工程与闭源漏洞挖掘场景下,系统内部实现被完全遮蔽,智能体无法通过“阅读源码”获知逻辑,必须仅通过构造探索性输入并观察输出反馈来推断其真实行为契约。
现有文献对于大语言模型能否仅通过纯粹的黑盒交互来探索并逆向理解未知代码API,缺乏系统性的基准支撑与深层机制分析。已有的逆向工程评测通常依赖极度简化的合成任务(如仅映射整数列表的单行lambda表达式),或引入了预知正确答案的外部Oracle来直接提供反例,从而将“主动设计测试用例”与“判断终止时机”这两项最核心的技术难点直接绕过。这导致业界并不清楚前沿大模型在面对真实语义多样、控制流复杂的黑盒API时,其主动探索与反思归纳的真实能力瓶颈究竟在何处。
更严峻的瓶颈在于训练策略的缺失:传统的监督微调(SFT)依赖密集的步骤级人类探索轨迹,数据获取成本极高;而基于可验证奖励的强化学习(RLVR)在代码生成任务中高度依赖确定性的单元测试通过率,但在探索未知API时,外界无法针对某个中间探测输入是否“具有探索启发性”提供自动化可验证的即时奖励。核心 idea:本文构建了评估黑盒交互式代码API理解能力的基准PAU,揭示了前沿模型探索不足与过早终止的系统性缺陷,并将机器人学习中的非对称Actor-Critic(AAC)范式引入LLM后训练,利用掌握真实函数规范的特权Critic为黑盒Actor提供高保真步级奖励,驱动模型实现深层主动探索。
方法详解¶
整体框架¶
本文的研究方案由评测基准构建、三阶段交互探索协议以及非对称Actor-Critic(AAC)训练框架三部分构成。在评测流程中,智能体面对一个完全匿名的无状态Python函数API test_func(arg0, ...),且仅提供2个初始输入-输出示例用于确定基本参数类型空间。智能体以交互智能体模式运行,在设定的最大调用预算(25次)内,自主决定每轮发送给API的探测输入元组,接收执行返回值或类型异常,并动态维护和修订对该函数功能的推测,直至其自信确认已完全理解并主动终止探索,最终输出关于该API完整功能的自然语言描述。
为了定量衡量生成的描述是否准确捕获了API的真实语义,评测框架引入了语义评分与可执行逆向验证双重视角。此外,为了克服探索过程缺乏即时奖励的困境,训练系统在策略优化阶段为Critic模型赋予真实的函数黄金描述作为特权信息,在保持Critic与Actor参数规模对等的前提下,输出高质量的步级稠密奖励与探索终止惩罚。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["黑盒API输入<br/>函数签名 + 2个上下文示例"] --> B["PAU基准与双重视角评测体系<br/>语义评判评分 + 代码逆向执行匹配"]
B --> C["三阶段ReACT交互式探索协议<br/>假设构想 → 输入生成 → 假设修订"]
C --> D["具特权信息的非对称Actor-Critic强化学习<br/>Actor黑盒交互 + 冻结特权Critic步级密集奖励"]
D --> E["输出与收敛<br/>高覆盖度探索轨迹 + 准确函数功能描述"]
关键设计¶
1. PAU基准与双重视角评测体系:解耦表面词汇重叠与逆向功能等价性
针对现有基准缺乏规模与多样性、且传统文本相似度指标(如BLEU、ROUGE)在代码语义相反时容易误判高分的问题,本文构建了包含3.9K训练样本与741个测试实例的PAU基准。样本来源于HumanEval、MBPP和CruxEval,经过严格的函数重命名、参数匿名化(arg0, arg1, ...)、剔除危险系统模块、自动生成类型约束检查器(validate_input_args)以及语句/分支覆盖率过滤,保证测试集函数在独立测试用例集 \(E_{test}\) 上的平均语句与分支覆盖率超过99%。
评测体系采用双重视角互补验证:一方面采用强大的开源模型Llama3-70B作为LLM裁判(LM-as-a-judge),基于1至5分的Likert量表打分,衡量预测描述与黄金描述的语义对齐度;另一方面引入独立代码生成模型Qwen3-Coder-30B-A3B,根据模型输出的描述逆向合成可执行Python代码 \(\hat{f}\),并在覆盖全面的测试套件 \(E_{test}\) 上计算代码执行匹配率: $\(\text{Code Match} = \frac{1}{|E_{\text{test}}|} \sum_{i \in E_{\text{test}}} \mathbb{I}[f(i) = \hat{f}(i)]\)$ 该指标直接验证了所获描述能否指导下游逆向重构出功能等价的代码,有效克服了单一评分标准的偏差。
2. 三阶段ReACT交互式探索协议:显式解耦认知规划与执行反馈 针对开放式对话中智能体常出现的调用格式混乱和探索逻辑跳跃问题,本文设计了基于ReACT思想的结构化三阶段交互循环。智能体在整个生命周期内维护一个当前假设文本和所有历史观察到的输入输出列表: - 阶段一(输入构想,Next input conceptualization):智能体结合当前假设、函数签名及历史样例,显式进行思维链推理,构想下一个最能证实或证伪当前假设的输入特性(如边界值、极值、异型类型等); - 阶段二(输入生成,Next input generation):将上一阶段的推理转化为合法的Python参数元组,送入沙盒执行器调用真实黑盒函数,捕获返回值或异常信息; - 阶段三(假设修订与反思,Hypothesis revision):将最新观测纳入上下文,重新评估所有历史证据,修正对函数行为的自然语言假设,并自主输出二元决策标签(继续探索或确认终止)。
这一循环将盲目的直接提问收敛为严谨的科学假设检验流程,并使定性定量定位模型的故障模式(格式解析失败、幻觉、推理矛盾、浅层探索)成为可能。
3. 具特权信息的非对称Actor-Critic强化学习:打破无验证奖励困境 针对缺乏探索监督数据和中间步验证奖励的根本困境,本文从机器人控制中的特权信息学习获得灵感,首次将非对称Actor-Critic(AAC)架构引入大语言模型强化学习。在传统的对称框架中,若Critic仅能接触到与Actor相同的黑盒信息,其给出的价值评估不可避免地存在噪声与幻觉;而若直接用预知答案的教师模型进行SFT蒸馏(如CodeARC方式),教师生成的轨迹往往仅包含1-2次精准直击边界的“超优路径”,导致微调后的学生模型学会了极度惰性的过早终止,严重损害实际探索能力。
AAC框架保持Critic与Actor使用完全相同的同构基座模型(如Qwen3-8B),并在训练期间冻结Critic权重。Critic通过系统提示词被赋予“特权信息”——即待推测函数的真实黄金功能描述 \(d\)。在此不对称感知下,Critic能够在每一步准确裁决Actor构想的探测输入是否具备判别力、生成的假设是否契合真值、以及智能体是否发生了“未测完全即过早终止”或“已获正解却无效消耗轮数”。Actor在完全黑盒环境下自主探索生成真实分布的轨迹,策略通过GRPO算法针对Critic回传的步级奖励进行优化,彻底解决了教师轨迹与现实探索行为脱节的分布偏移问题。
损失函数 / 训练策略¶
训练基于SkyRL框架和GRPO算法开展,Actor与Critic基座采用LoRA微调(rank=16, alpha=16),优化器学习率设为 \(1 \times 10^{-6}\),训练最大轮数为5个epoch。整个交互回合最大步长 \(T_{max} = 40\)。在每个回合的三阶段循环中,系统根据混合奖励调度函数为Actor发放步骤标量奖励:
- 构想步奖励:由Critic裁判模型对输入判别力打分 \(r_{judge}^{reason} \in [0, 1]\),并附带针对过长生成的长度惩罚 \(r_{len}(x; \tau=100, \alpha=0.05)\): $\(r_{\text{reasoning}} = r_{\text{judge}}^{\text{reason}} + r_{\text{len}}(\text{response}; \tau=100, \alpha=0.05)\)$
- 生成步奖励:格式解析错误或引发运行时非法异常扣减惩罚 \(p_{parse} = 0.5\);成功执行返回合法结果给予微量奖励 \(\frac{\lambda_H}{2 T_{max}} = 0.025\)(避免干扰假设奖励的主导性),并加紧凑长度惩罚: $\(r_{\text{input}} = \begin{cases} -0.5, & \text{解析失败或运行时异常} \\ +0.025, & \text{成功干净执行} \end{cases} + r_{\text{len}}(\text{input}; \tau=30, \alpha=0.5)\)$
- 修订步奖励:结合当前假设质量分 \(s_{hyp} \in [0, 1]\)(由特权Critic比对真值按0-9分折算)与终止动作决策奖励 \(b_{term}\): $\(r_{\text{reflect}} = \mathbb{I}[\text{parse fail}] \cdot (-0.5) + \lambda_H \cdot \big(s_{\text{hyp}} + b_{\text{term}}(\text{done}, s_{\text{hyp}})\big) + r_{\text{len}}\)$ 其中奖励权重 \(\lambda_H = 2.0\),终止奖惩函数定义为: $\(b_{\text{term}}(\text{done}, s) = \begin{cases} +1.0, & \text{done}=\text{True 且 } s > 0.7 \quad (\text{正确终止}) \\ -1.0, & \text{done}=\text{True 且 } s \le 0.7 \quad (\text{过早终止}) \\ +1.0, & \text{done}=\text{False 且 } s < 0.3 \quad (\text{正确继续探索}) \\ 0, & \text{其他情况} \end{cases}\)$ 若回合耗尽40步仍未收敛,施加 \(-1.0\) 的最终超时惩罚。
实验关键数据¶
主实验¶
论文评测了涵盖指令微调(Qwen3、Llama3系列)、代码专用模型(Qwen3-Coder系列)、强化学习推理模型(DeepSeek-V3、Gemma4-31B)以及顶尖闭源前沿模型(GPT-4o、Claude-4系列、Gemini-3-Flash)在PAU测试集上的性能表现,并对比了纯上下文静态推断(In-context)与交互探索(Interactive)两种模式。
| 模型 | 参数规模 / 类型 | 交互模式说明 | 描述评分 (1-5) | 代码匹配率 (%) | 相比静态输入提升 |
|---|---|---|---|---|---|
| Qwen3-1.7B | 1.7B 开源 | 交互探索 (Interactive) | 1.92 | 14.82 | 无显著差异 (p>0.05) |
| Llama3-8B | 8B 开源 | 交互探索 (Interactive) | 1.99 | 16.54 | 无显著差异 (p>0.05) |
| Qwen3-8B (AAC-Tuned) | 8B 强化学习后训练 | 交互探索 (Interactive) | 2.591 | 28.45 | +0.13分 / +6.27% (p<0.05) |
| GPT-4o-mini | 闭源轻量级 | 交互探索 (Interactive) | 2.38 | 24.10 | 无显著差异 (p>0.05) |
| GPT-5-mini | 闭源轻量级 | 交互探索 (Interactive) | 2.595 | 28.12 | 微弱提升 (p<0.05) |
| Gemini-3-Flash | 闭源前沿 | 交互探索 (Interactive) | 2.71 | 31.50 | 显著提升 (p<0.05) |
| DeepSeek-V3 | 671B MoE 推理 | 交互探索 (Interactive) | 2.68 | 30.88 | 显著提升 (p<0.05) |
| Claude-4-Sonnet | 闭源前沿 | 交互探索 (Interactive) | 2.89 | 35.60 | 显著提升 (p<0.05) |
| Claude-4-Opus | 闭源旗舰 SOTA | 交互探索 (Interactive) | 3.08 | 39.42 | 显著提升 (p<0.05) |
| Max Ensemble (全模型上限) | 后验最优集成 | 理论上限集成 | 3.65 | 52.18 | - (仍有25%完全失败) |
消融实验¶
为了严格证明非对称架构及特权信息在RL后训练中的不可替代性,论文在Qwen3-1.7B和Llama3-8B基座上对比了不同后训练策略的描述评分:
| 训练配置 / 策略 | Qwen3-1.7B (评分) | Llama3-8B (评分) | 说明 |
|---|---|---|---|
| Base (无后训练基线) | 1.92 | 1.99 | 零样本交互基线 |
| DISTILL (GPT-4o-mini轨迹SFT) | 1.96 | 2.02 | 行为克隆微调,提升极微 |
| CodeARC-SFT (已知答案教师轨迹SFT) | 1.81 | 1.79 | 显著劣化(教师极简查询导致过早终止) |
| FINAL (仅留最终步稀疏奖励) | 1.86 | 1.91 | 奖励极端稀疏导致训练不收敛 |
| SYM-INFO (无特权信息的对称Critic) | 1.22 | 1.34 | 灾难性崩溃(无真值Critic奖励严重漂移) |
| AAC (完整非对称Actor-Critic) | 2.04 | 2.13 | 最优表现(特权步级密集引导有效收敛) |
关键发现¶
- 前沿模型普遍遭遇滑铁卢:即便如Claude-4-Opus这类最强代码模型,在PAU测试集中仍有超过45%的样本获得极差评分(\(\le 2\) 分,代码匹配率低于80%)。
- 交互赋能严重不足:对大多数模型而言,给予黑盒API交互权限相比仅给2个静态I/O示例的零交互预测,性能竟无统计学显著差异;这表明现有智能体未能学会“利用工具进行迭代信息收益最大化”。
- 错误根源定位:对三强模型(Claude-4-Opus、Claude-4-Sonnet、Gemini-3-Flash)的错误归因分析显示,格式遵循错误(0%)与事实幻觉(0.7%)几乎绝迹,而探索不足(48.7%)与盲目自信/推理反思错误(43.3%)构成了超过92%的致命失效。模型倾向于用同质化输入验证已有猜想,并在上下文明确存在反例的情况下执意维持错误假设。
- 知晓答案的教师具有反向危害:在CodeARC-SFT实验中,知道答案的教师在构造用例时仅需0.13-0.57次调用即可精确定位边界,学生模型模仿该轨迹后反而丧失了在不确定性下耐受多轮探索的能力;AAC让学生在真实探索分布中采样、仅由特权Critic赋分,模型平均调用次数恢复到12.5-15.3次,彻底激活了深度探索行为。
亮点与洞察¶
- 将“代码阅读”向“交互式行为理解”的范式跃迁:传统代码智能体评测几乎全部建立在“白盒阅读代码并修复”的假定之上,而现实世界中闭源系统、云端微服务API及闭源二进制逆向均无法阅读源码。PAU首次填补了无监督代码黑盒理解的基准空白,立意极具前瞻性。
- 直击大模型“盲目自信(Overconfidence)与阿谀奉承(Sycophancy)”病灶:实验揭示了即便前沿大模型在推理链中看到了与当前假设相悖的执行输出(如输入
'ABC'输出False,却依然坚持断言“只要含大写字母就为真”),模型依然倾向于生成肯定性结论并匆匆退出,证明自回归模型的自我校验能力存在结构性短板。 - 非对称特权信息架构向NLP/RL领域的成功迁移:在机器人模仿学习与RL中广为人知的Asymmetric Actor-Critic架构,被精妙地转化为解决“无法自动构建单元测试验证的自然语言探索任务”的杀手锏,为开放式长程推理、论文审阅、探索性数据分析等缺乏自动Verifier的领域提供了通用的后训练范式。
局限与展望¶
- 函数类型与状态局限:PAU目前仅涵盖无状态(stateless)Python方法,尚未涉及具备内部持久状态(stateful objects)、网络副作用或复杂内存管理的类与系统API。
- 测试实例存在潜在预训练污染可能:部分方法来源于HumanEval和MBPP等流行基准,尽管论文通过严格的签名匿名化与重新生成未公开的测试集规避了字面匹配,但更复杂的真实商业闭源API依然需要作为未来评估方向。
- 逆向重构代码的单模态瓶颈:当前描述转代码阶段依赖固定的Qwen3-Coder模型,当下游代码生成器自身能力受限时,可能会掩盖描述本身的细粒度表达质量。
相关工作与启发¶
- vs SWE-bench / InterCode:SWE-bench等基准允许模型完整检索仓库源码并通过修改文件提交PR,衡量的是白盒软件工程能力;PAU则剥夺了源码阅读特权,专注评测黑盒探测与动态行为归纳能力。
- vs CodeARC (Wei et al., 2025):CodeARC通过知晓真值的外部Oracle在每轮主动指出模型假设的反例并接管终止权;PAU则要求智能体完全自主构想输入并自主裁决何时收敛,更真实地反映了野外API探索的真实挑战。
- vs Geng et al. (2025):后者仅评测了100个极简的列表映射lambda表达式,前沿模型已达87.5%的满分天花板;PAU覆盖多元复合类型与控制流逻辑,使前沿模型普遍暴露出超过45%的失败率,重塑了该领域的难度标尺。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ [首次系统化提出黑盒交互式代码API理解基准,并将非对称Actor-Critic迁移至LLM强化学习]
- 实验充分度: ⭐⭐⭐⭐⭐ [覆盖多种开源与闭源前沿模型,结合双重视角评测、细粒度错误归因分析与严谨的消融对比]
- 写作质量: ⭐⭐⭐⭐⭐ [动机阐述精辟,问题拆解层层递进,消融实验针对性极强,论证逻辑严密]
- 价值: ⭐⭐⭐⭐⭐ [为代码智能体自主测试未知API、逆向工程与开放式无Verifier任务的强化学习后训练指明了全新方向]