SpecFirst将行为需求提取作为从零构建程序智能体的核心前置阶段论文原文地址https://arxiv.org/html/2607.27167v1摘要现有大代码智能体在已有代码库辅助的软件工程任务中表现优异但从零完整重建程序仍是极具挑战性的难题。(\mathcal{P})rogram(\mathcal{B})ench基准测试结果表明仅依靠自然文档可执行黑盒二进制文件作为参考顶尖大模型能完整解决的样例不足1%。现有代码合成智能体将文档阅读、二进制行为探测、代码生成揉进单一循环流程存在三大核心缺陷探测不充分、长上下文下需求信息丢失、早期错误持续传导至最终代码。本文借鉴传统软件工程需求工程思想提出SpecFirst两阶段智能体流水线强制将行为需求提取设为代码实现的独立前置核心阶段专用需求智能体Spec Agent系统性探测二进制程序结合文档生成结构化完整行为说明文档S\(\mathcal{P}\)EC.md代码合成智能体依托前置生成的标准化需求文档完成完整程序开发。该架构分离需求挖掘与编码环节在编码前消除文档歧义、提供稳定行为参照基准。本文在完整200组(\mathcal{P})rogram(\mathcal{B})ench测试用例上基于4款跨家族、不同规模大模型完成对照实验。实验结论SpecFirst相比单阶段基线测试通过率提升6.9%21.3%二进制代码探测覆盖率提升9.4%18.5%全部结果具备统计显著性行为轨迹分析证明前置标准化需求能让代码智能体更早、更持续地完成代码编写工作。本文证明为代码智能体增设独立需求工程阶段是解决从零构建程序难题的有效范式。目录引言研究背景与问题动机2.1 任务形式化定义2.2 现有单循环代码智能体的固有局限SpecFirst完整技术方案3.1 通过二进制探测自动提取完整行为需求3.2 规避捷径行为的约束规则3.3 标准化需求文档格式规范3.4 流水线终止判定机制3.5 智能体整体设计原则实验设计全流程4.1 四大研究问题(RQ)4.2 评测基准(\mathcal{P})rogram(\mathcal{B})ench介绍4.3 核心评测指标定义4.4 参评大模型清单4.5 对照基线方案4.6 工程实现细节容器、A(\mathcal{P})I、隔离规则实验结果与数据分析5.1 RQ1SpecFirst整体有效性验证5.2 RQ2不同难度任务下的性能表现5.3 RQ3专用需求智能体对探测覆盖率的提升5.4 RQ4前置需求对代码智能体行为模式的改变相关工作综述6.1 基于大模型代码生成与程序合成6.2 软件工程领域需求提取技术6.3 黑盒二进制分析与规约提取讨论与局限性分析7.1 程序实现失败案例根因拆解7.2 需求文档格式对最终效果的影响7.3 SpecFirst的推理成本开销分析7.4 实验效度威胁内/外/结构效度结论参考文献1 引言1.1 研究现状与痛点基于大模型的软件智能体在(\mathcal{B})ug修复、新增功能、代码补全场景效果突出但这类任务均依托现有代码库作为上下文锚点无源码、从零完整复刻程序场景难度陡增。(\mathcal{P})rogram(\mathcal{B})ench基准明确了该场景标准输入仅提供自然语言说明文档、无源码可执行二进制程序行为参照要求智能体从零产出等价实现。即便是G(\mathcal{P})(\mathcal{T})-5.5这类顶尖模型完整解决样例占比不足1%。现有主流框架SWE-agent、OpenHands采用单循环一体化架构智能体在同一轮次内自由切换读文档、探测二进制、编写代码不存在强制前置的需求挖掘阶段衍生三大系统性缺陷探测不充分智能体未完整探索边界、异常、参数组合逻辑就提前进入编码文档未覆盖的行为大量遗漏长上下文需求漂移多轮交互中原始行为意图被上下文压缩、摘要机制丢弃后期编码基于残缺模糊的需求错误持续传导早期对文档、二进制的误判无稳定参照基准修正每一步编码都基于错误假设持续放大偏差。传统软件工程中需求提取是编码前独立完整阶段工程师会提前运行原型、梳理全场景行为后再编写代码。现有Spec类框架OpenSpec、spec-kit仅依赖人工输入需求无法通过二进制黑盒自动挖掘行为信息。1.2 SpecFirst核心创新架构SpecFirst将流程拆分为完全隔离的两个阶段全程复用现有成熟代码智能体仅新增前置Spec Agent环节需求提取阶段专用Spec Agent仅负责黑盒探测二进制整合文档生成结构化S\(\mathcal{P}\)EC.md行为规约文件代码合成阶段代码智能体同时读取文档、二进制、前置生成的完整需求文档开展开发编码阶段若存在歧义可少量补充探测但核心行为基准已提前固化。1.3 本文三大核心贡献首创双阶段分离智能体流水线首次将自动化黑盒行为需求提取作为从零程序构建的独立前置环节落地软件工程需求工程范式全基准量化实证在(\mathcal{P})rogram(\mathcal{B})ench全部200个样例、4款跨家族大模型完成对照通过率提升6.9%21.3%、探测覆盖率提升9.4%18.5%统计显著智能体行为轨迹分析验证前置标准化需求会重塑代码智能体资源分配逻辑——更早启动编码、持续产出更完整代码库而非反复交替探测与开发。2 研究背景与问题动机2.1 任务形式化定义设目标程序KaTeX parse error: Cant use function \( in math mode at position 10: \mathcal{\̲(̲\mathcal{P}\)}为确定性命令行工具智能体仅能获取两类输入文档KaTeX parse error: Cant use function \( in math mode at position 10: \mathcal{\̲(̲\mathcal{D}\)}REA(\mathcal{D})ME、手册等自然语言描述可执行二进制KaTeX parse error: Cant use function \( in math mode at position 10: \mathcal{\̲(̲\mathcal{B}\)}无源码仅能运行观测输入输出行为。智能体输出完整源码工程I^\hat{\mathcal{I}}I^编译得到候选二进制KaTeX parse error: Cant use function \( in math mode at position 15: \hat{\mathcal{\̲(̲\mathcal{B}\)}}与隐藏测试集KaTeX parse error: Cant use function \( in math mode at position 10: \mathcal{\̲(̲\mathcal{T}\)}对比行为一致性。核心优化目标平均测试通过率KaTeX parse error: Cant use function \( in math mode at position 32: …c{1}{|\mathcal{\̲(̲\mathcal{P}\)}|…kpk_pkp通过用例数npn_pnp该任务总测试用例数。传统基线流程单循环内交替探测二进制、编写调试代码无前置需求固化步骤。2.2 现有单循环代码智能的固有局限gomplate案例佐证以基准中gomplate模板工具任务举例REA(\mathcal{D})ME仅列举少量基础用法完整内置函数、边界错误、参数交互逻辑完全缺失单循环架构暴露三类缺陷探测范围狭窄模型仅探测文档提及的少量函数coll、math、网络、加密等命名空间完全未验证上下文需求丢失模型早期探测获取完整命名空间清单但后续几十轮编码中完全遗忘最终实现直接遗漏6大类函数126个测试用例失败早期错误持续传导文档明确Seq函数强类型入参模型早期实现误写为动态泛型后续数十次重构均未修正25条用例类型报错。SpecFirst通过独立探测阶段持久化S\(\mathcal{P}\)EC.md文档解决上述问题完整行为提前挖掘并固化不受上下文压缩、轮次遗忘影响。3 Spec完整技术方案3.1 通过二进制探测自动提取完整行为需求Spec Agent每一轮选择一组命令行参数/标准输入调用二进制采集stdout、stderr、退出码三类观测通道采用原生bash命令交互支持文件生成、管道、虚拟终端(\mathcal{T})UI程序复刻人类工程师调研流程。针对文档普遍缺失的四类行为做定向探测边界探测空输入、超长字符串、特殊符号极值场景错误路径探测非法参数、缺失必填项、冲突参数记录完整报错信息与退出码参数组合探测多Flag叠加交互行为覆盖文档单参数说明未提及冲突逻辑输出格式探测对比相邻输入输出明确分隔符、字段顺序、空白字符规则。3.2 规避捷径行为的强制约束规则为防止模型走捷径跳过黑盒探测会破坏实验有效性prompt中严格禁止两类操作命令日志自动校验违规直接记0分源码检索禁止Github、包管理器下载原始源代码二进制逆向禁止反汇编、调试器、反编译工具读取内部逻辑所有行为信息仅允许通过正常CLI黑盒调用获取禁止包装、篡改目标二进制文件。3.3 标准化需求文档格式规范采用轻量化分章节MarkdownS\(\mathcal{P}\)EC.md结构固定6个必填一级标题仅规定记录维度、不限定描述句式兼顾完整性与灵活性Overview程序整体功能概述Flags全部命令行参数、参数约束Input stdin输入文件、标准输入规则Output format标准输出、文件输出格式Error patterns全部报错、退出码、触发条件Edge cases边界、参数冲突特殊场景对比实验证明该分章节结构效果优于自由文本、OpenSpec规范格式。样例片段gomplate任务S(\mathcal{P})EC.md## Function Set 可执行文件内置Go原生模板函数自定义命名空间 - \(\mathcal{D}\)ata: datasource、include、datasourceExists... - Collections: coll.\(\mathcal{D}\)ict、coll.Slice... ## Flags $ ./executable --help Flags: -d, --datasource 别名URL格式数据源可多次传入 ## Edge Cases --in 与 --file 参数互斥同时传入直接报错 --file 与 --input-dir 不可共存3.4 流水线终止判定机制按优先级依次触发终止条件自主判定完成主规则Spec Agent自行判定已覆盖全部行为输出完整S(\mathcal{P})EC.md轮次上限兜底最大1000轮智能体交互预留充足探测空间绝大多数任务提前终止墙钟时间兜底最长运行6小时强制终止交付校验无S(\mathcal{P})EC.md文件则持续重跑生成最多8次重试后判定任务失败。3.5 智能体整体设计原则基础架构统一采用ReAct智能体范式每轮工具调用后强制输出完整推理过程方便日志可解释调试上下文隔离压缩两阶段完全隔离会话仅传递结构化S(\mathcal{P})EC.md丢弃Spec Agent冗长探测日志、推理文本避免上下文稀释注意力阶段信息摘要不完整复制全量对话历史仅留存提炼后的标准化需求大幅降低下游编码阶段上下文负担。4 实验设计全流程4.1 四大研究问题(RQ)RQ1SpecFirst相比传统单循环基线从零程序合成整体有效性提升幅度RQ2在简单/中等/高难度分层任务上SpecFirst效果是否稳定RQ3专用Spec Agent能否显著提升二进制行为探测代码覆盖率RQ4前置标准化需求如何改变代码智能体的轮次资源分配行为4.2 评测基准(\mathcal{P})rogram(\mathcal{B})ench介绍完整200个真实开源命令行程序复刻任务源码语言分布Rust(107)、Go(46)、C/C(45)、Java(1)、Haskell(1)难度分层简单28例、中等143例、困难29例配套测试集总计248853条测试用例单任务中位数770条测试行覆盖率平均79.7%全程对智能体隐藏仅用于最终打分。4.3 核心评测指标定义平均测试通过率主指标单任务通过率通过测试用例/总测试用例取全部任务均值支持部分得分能捕捉小幅行为改进。探测代码覆盖率辅助指标对二进制插桩记录所有执行代码行覆盖率探测阶段触发唯一代码行数/程序总行数量化行为挖掘完整度各语言插桩工具Go(go build -cover)、C/C(gcc --coverage)、Rust(cargo llvm-cov)。4.4 参评大模型清单全部模型默认开启深度推理解码参数使用厂商默认值无额外调优模型名称模型体系架构推理开关Qwen3.5-397(\mathcal{B})-A17(\mathcal{B})开源权重MoE默认开启Qwen3.6-35(\mathcal{B})-A3(\mathcal{B})开源权重MoE默认开启G(\mathcal{P})(\mathcal{T})-5.5-high闭源商用未知高推理强度G(\mathcal{P})(\mathcal{T})-5.4-mini闭源商用未知中等推理强度4.5 对照基线方案(\mathcal{D})irect-Synthesis直接合成基线完全复用mini-SWE-agent脚手架无前置Spec Agent阶段仅输入文档二进制直接编码SpecFirst与基线仅新增需求提取阶段脚手架、环境、提示词全部保持一致控制单一变量。4.6 工程实现细节运行环境独立隔离(\mathcal{D})ocker容器无外网访问使用(\mathcal{P})rogram(\mathcal{B})ench官方任务镜像模型调用统一LiteLLM代理兼容OpenAI接口两阶段使用独立会话上下文完全隔离模型复用Spec阶段、代码合成阶段使用完全相同大模型实验复现全部修改以补丁形式开源可复现完整实验流程。5 实验结果与数据分析5.1 RQ1SpecFirst整体有效性验证采用配对双侧Wilcoxon符号秩检验α0.05全部模型提升统计显著p0.01模型基线通过率SpecFirst通过率相对提升赢/输/持平任务数Qwen3.5-397(\mathcal{B})33.66%40.84%21.3%130/58/12Qwen3.6-35(\mathcal{B})27.51%31.40%14.1%121/67/12G(\mathcal{P})(\mathcal{T})-5.5-high59.02%65.14%10.4%150/38/12G(\mathcal{P})(\mathcal{T})-5.4-mini39.09%41.78%6.9%119/69/12补充高分任务占比G(\mathcal{P})(\mathcal{T})-5.5-high测试通过率阈值基线占比SpecFirst占比≥50%69.0%74.0%≥70%42.5%55.5%≥90%5.5%16.5%≥95%1.5%6.5%结论SpecFirst不仅拉高平均分大幅提升近乎完美实现90%通过率的任务数量最高4倍增长。5.2 RQ2不同难度任务下的性能表现模型简单任务(28)中等任务(143)困难任务(29)Qwen3.5-397(\mathcal{B})42.9%→52.9%(23.3%)34.6%→42.1%(21.7%)20.0%→23.0%(15.0%)Qwen3.6-35(\mathcal{B})37.8%→42.2%(11.6%)28.1%→32.1%(14.2%)14.5%→17.6%(21.4%)G(\mathcal{P})(\mathcal{T})-5.5-high73.7%→78.9%(7.1%)61.9%→67.5%(9.0%)30.8%→40.0%(29.9%)G(\mathcal{P})(\mathcal{T})-5.4-mini49.7%→57.4%(15.5%)40.7%→42.8%(5.2%)21.0%→21.9%(4.3%)关键结论高难度任务提升幅度最大G(\mathcal{P})(\mathcal{T})-5.5在困难任务通过率提升近30%复杂长流程任务下前置标准化需求是核心认知脚手架。5.3 RQ3专用Spec Agent对探测覆盖率的提升模型SpecAgent探测覆盖率 / 编码阶段探测 / 合并总覆盖率基线总覆盖率Spec优于基线任务占比Qwen3.5-397(\mathcal{B})58.0% / 51.0% / 59.8%51.9%77.2%Qwen3.6-35(\mathcal{B})54.9% / 51.3% / 58.3%49.2%71.2%G(\mathcal{P})(\mathcal{T})-5.5-high58.3% / 31.2% / 60.3%55.1%66.2%G(\mathcal{P})(\mathcal{T})-5.4-mini56.5% / 41.7% / 58.6%52.1%63.5%结论覆盖率提升9.4%~18.5%增量完全来自独立Spec Agent阶段编码阶段补充探测带来的增益极小证明专用前置挖掘是核心。5.4 RQ4前置需求对代码智能体行为模式的改变轮次分配重构基线前期大量轮次用于反复探测二进制SpecFirst编码智能体仅29轮简单确认即可直接进入持续编码基线会消耗1120轮探测资源编码预算被严重挤压代码库规模提升SpecFirst最终代码行数比基线高7%~29%实现更完整功能集终止逻辑差异全部基线任务均未触达1000轮上限全部为模型自主判定“理解足够”提前终止瓶颈不是轮次限制而是行为认知不足前置完整需求解决认知短板充分利用计算资源完成开发。6 相关工作综述6.1 基于大模型代码生成与程序合成小规模函数基准HumanEval、M(\mathcal{B})(\mathcal{P})(\mathcal{P})文档少量测试样例约束清晰模型表现良好仓库级/完整程序任务SWE-bench、(\mathcal{P})rogram(\mathcal{B})ench无完整规约、仅靠文档难度激增现有SWE-agent、OpenHands等一体化智能体无独立需求挖掘阶段本文首次将黑盒行为提取设为独立前置流水线组件。6.2 软件工程领域需求提取技术传统需求工程强调编码前完整调研但现有LLM需求工具仅解析静态文本文档无法主动运行程序挖掘隐藏行为Spec Agent借鉴(\mathcal{B})(\mathcal{D})(\mathcal{D})行为驱动开发思想但产出自然语言规约文档而非测试用例。6.3 黑盒二进制分析与规约提取协议逆向动态探测提取网络报文输出机器可读协议文法面向安全领域动态不变量挖掘、规约挖掘需要源码或大量历史运行日志LLM反编译允许读取程序汇编本文严格禁止逆向操作仅支持上层CLI黑盒交互SpecFirst独有定位纯上层黑盒主动探测产出下游代码智能体可直接使用的自然语言需求文档。7 讨论与局限性分析7.1 程序实现失败案例根因拆解抽样50例人工标注F1 需求文档遗漏(10%)Spec Agent未探测到对应行为S(\mathcal{P})EC.md无记录F2 需求描述错误(4%)探测观测记录错误实现完全遵循错误文档F3 需求描述精度不足(26%)仅定性描述缺少退出码、输出渠道等定量约束F4 编码执行故障(52%主失败类型)需求文档完全正确但代码实现逻辑出错F5 环境依赖报错(8%)测试环境、工具链带来无关噪声。研究启示后续优化分两条主线1提升Spec Agent探测完备性2增强编码阶段校验、自修正逻辑。7.2 需求文档格式消融实验G(\mathcal{P})(\mathcal{T})-5.4-mini50样本文档格式平均测试通过率无需求基线55.9%自由无结构文本60.7%OpenSpec规范61.7%本文分章节Sections格式62.6%分章节结构化文档能平衡完整性与可读性给下游编码智能体提供清晰检索入口效果最优。7.3 SpecFirst的推理成本开销分析单位任务美元成本模型基线总成本SpecFirstSpec阶段/编码阶段/合计总开销增幅Qwen3.5-397(\mathcal{B})$2.56$0.95 / $2.84 / $3.7948%Qwen3.6-35(\mathcal{B})$2.03$0.50 / $2.68 / $3.1756%G(\mathcal{P})(\mathcal{T})-5.4-mini$0.35$0.25 / $0.29 / $0.5351%G(\mathcal{P})(\mathcal{T})-5.5-high$2.54$3.16 / $2.69 / $5.85130%开销来源新增Spec Agent探测推理仅G(\mathcal{P})(\mathcal{T})-5.4-mini编码阶段开销下降清晰需求减少反复试错探测开销提升对应行为挖掘、完整实现的增量收益具备工程价值。7.4 实验效度威胁内部效度担心性能提升仅因总计算量更大。但所有基线任务均未用尽轮次上限模型是认知不足提前终止增加算力无法解决根本问题外部效度实验仅覆盖确定性CLI二进制GUI、异步多进程程序效果未验证范式可迁移至A(\mathcal{P})I服务、容器化可执行参考源结构效度指标同时衡量编译可行性行为一致性编译失败样例占比极低不会干扰得分解读。8 结论本文提出SpecFirst双阶段智能体流水线将黑盒二进制行为需求提取设为从零构建程序的独立前置核心阶段解决传统一体化智能体探测不全、需求丢失、错误传导三大缺陷。在(\mathcal{P})rogram(\mathcal{B})ench完整200组任务、4款跨规模大模型对照实验证明SpecFirst稳定提升测试通过率6.9%21.3%二进制代码探测覆盖率提升9.4%18.5%前置标准化需求重构智能体资源分配更早启动编码、产出更完整代码高难度复杂任务收益最显著证明独立需求工程是攻克长流程从零程序合成的关键范式。附论文核心资源清单论文在线阅读地址https://arxiv.org/html/2607.27167v1实验环境依赖LiteLLM A(\mathcal{P})I代理、(\mathcal{P})rogram(\mathcal{B})ench官方(\mathcal{D})ocker镜像、LibreOffice/各类语言代码覆盖率插桩工具实验复现补丁随(\mathcal{P})rogram(\mathcal{B})ench基准配套开源用于搭建SpecFirst双阶段流水线基准数据集(\mathcal{P})rogram(\mathcal{B})encharXiv:2605.03546开源许可arXiv永久非独占使用许可延伸从两篇论文看大模型智能体发展趋势结合本文SpecFirst与前一篇OmegaUse-OfficeVal综合分析当前大模型智能体四大核心发展趋势趋势1流程分层解耦专用子智能体分工取代单一万能智能体早期SWE-agent、基础GUI智能体采用单循环一体化架构探测、规划、生成、调试全部由同一个模型轮次完成最新研究普遍采用多阶段拆分专用子智能体办公智能体OmegaUse-OfficeVal探测文件→校验打分双模块分离代码智能体SpecFirst独立需求挖掘Spec Agent 代码生成Agent底层逻辑复杂长流程任务单一模型上下文资源不足分阶段固化中间产物S(\mathcal{P})EC.md、结构化评分细则消除上下文漂移、反复试错成本。趋势2从“过程评测”转向“交付物价值量化评测”旧评测范式仅统计操作步骤、GUI轨迹、代码行数无真实业务价值新范式两大突破办公场景OmegaUse-OfficeVal引入任务级人力工时、市场报价用经济权重衡量智能体实用价值不再只看平均分代码场景SpecFirst抛弃单纯生成行数指标采用二进制代码覆盖率、真实程序测试通过率衡量行为等价性行业共识智能体评价必须对齐人类外包/人力成本贴合真实生产力收益。趋势3引入标准化、可复现自动化校验摆脱人工/LLM裁判早期评测依赖人工打分、LLM-as-judge主观性强、跨模型不可对比两篇论文均落地代码化确定性自动校验OmegaUse-OfficeValOffice文件结构化校验脚本细粒度正负向评分细则SpecFirst二进制插桩覆盖率、隐藏测试集自动判分核心价值基准完全开源、任何人可复现对比消除评测偏差加速智能体迭代。趋势4聚焦“长周期、从零构建”高难度真实工业任务早期基准以短片段、单步简单任务为主单函数生成、单页面点击2026前沿基准全部瞄准真实重度长流程OmegaUse-OfficeVal平均2.32小时人工办公长流程多文档多模态协同(\mathcal{P})rogram(\mathcal{B})enchSpecFirst从零完整复刻工业级CLI程序无任何源码上下文未来智能体竞争核心不再是简单单次调用而是长上下文状态维持、多步骤规划、多文件协同、完整业务交付能力。趋势5借鉴传统软件工程/办公工程成熟流程范式赋能AISpecFirst直接复用软件工程需求工程前置流程OmegaUse-OfficeVal对标真实职场外包全流程发展逻辑不单纯依靠大模型原生能力把人类成熟工业流水线拆解为AI可执行的阶段用工程范式弥补LLM上下文、规划短板是下一阶段智能体主流优化思路。
SpecFirst:将行为需求提取作为从零构建程序智能体的核心前置阶段
SpecFirst将行为需求提取作为从零构建程序智能体的核心前置阶段论文原文地址https://arxiv.org/html/2607.27167v1摘要现有大代码智能体在已有代码库辅助的软件工程任务中表现优异但从零完整重建程序仍是极具挑战性的难题。(\mathcal{P})rogram(\mathcal{B})ench基准测试结果表明仅依靠自然文档可执行黑盒二进制文件作为参考顶尖大模型能完整解决的样例不足1%。现有代码合成智能体将文档阅读、二进制行为探测、代码生成揉进单一循环流程存在三大核心缺陷探测不充分、长上下文下需求信息丢失、早期错误持续传导至最终代码。本文借鉴传统软件工程需求工程思想提出SpecFirst两阶段智能体流水线强制将行为需求提取设为代码实现的独立前置核心阶段专用需求智能体Spec Agent系统性探测二进制程序结合文档生成结构化完整行为说明文档S\(\mathcal{P}\)EC.md代码合成智能体依托前置生成的标准化需求文档完成完整程序开发。该架构分离需求挖掘与编码环节在编码前消除文档歧义、提供稳定行为参照基准。本文在完整200组(\mathcal{P})rogram(\mathcal{B})ench测试用例上基于4款跨家族、不同规模大模型完成对照实验。实验结论SpecFirst相比单阶段基线测试通过率提升6.9%21.3%二进制代码探测覆盖率提升9.4%18.5%全部结果具备统计显著性行为轨迹分析证明前置标准化需求能让代码智能体更早、更持续地完成代码编写工作。本文证明为代码智能体增设独立需求工程阶段是解决从零构建程序难题的有效范式。目录引言研究背景与问题动机2.1 任务形式化定义2.2 现有单循环代码智能体的固有局限SpecFirst完整技术方案3.1 通过二进制探测自动提取完整行为需求3.2 规避捷径行为的约束规则3.3 标准化需求文档格式规范3.4 流水线终止判定机制3.5 智能体整体设计原则实验设计全流程4.1 四大研究问题(RQ)4.2 评测基准(\mathcal{P})rogram(\mathcal{B})ench介绍4.3 核心评测指标定义4.4 参评大模型清单4.5 对照基线方案4.6 工程实现细节容器、A(\mathcal{P})I、隔离规则实验结果与数据分析5.1 RQ1SpecFirst整体有效性验证5.2 RQ2不同难度任务下的性能表现5.3 RQ3专用需求智能体对探测覆盖率的提升5.4 RQ4前置需求对代码智能体行为模式的改变相关工作综述6.1 基于大模型代码生成与程序合成6.2 软件工程领域需求提取技术6.3 黑盒二进制分析与规约提取讨论与局限性分析7.1 程序实现失败案例根因拆解7.2 需求文档格式对最终效果的影响7.3 SpecFirst的推理成本开销分析7.4 实验效度威胁内/外/结构效度结论参考文献1 引言1.1 研究现状与痛点基于大模型的软件智能体在(\mathcal{B})ug修复、新增功能、代码补全场景效果突出但这类任务均依托现有代码库作为上下文锚点无源码、从零完整复刻程序场景难度陡增。(\mathcal{P})rogram(\mathcal{B})ench基准明确了该场景标准输入仅提供自然语言说明文档、无源码可执行二进制程序行为参照要求智能体从零产出等价实现。即便是G(\mathcal{P})(\mathcal{T})-5.5这类顶尖模型完整解决样例占比不足1%。现有主流框架SWE-agent、OpenHands采用单循环一体化架构智能体在同一轮次内自由切换读文档、探测二进制、编写代码不存在强制前置的需求挖掘阶段衍生三大系统性缺陷探测不充分智能体未完整探索边界、异常、参数组合逻辑就提前进入编码文档未覆盖的行为大量遗漏长上下文需求漂移多轮交互中原始行为意图被上下文压缩、摘要机制丢弃后期编码基于残缺模糊的需求错误持续传导早期对文档、二进制的误判无稳定参照基准修正每一步编码都基于错误假设持续放大偏差。传统软件工程中需求提取是编码前独立完整阶段工程师会提前运行原型、梳理全场景行为后再编写代码。现有Spec类框架OpenSpec、spec-kit仅依赖人工输入需求无法通过二进制黑盒自动挖掘行为信息。1.2 SpecFirst核心创新架构SpecFirst将流程拆分为完全隔离的两个阶段全程复用现有成熟代码智能体仅新增前置Spec Agent环节需求提取阶段专用Spec Agent仅负责黑盒探测二进制整合文档生成结构化S\(\mathcal{P}\)EC.md行为规约文件代码合成阶段代码智能体同时读取文档、二进制、前置生成的完整需求文档开展开发编码阶段若存在歧义可少量补充探测但核心行为基准已提前固化。1.3 本文三大核心贡献首创双阶段分离智能体流水线首次将自动化黑盒行为需求提取作为从零程序构建的独立前置环节落地软件工程需求工程范式全基准量化实证在(\mathcal{P})rogram(\mathcal{B})ench全部200个样例、4款跨家族大模型完成对照通过率提升6.9%21.3%、探测覆盖率提升9.4%18.5%统计显著智能体行为轨迹分析验证前置标准化需求会重塑代码智能体资源分配逻辑——更早启动编码、持续产出更完整代码库而非反复交替探测与开发。2 研究背景与问题动机2.1 任务形式化定义设目标程序KaTeX parse error: Cant use function \( in math mode at position 10: \mathcal{\̲(̲\mathcal{P}\)}为确定性命令行工具智能体仅能获取两类输入文档KaTeX parse error: Cant use function \( in math mode at position 10: \mathcal{\̲(̲\mathcal{D}\)}REA(\mathcal{D})ME、手册等自然语言描述可执行二进制KaTeX parse error: Cant use function \( in math mode at position 10: \mathcal{\̲(̲\mathcal{B}\)}无源码仅能运行观测输入输出行为。智能体输出完整源码工程I^\hat{\mathcal{I}}I^编译得到候选二进制KaTeX parse error: Cant use function \( in math mode at position 15: \hat{\mathcal{\̲(̲\mathcal{B}\)}}与隐藏测试集KaTeX parse error: Cant use function \( in math mode at position 10: \mathcal{\̲(̲\mathcal{T}\)}对比行为一致性。核心优化目标平均测试通过率KaTeX parse error: Cant use function \( in math mode at position 32: …c{1}{|\mathcal{\̲(̲\mathcal{P}\)}|…kpk_pkp通过用例数npn_pnp该任务总测试用例数。传统基线流程单循环内交替探测二进制、编写调试代码无前置需求固化步骤。2.2 现有单循环代码智能的固有局限gomplate案例佐证以基准中gomplate模板工具任务举例REA(\mathcal{D})ME仅列举少量基础用法完整内置函数、边界错误、参数交互逻辑完全缺失单循环架构暴露三类缺陷探测范围狭窄模型仅探测文档提及的少量函数coll、math、网络、加密等命名空间完全未验证上下文需求丢失模型早期探测获取完整命名空间清单但后续几十轮编码中完全遗忘最终实现直接遗漏6大类函数126个测试用例失败早期错误持续传导文档明确Seq函数强类型入参模型早期实现误写为动态泛型后续数十次重构均未修正25条用例类型报错。SpecFirst通过独立探测阶段持久化S\(\mathcal{P}\)EC.md文档解决上述问题完整行为提前挖掘并固化不受上下文压缩、轮次遗忘影响。3 Spec完整技术方案3.1 通过二进制探测自动提取完整行为需求Spec Agent每一轮选择一组命令行参数/标准输入调用二进制采集stdout、stderr、退出码三类观测通道采用原生bash命令交互支持文件生成、管道、虚拟终端(\mathcal{T})UI程序复刻人类工程师调研流程。针对文档普遍缺失的四类行为做定向探测边界探测空输入、超长字符串、特殊符号极值场景错误路径探测非法参数、缺失必填项、冲突参数记录完整报错信息与退出码参数组合探测多Flag叠加交互行为覆盖文档单参数说明未提及冲突逻辑输出格式探测对比相邻输入输出明确分隔符、字段顺序、空白字符规则。3.2 规避捷径行为的强制约束规则为防止模型走捷径跳过黑盒探测会破坏实验有效性prompt中严格禁止两类操作命令日志自动校验违规直接记0分源码检索禁止Github、包管理器下载原始源代码二进制逆向禁止反汇编、调试器、反编译工具读取内部逻辑所有行为信息仅允许通过正常CLI黑盒调用获取禁止包装、篡改目标二进制文件。3.3 标准化需求文档格式规范采用轻量化分章节MarkdownS\(\mathcal{P}\)EC.md结构固定6个必填一级标题仅规定记录维度、不限定描述句式兼顾完整性与灵活性Overview程序整体功能概述Flags全部命令行参数、参数约束Input stdin输入文件、标准输入规则Output format标准输出、文件输出格式Error patterns全部报错、退出码、触发条件Edge cases边界、参数冲突特殊场景对比实验证明该分章节结构效果优于自由文本、OpenSpec规范格式。样例片段gomplate任务S(\mathcal{P})EC.md## Function Set 可执行文件内置Go原生模板函数自定义命名空间 - \(\mathcal{D}\)ata: datasource、include、datasourceExists... - Collections: coll.\(\mathcal{D}\)ict、coll.Slice... ## Flags $ ./executable --help Flags: -d, --datasource 别名URL格式数据源可多次传入 ## Edge Cases --in 与 --file 参数互斥同时传入直接报错 --file 与 --input-dir 不可共存3.4 流水线终止判定机制按优先级依次触发终止条件自主判定完成主规则Spec Agent自行判定已覆盖全部行为输出完整S(\mathcal{P})EC.md轮次上限兜底最大1000轮智能体交互预留充足探测空间绝大多数任务提前终止墙钟时间兜底最长运行6小时强制终止交付校验无S(\mathcal{P})EC.md文件则持续重跑生成最多8次重试后判定任务失败。3.5 智能体整体设计原则基础架构统一采用ReAct智能体范式每轮工具调用后强制输出完整推理过程方便日志可解释调试上下文隔离压缩两阶段完全隔离会话仅传递结构化S(\mathcal{P})EC.md丢弃Spec Agent冗长探测日志、推理文本避免上下文稀释注意力阶段信息摘要不完整复制全量对话历史仅留存提炼后的标准化需求大幅降低下游编码阶段上下文负担。4 实验设计全流程4.1 四大研究问题(RQ)RQ1SpecFirst相比传统单循环基线从零程序合成整体有效性提升幅度RQ2在简单/中等/高难度分层任务上SpecFirst效果是否稳定RQ3专用Spec Agent能否显著提升二进制行为探测代码覆盖率RQ4前置标准化需求如何改变代码智能体的轮次资源分配行为4.2 评测基准(\mathcal{P})rogram(\mathcal{B})ench介绍完整200个真实开源命令行程序复刻任务源码语言分布Rust(107)、Go(46)、C/C(45)、Java(1)、Haskell(1)难度分层简单28例、中等143例、困难29例配套测试集总计248853条测试用例单任务中位数770条测试行覆盖率平均79.7%全程对智能体隐藏仅用于最终打分。4.3 核心评测指标定义平均测试通过率主指标单任务通过率通过测试用例/总测试用例取全部任务均值支持部分得分能捕捉小幅行为改进。探测代码覆盖率辅助指标对二进制插桩记录所有执行代码行覆盖率探测阶段触发唯一代码行数/程序总行数量化行为挖掘完整度各语言插桩工具Go(go build -cover)、C/C(gcc --coverage)、Rust(cargo llvm-cov)。4.4 参评大模型清单全部模型默认开启深度推理解码参数使用厂商默认值无额外调优模型名称模型体系架构推理开关Qwen3.5-397(\mathcal{B})-A17(\mathcal{B})开源权重MoE默认开启Qwen3.6-35(\mathcal{B})-A3(\mathcal{B})开源权重MoE默认开启G(\mathcal{P})(\mathcal{T})-5.5-high闭源商用未知高推理强度G(\mathcal{P})(\mathcal{T})-5.4-mini闭源商用未知中等推理强度4.5 对照基线方案(\mathcal{D})irect-Synthesis直接合成基线完全复用mini-SWE-agent脚手架无前置Spec Agent阶段仅输入文档二进制直接编码SpecFirst与基线仅新增需求提取阶段脚手架、环境、提示词全部保持一致控制单一变量。4.6 工程实现细节运行环境独立隔离(\mathcal{D})ocker容器无外网访问使用(\mathcal{P})rogram(\mathcal{B})ench官方任务镜像模型调用统一LiteLLM代理兼容OpenAI接口两阶段使用独立会话上下文完全隔离模型复用Spec阶段、代码合成阶段使用完全相同大模型实验复现全部修改以补丁形式开源可复现完整实验流程。5 实验结果与数据分析5.1 RQ1SpecFirst整体有效性验证采用配对双侧Wilcoxon符号秩检验α0.05全部模型提升统计显著p0.01模型基线通过率SpecFirst通过率相对提升赢/输/持平任务数Qwen3.5-397(\mathcal{B})33.66%40.84%21.3%130/58/12Qwen3.6-35(\mathcal{B})27.51%31.40%14.1%121/67/12G(\mathcal{P})(\mathcal{T})-5.5-high59.02%65.14%10.4%150/38/12G(\mathcal{P})(\mathcal{T})-5.4-mini39.09%41.78%6.9%119/69/12补充高分任务占比G(\mathcal{P})(\mathcal{T})-5.5-high测试通过率阈值基线占比SpecFirst占比≥50%69.0%74.0%≥70%42.5%55.5%≥90%5.5%16.5%≥95%1.5%6.5%结论SpecFirst不仅拉高平均分大幅提升近乎完美实现90%通过率的任务数量最高4倍增长。5.2 RQ2不同难度任务下的性能表现模型简单任务(28)中等任务(143)困难任务(29)Qwen3.5-397(\mathcal{B})42.9%→52.9%(23.3%)34.6%→42.1%(21.7%)20.0%→23.0%(15.0%)Qwen3.6-35(\mathcal{B})37.8%→42.2%(11.6%)28.1%→32.1%(14.2%)14.5%→17.6%(21.4%)G(\mathcal{P})(\mathcal{T})-5.5-high73.7%→78.9%(7.1%)61.9%→67.5%(9.0%)30.8%→40.0%(29.9%)G(\mathcal{P})(\mathcal{T})-5.4-mini49.7%→57.4%(15.5%)40.7%→42.8%(5.2%)21.0%→21.9%(4.3%)关键结论高难度任务提升幅度最大G(\mathcal{P})(\mathcal{T})-5.5在困难任务通过率提升近30%复杂长流程任务下前置标准化需求是核心认知脚手架。5.3 RQ3专用Spec Agent对探测覆盖率的提升模型SpecAgent探测覆盖率 / 编码阶段探测 / 合并总覆盖率基线总覆盖率Spec优于基线任务占比Qwen3.5-397(\mathcal{B})58.0% / 51.0% / 59.8%51.9%77.2%Qwen3.6-35(\mathcal{B})54.9% / 51.3% / 58.3%49.2%71.2%G(\mathcal{P})(\mathcal{T})-5.5-high58.3% / 31.2% / 60.3%55.1%66.2%G(\mathcal{P})(\mathcal{T})-5.4-mini56.5% / 41.7% / 58.6%52.1%63.5%结论覆盖率提升9.4%~18.5%增量完全来自独立Spec Agent阶段编码阶段补充探测带来的增益极小证明专用前置挖掘是核心。5.4 RQ4前置需求对代码智能体行为模式的改变轮次分配重构基线前期大量轮次用于反复探测二进制SpecFirst编码智能体仅29轮简单确认即可直接进入持续编码基线会消耗1120轮探测资源编码预算被严重挤压代码库规模提升SpecFirst最终代码行数比基线高7%~29%实现更完整功能集终止逻辑差异全部基线任务均未触达1000轮上限全部为模型自主判定“理解足够”提前终止瓶颈不是轮次限制而是行为认知不足前置完整需求解决认知短板充分利用计算资源完成开发。6 相关工作综述6.1 基于大模型代码生成与程序合成小规模函数基准HumanEval、M(\mathcal{B})(\mathcal{P})(\mathcal{P})文档少量测试样例约束清晰模型表现良好仓库级/完整程序任务SWE-bench、(\mathcal{P})rogram(\mathcal{B})ench无完整规约、仅靠文档难度激增现有SWE-agent、OpenHands等一体化智能体无独立需求挖掘阶段本文首次将黑盒行为提取设为独立前置流水线组件。6.2 软件工程领域需求提取技术传统需求工程强调编码前完整调研但现有LLM需求工具仅解析静态文本文档无法主动运行程序挖掘隐藏行为Spec Agent借鉴(\mathcal{B})(\mathcal{D})(\mathcal{D})行为驱动开发思想但产出自然语言规约文档而非测试用例。6.3 黑盒二进制分析与规约提取协议逆向动态探测提取网络报文输出机器可读协议文法面向安全领域动态不变量挖掘、规约挖掘需要源码或大量历史运行日志LLM反编译允许读取程序汇编本文严格禁止逆向操作仅支持上层CLI黑盒交互SpecFirst独有定位纯上层黑盒主动探测产出下游代码智能体可直接使用的自然语言需求文档。7 讨论与局限性分析7.1 程序实现失败案例根因拆解抽样50例人工标注F1 需求文档遗漏(10%)Spec Agent未探测到对应行为S(\mathcal{P})EC.md无记录F2 需求描述错误(4%)探测观测记录错误实现完全遵循错误文档F3 需求描述精度不足(26%)仅定性描述缺少退出码、输出渠道等定量约束F4 编码执行故障(52%主失败类型)需求文档完全正确但代码实现逻辑出错F5 环境依赖报错(8%)测试环境、工具链带来无关噪声。研究启示后续优化分两条主线1提升Spec Agent探测完备性2增强编码阶段校验、自修正逻辑。7.2 需求文档格式消融实验G(\mathcal{P})(\mathcal{T})-5.4-mini50样本文档格式平均测试通过率无需求基线55.9%自由无结构文本60.7%OpenSpec规范61.7%本文分章节Sections格式62.6%分章节结构化文档能平衡完整性与可读性给下游编码智能体提供清晰检索入口效果最优。7.3 SpecFirst的推理成本开销分析单位任务美元成本模型基线总成本SpecFirstSpec阶段/编码阶段/合计总开销增幅Qwen3.5-397(\mathcal{B})$2.56$0.95 / $2.84 / $3.7948%Qwen3.6-35(\mathcal{B})$2.03$0.50 / $2.68 / $3.1756%G(\mathcal{P})(\mathcal{T})-5.4-mini$0.35$0.25 / $0.29 / $0.5351%G(\mathcal{P})(\mathcal{T})-5.5-high$2.54$3.16 / $2.69 / $5.85130%开销来源新增Spec Agent探测推理仅G(\mathcal{P})(\mathcal{T})-5.4-mini编码阶段开销下降清晰需求减少反复试错探测开销提升对应行为挖掘、完整实现的增量收益具备工程价值。7.4 实验效度威胁内部效度担心性能提升仅因总计算量更大。但所有基线任务均未用尽轮次上限模型是认知不足提前终止增加算力无法解决根本问题外部效度实验仅覆盖确定性CLI二进制GUI、异步多进程程序效果未验证范式可迁移至A(\mathcal{P})I服务、容器化可执行参考源结构效度指标同时衡量编译可行性行为一致性编译失败样例占比极低不会干扰得分解读。8 结论本文提出SpecFirst双阶段智能体流水线将黑盒二进制行为需求提取设为从零构建程序的独立前置核心阶段解决传统一体化智能体探测不全、需求丢失、错误传导三大缺陷。在(\mathcal{P})rogram(\mathcal{B})ench完整200组任务、4款跨规模大模型对照实验证明SpecFirst稳定提升测试通过率6.9%21.3%二进制代码探测覆盖率提升9.4%18.5%前置标准化需求重构智能体资源分配更早启动编码、产出更完整代码高难度复杂任务收益最显著证明独立需求工程是攻克长流程从零程序合成的关键范式。附论文核心资源清单论文在线阅读地址https://arxiv.org/html/2607.27167v1实验环境依赖LiteLLM A(\mathcal{P})I代理、(\mathcal{P})rogram(\mathcal{B})ench官方(\mathcal{D})ocker镜像、LibreOffice/各类语言代码覆盖率插桩工具实验复现补丁随(\mathcal{P})rogram(\mathcal{B})ench基准配套开源用于搭建SpecFirst双阶段流水线基准数据集(\mathcal{P})rogram(\mathcal{B})encharXiv:2605.03546开源许可arXiv永久非独占使用许可延伸从两篇论文看大模型智能体发展趋势结合本文SpecFirst与前一篇OmegaUse-OfficeVal综合分析当前大模型智能体四大核心发展趋势趋势1流程分层解耦专用子智能体分工取代单一万能智能体早期SWE-agent、基础GUI智能体采用单循环一体化架构探测、规划、生成、调试全部由同一个模型轮次完成最新研究普遍采用多阶段拆分专用子智能体办公智能体OmegaUse-OfficeVal探测文件→校验打分双模块分离代码智能体SpecFirst独立需求挖掘Spec Agent 代码生成Agent底层逻辑复杂长流程任务单一模型上下文资源不足分阶段固化中间产物S(\mathcal{P})EC.md、结构化评分细则消除上下文漂移、反复试错成本。趋势2从“过程评测”转向“交付物价值量化评测”旧评测范式仅统计操作步骤、GUI轨迹、代码行数无真实业务价值新范式两大突破办公场景OmegaUse-OfficeVal引入任务级人力工时、市场报价用经济权重衡量智能体实用价值不再只看平均分代码场景SpecFirst抛弃单纯生成行数指标采用二进制代码覆盖率、真实程序测试通过率衡量行为等价性行业共识智能体评价必须对齐人类外包/人力成本贴合真实生产力收益。趋势3引入标准化、可复现自动化校验摆脱人工/LLM裁判早期评测依赖人工打分、LLM-as-judge主观性强、跨模型不可对比两篇论文均落地代码化确定性自动校验OmegaUse-OfficeValOffice文件结构化校验脚本细粒度正负向评分细则SpecFirst二进制插桩覆盖率、隐藏测试集自动判分核心价值基准完全开源、任何人可复现对比消除评测偏差加速智能体迭代。趋势4聚焦“长周期、从零构建”高难度真实工业任务早期基准以短片段、单步简单任务为主单函数生成、单页面点击2026前沿基准全部瞄准真实重度长流程OmegaUse-OfficeVal平均2.32小时人工办公长流程多文档多模态协同(\mathcal{P})rogram(\mathcal{B})enchSpecFirst从零完整复刻工业级CLI程序无任何源码上下文未来智能体竞争核心不再是简单单次调用而是长上下文状态维持、多步骤规划、多文件协同、完整业务交付能力。趋势5借鉴传统软件工程/办公工程成熟流程范式赋能AISpecFirst直接复用软件工程需求工程前置流程OmegaUse-OfficeVal对标真实职场外包全流程发展逻辑不单纯依靠大模型原生能力把人类成熟工业流水线拆解为AI可执行的阶段用工程范式弥补LLM上下文、规划短板是下一阶段智能体主流优化思路。