Evaluating LLM-Based 0-to-1 Software Generation in End-to-End CLI Tool Scenarios

TL;DR

提出CLI-Tool-Bench,基于黑盒差异测试评估LLMs从零到一生成CLI工具的能力,成功率仅43.8%。

cs.SE 🔴 高级 2026-04-08 58 次浏览
Ruida Hu Xinchen Wang Chao Peng Cuiyun Gao David Lo
大规模语言模型 软件生成 黑盒测试 端到端评估 结构自主性

核心发现

方法论

本研究构建了CLI-Tool-Bench,采用94个真实CLI仓库,覆盖Python、JavaScript和Go等多语言。通过自动化的Schema提取、LLM引导的模糊测试生成测试用例,结合黑盒差异检测技术,评估生成软件的端到端行为。评估指标包括执行成功率、系统副作用一致性和行为等价性,确保不依赖预定义结构。实验中,七个最先进的LLMs在两种代理框架下进行测试,最大成功率仅43.8%,显示生成能力仍具挑战性。

关键结果

  • 最高表现模型Kimi-k2.5在94个任务中成功率为43.78%,远低于人类开发者的水平。模型倾向于生成单块式代码,且较高的Token消耗未必带来性能提升。不同框架对模型表现影响显著,整体成功率受限于结构自主性和行为验证的复杂性。
  • 多语言、多复杂度任务中,模型表现差异明显,复杂任务成功率下降明显。实验还揭示了模型在依赖性管理和错误处理方面的不足,强调了端到端黑盒评估的重要性。
  • 通过对比白盒与黑盒测试,发现白盒测试过度限制模型创新,而黑盒测试更贴近实际用户体验,推动未来评估方法的变革。

研究意义

本研究突破了传统基于预定义结构和白盒测试的评估限制,提出结构无关的端到端黑盒评估框架,为自动软件生成的研究提供了更真实的衡量标准。其结果表明,尽管LLMs在代码补全方面已取得显著进步,但从零到一的完整软件生成仍面临巨大挑战。这对于推动自主软件开发、提升AI辅助工具的实用性具有深远意义,也为未来模型优化和评估体系提供了重要参考。

技术贡献

本文提出了结构无关的CLI工具端到端生成评估体系,结合Schema提取、LLM引导模糊测试与黑盒差异检测,创新性地实现了无需预定义仓库结构的自动验证流程。该方法突破了传统白盒测试的限制,强调行为一致性和系统副作用的验证,为自动化软件工程提供了新思路。实验中,构建了94个多语言、多复杂度的真实任务集,系统性评估了多模型性能,揭示了模型在结构自主性和行为一致性方面的不足,为未来模型设计提供了优化方向。

新颖性

本研究首次提出结构无关的端到端CLI软件生成评估框架,利用黑盒差异测试实现行为级验证,避免了预定义结构的限制。与以往依赖白盒测试和固定仓库结构的评估方法不同,该框架更贴近实际用户需求,强调系统行为和副作用的验证,为自动软件生成评估树立了新标杆。

局限性

  • 当前评估主要集中在CLI工具,尚未覆盖图形界面或复杂交互式应用,未来需扩展到多样化软件类型。
  • 模型在处理复杂依赖和多模块系统时表现仍有限,结构自主性不足,需结合更强的规划能力。
  • 实验依赖于高质量的真实仓库,数据集有限,未来应扩大规模以提升泛化能力。

未来方向

未来将结合强化学习和结构规划技术,提升模型的自主设计能力。还计划引入多模态输入(如自然语言描述与设计图),增强模型理解复杂需求的能力。同时,优化评估指标,结合用户体验和性能指标,推动自动软件生成的实用化与普及。

AI 总览摘要

随着大规模语言模型(LLMs)在代码生成领域的突破,自动化软件开发迈入了新的阶段。传统评估方法多依赖预定义结构和白盒测试,难以真实反映模型的端到端能力。本文提出CLI-Tool-Bench,构建了一个结构无关、端到端的黑盒评估框架,专注于CLI工具的完整生成。通过94个真实仓库、多语言、多复杂度任务,结合Schema提取、LLM引导模糊测试和差异检测,系统性评估模型的行为一致性。实验结果显示,最优模型成功率仅43.8%,揭示了当前技术的局限性。研究强调了行为验证的重要性,推动了自动软件生成评估体系的革新。未来,结合结构规划和多模态输入,将进一步提升模型自主设计能力,为AI辅助软件开发开辟新路径。

深度分析

研究背景

近年来,LLMs在代码生成和软件工程中的应用不断深化,代表性工作如OpenAI的Codex、DeepMind的AlphaCode,推动了自动化编程的发展。传统评估多依赖白盒测试和预定义结构,局限于函数级或维护任务,难以衡量模型的端到端能力。随着软件复杂性的增加,需求从单一功能扩展到完整系统,评估方法亟需创新。此前的HumanEval、MBPP等主要关注函数补全,SWE-bench等尝试扩展到仓库级,但仍依赖结构模板,限制了模型的自主性。新兴的零到一生成评估如NL2Repo-Bench虽有所突破,但仍存在结构依赖和验证不足的问题。

核心问题

