论文

SpecFirst:行为规范获取是从头开始基于代理的程序合成的一流步骤

SpecFirst: Behavioral Specification Elicitation as a First-Class Step in Agent-Based Program Synthesis from Scratch

智能体系统Agent Harness

摘要

基于 LLM 的代理擅长于现有代码库提供上下文的软件工程任务,但从头开始构建程序仍然更加困难。最近的基准测试(例如 ProgramBench)量化了这一差距:仅将自然语言文档和只执行的二进制文件作为行为预言机,即使是前沿模型也只能解决不到 1% 的实例。现有的框架将文档阅读、行为探索和代码合成合并为一个过程,导致代理探索不充分,随着上下文的变化而失去行为意图,并将早期的误解传播到最终的实现中。受经典需求工程的启发,我们认为行为规范启发应该是实施之前的首要阶段。我们提出了 SpecFirst,这是一个两阶段框架,强制在代码合成之前进行规范获取。专门的规范代理首先探测二进制文件,并将观察结果与文档结合成结构化规范。接下来,代码合成代理使用此规范来驱动实现。这种分解在编码开始之前解决了文档歧义,并在整个综合过程中提供了稳定的行为参考。我们在跨两个系列和一个数量级功能的四个模型的所有 200 个 ProgramBench 实例上评估 SpecFirst。 SpecFirst 始终优于单循环基线,将测试通过率提高了 6.9%-21.3%,将二进制探索覆盖率提高了 9.4%-18.5%,所有这些都具有统计显着性。对代码合成的行为分析进一步表明,先前的规范可以实现更早且更持续的代码构建。我们的结果表明,明确的需求工程阶段是从头开始构建程序的有效范例。