代码推理与执行
要解决的问题
代码任务要求 语法正确、算法逻辑对、通过隐藏测试。LLM 可生成看似合理但 failing unit tests 的程 序;需结合 CoT、自我调试、执行反馈与仓库级基准(HumanEval → SWE-bench)系统评估。
核心概念
| 基准 | 粒度 | 执行 | 指标 |
|---|---|---|---|
| HumanEval | 单函数补全 | sandbox | pass@k |
| MBPP | 基础编程题 | 同上 | pass@1 |
| LiveCodeBench | 持续更新题 | 防污染 | pass@1 |
| SWE-bench | 真实 GitHub issue | Docker 仓库 | resolve rate |
| BigCodeBench | 库 API 调用 | 多步 | 更难 |
pass@k(Chen et al.):
为采样数, 为通过样本数。
方法 / 能力提升
- Fill-in-middle 预训练(见 3.3.4 FIM)提升补全。
- 执行反馈 RL:单元测试结果作 reward(与 6.3.2 RLVR 同族)。
- Agent 环:读仓库、改多文件、跑 pytest(SWE-agent 类,链 7.1.5 Agent 基准)。
- 测试时:多采样 + 选通过测试的样本;或 6.2.4 MCTS 在 token 空间搜索。