ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

深度解析ATLAS V3管线:PlanSearch、DivSampling与Budget Forcing如何让代码生成获得+12.4pp提升

深度解析ATLAS V3管线:PlanSearch、DivSampling与Budget Forcing如何让代码生成获得+12.4pp提升 深度解析ATLAS V3管线PlanSearch、DivSampling与Budget Forcing如何让代码生成获得12.4pp提升【免费下载链接】ATLASAdaptive Test-time Learning and Autonomous Specialization项目地址: https://gitcode.com/gh_mirrors/atlas112/ATLASATLASAdaptive Test-time Learning and Autonomous Specialization是一个本地部署的 AI 代码生成系统。它的V3 管线通过三招组合拳——PlanSearch约束驱动规划、DivSampling候选多样性采样、Budget Forcing思考预算强制——在 LiveCodeBench 上把冻结的 Qwen3-14B 模型从 54.9% 提升到 67.3%12.4 个百分点且全程不微调模型。本文带你用最短的路径看懂这套 V3 消融研究报告 中最有价值的一组机制。 说明本文数据来自 V3.0 消融研究报告聚焦机制原理分析适合想了解测试时计算test-time compute如何提升代码生成质量的读者。ATLAS V3 消融实验12.4pp 究竟来自哪一步ATLAS 团队做了一个很干净的对照实验同一套冻结模型、同一批 599 道题只逐步打开 V3 管线的不同阶段Phase看每一步带来多少提升。实验条件开启的功能通过率相对基线增益A基线无 V3 功能单次生成54.9%—BPhase 1PlanSearch DivSampling Budget Forcing67.3%12.4ppCPhase 1 Phase 2智能算力路由67.3%0.0ppDPhase 1 Phase 3自验证修复74.6%19.7pp一眼就能看出结论Phase 1约束驱动生成是整条管线里最值钱的部分贡献了总增益的约 63%。而 Phase 1 正是由三个组件协同完成的组件一句话定位PlanSearch先抽约束、再写方案、最后才写码生成算法路线不同的 3 个候选DivSampling给每个候选换一副人设 指令 风格保证候选之间真正不同Budget Forcing按难度给思考 Token 分级限量防止模型在简单步骤上烧光预算PlanSearch先缩小解空间再让模型写代码PlanSearch 的源码在 plan_search.py它的核心思想一句话就能讲清不要让模型在巨大的解空间里盲搜先用约束把空间砍到只剩 2.7% 再动手。它是一条三步流水线温度逐档递减0.7 → 0.4 → 0.2抽约束温度 0.7让模型从题目里提取 3 组不同的约束集每条约束要回答三件事——约束是什么、它排除了什么做法、它暗示哪类算法。文件头部的注释给了个直观例子三个各砍掉 70% 的约束叠加后只剩0.3³ ≈ 2.7%的原始解空间。定方案温度 0.4每组约束产出一份结构化解法计划——算法选择、数据结构、编号步骤、边界情况。这一步明确要求先别写代码专注设计。写代码温度 0.2把计划和约束一起交给模型产出可运行代码每个方案对应一个候选。 为什么温度从高到低抽约束要发散写代码要收敛温度曲线就是刻意这样设计的。与同一个 Prompt 跑 3 次相比这种约束驱动生成的 3 个候选往往对应根本不同的算法路线比如排序 vs 分治 vs 贪心这正是它能赢过单纯多样性的原因。DivSampling12 种扰动让 3 个候选各走各路光有 PlanSearch 还不够——如果三次生成措辞太像候选仍会趋同。div_sampling.py 内置了一个12 条扰动库每个候选按索引取走一条不同的扰动拼在 Prompt 最前面类别数量示例节选 角色设定4你是刷过上千题的竞赛程序员 / 你是先证明正确性再写码的数学家 指令改写4先想什么会出错再处理边界情况 / 先估复杂度再选算法 风格差异4用函数式风格 / 先写暴力解再逐步优化配置默认值与行为在 docs/CONFIGURATION.md 中有完整记载默认 12 条扰动4 角色 4 指令 4 风格也支持通过atlas.conf追加自定义条目。这个设计很轻不改任务描述、不动 Prompt 主体只是给同一个问题换不同的提问方式却足以让同一模型的多次采样覆盖更多解空间角落。Budget Forcing5 档思考预算把 Token 花在刀刃上Budget Forcing 管的是另一个常见问题模型思考 Token 要么不够、要么浪费。它定义了 5 档预算每档绑定一个系统提示与思考 Token 上限档位思考 Token 上限适用场景nothink0简单题 / 结构化输出直接作答light1024轻度推理standard2048默认档位hard4096难题extreme8192硬骨头全力推理两点和上面两个组件的联动值得注意PlanSearch 的三步各选各的档抽约束、定方案属于结构化输出强行思考反而会吃掉整个 Token 预算导致输出为空所以这两步固定用nothink只有写代码步才按需放预算。难度感知选档拿到 Geometric Lens 的能量分数 C(x) 后经 sigmoid 归一化中点 9.5源自 V2 实测的 PASS 均值 5.00 / FAIL 均值 14.04按0.10 / 0.20 / 0.30三条阈值自动落到对应档位——题越难思考预算越多。三者如何拼装进 V3 管线真正的编排逻辑在 pipeline.py管线依次完成探针探测 → Phase 1 候选生成PlanSearch 产方案、DivSampling 加扰动、Budget Forcing 控预算→ 沙箱验证与三重否决lens/结构/调用图→ 候选选择 → 失败候选进入 Phase 3 修复。每一步都会写一条 JSONL 遥测事件plansearch/divsampling/budget_tier等消融报告里 599 道题的逐题数据就是这些遥测沉淀下来的原始结果目录见 ablation/README.md。复现基线与 Phase 1 条件的命令python -m atlas.bench.v3_runner --selection-strategy lens --no-phase2 python -m atlas.bench.v3_runner --baseline # 条件 A 基线总结12.4pp 的方法论启示 对想提升自己代码生成系统的同学这三个组件给出了三条可迁移的经验多样性要结构性不要随机性——PlanSearch 证明用约束切出不同算法路线远比同一 Prompt 抽 3 次有效Prompt 扰动是近乎免费的杠杆——DivSampling 只改 Prompt 前缀零额外推理成本预算分配要分步精细化——Budget Forcing 把思考多少从玄学变成了查表难度 → 档位 → Token 上限。三者都不动模型权重纯靠测试时计算让冻结的 14B 小模型多拿了 12.4 个百分点。想继续深挖可以看 V3 管线架构说明、V3.2 波次规划报告 与 测试时学习总览 所在目录下的逐题数据。【免费下载链接】ATLASAdaptive Test-time Learning and Autonomous Specialization项目地址: https://gitcode.com/gh_mirrors/atlas112/ATLAS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表