核心问题在于,现有评估体系无法全面衡量模型从零到一自主生成完整软件的能力。结构依赖限制了模型的自主规划,白盒测试又偏离用户实际体验,导致评估结果偏向模型对特定实现的适应性。实际应用中,用户关注工具的行为表现和系统副作用,而非内部实现细节。缺乏端到端、行为导向的评估框架,使得模型在真实场景中的表现难以准确反映。解决这一问题,需设计结构无关、行为导向的评估体系,兼顾多样性和真实性。

核心创新

本研究的创新点包括:1)提出结构无关的CLI软件生成评估框架,打破预定义结构限制;2)引入黑盒差异测试,全面验证行为一致性,涵盖执行成功、系统副作用和输出内容;3)利用LLM引导模糊测试,自动生成多样化测试用例,提升评估的全面性和自动化水平。这些创新使得评估更贴近实际用户体验,突破了传统白盒测试的局限,为自动软件生成提供了新的评估范式。

方法详解

  • �� 构建94个真实CLI仓库,覆盖Python、JavaScript和Go,确保多样性。
  • �� 采用静态元数据筛选、动态执行验证和专家筛查,确保仓库质量。
  • �� 利用LLM提取命令结构,生成层级化命令模式和测试用例。
  • �� 设计模糊测试机制,自动生成正负测试用例,验证模型的行为一致性。
  • �� 在隔离的Docker环境中,执行模型生成的代码,记录系统副作用和输出。
  • �� 通过多层次指标(执行成功、系统副作用一致、输出语义)评估模型表现。
  • �� 比较不同模型和框架,统计成功率和行为一致性,分析性能差异。

实验设计

实验采用94个多语言、多复杂度任务,覆盖不同应用场景。每个任务由7个模型在两个框架下生成,执行50个测试用例,累计数万次测试。指标包括:安装成功率、执行成功率、系统副作用一致性和输出语义一致性。通过统计学检验确认模型差异的显著性。还进行了模型行为偏好分析,揭示结构设计和调试过程中的瓶颈。实验强调端到端黑盒评估的必要性,确保模型的实际应用能力。

结果分析

模型最高成功率为43.78%,远低于人类开发者的水平。模型倾向于生成单块式结构,Token消耗与性能关系不明显。不同模型表现差异显著,复杂任务成功率下降明显。黑盒差异测试有效识别行为偏差,揭示模型在依赖管理和错误处理上的不足。结果表明,端到端行为验证是衡量自动软件生成能力的关键,未来需结合结构规划和多模态输入提升模型自主性。

应用场景

该评估体系可用于自动化软件开发工具的性能验证,帮助开发者优化模型设计。企业可借助此框架评估AI生成的CLI工具,确保其行为符合预期,提升软件质量。未来,该方法也可扩展到GUI、Web应用等多类型软件,推动AI在实际软件工程中的应用普及。

局限与展望

目前仅评估CLI工具,尚未覆盖复杂交互界面和多模块系统。模型在处理依赖关系和多层次结构方面仍有限,结构自主性不足。实验依赖高质量仓库,数据集有限,未来需扩大规模。模型在复杂场景中的表现仍需提升,评估指标也需结合用户体验和性能指标,持续优化。

通俗解读 非专业人士也能看懂

想象一个工厂,工厂里有很多不同的车间,每个车间负责生产不同的零件。以前,我们需要提前设计好每个车间的布局和生产流程,然后按照计划制造。现在,假如有个聪明的机器人,它可以自己决定怎么安排车间、生产什么零件,只需要告诉它想要什么成品。这个机器人就像是用大语言模型训练出来的,它可以从零开始设计整个工厂,自己规划流程。我们用一种特殊的方法,测试这个机器人是否真的能自己设计出完整的工厂,而不是只会拼装已有的零件。这个方法就像是让机器人自己制造一些样品,然后和专家手工制造的样品比一比,看它们是否一样。结果显示,这个机器人虽然很聪明,但还不能完全自己设计出完美的工厂,成功率只有43.8%。这说明,虽然技术在进步,但让机器人完全自主设计复杂系统还需要更多努力。

原文摘要

The evolution of Large Language Models (LLMs) has catalyzed a paradigm shift towards intent-driven software development, where autonomous agents are expected to design and deliver complete, runnable software systems from scratch. However, existing benchmarks fail to adequately assess this 0-to-1 generation capability due to two fundamental limitations. First, they rely on predefined structural scaffolds, which reduces the task to mere file-filling. Second, they depend on rigid white-box unit testing, which forces generated code to conform to specific internal implementations rather than validating end-to-end user-centric behavior. To bridge this gap, we introduce CLI-Tool-Bench, a novel, structure-agnostic benchmark designed to evaluate the ground-up generation of Command-Line Interface (CLI) tools. Powered by an automated black-box differential testing framework, the benchmark comprises 94 high-quality, real-world repositories spanning diverse programming languages and complexity levels. For each task, agents are provided with an empty workspace, forcing them to autonomously handle repository planning and dependencies. We evaluate the generated software by executing it in isolated sandboxes. The system-level side effects and terminal outputs are then compared against human-written oracles using a rigorous multi-tiered equivalence metric. Extensive evaluation of seven state-of-the-art LLMs reveals that the top-tier models achieve a maximum overall success rate of only 43.8%, highlighting that 0-to-1 software generation remains a highly challenging frontier. Furthermore, we discover that agents exhibit a strong tendency to generate monolithic code structures, and that higher token consumption does not necessarily yield better task performance.

cs.SE cs.AI