TDD Governance for Multi-Agent Code Generation via Prompt Engineering

📄 arXiv: 2604.26615v1 📥 PDF

作者: Tarlan Hasanli, Shahbaz Siddeeq, Bishwash Khanal, Pyry Kotilainen, Tommi Mikkonen, Pekka Abrahamsson

分类: cs.SE, cs.AI

发布日期: 2026-04-29

备注: 5 pages. Submitted to the 1st International Workshop on Empirical Prompt Engineering for Software Engineering (PROMPT-SE 2026)


💡 一句话要点

提出一种基于提示工程的多智能体代码生成TDD治理框架,提升LLM辅助软件开发的可靠性。

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 代码生成 大型语言模型 测试驱动开发 提示工程 软件工程 多智能体系统 AI治理

📋 核心要点

  1. 现有基于LLM的代码生成方法缺乏对TDD原则的有效约束,导致生成代码不稳定且难以遵循开发规范。
  2. 该论文提出AI原生的TDD框架,通过提示工程将TDD原则融入LLM代码生成流程,实现可控的代码生成。
  3. 该框架通过阶段排序、有界修复循环等机制,提升了代码生成的稳定性、可重复性和对开发规范的遵循。

📝 摘要(中文)

大型语言模型(LLMs)加速了软件开发,但在无约束的工作流程中,常常表现出不稳定性、非确定性和对开发规范的弱依从性。虽然测试驱动开发(TDD)提供了一个结构化的红-绿-重构过程,但现有的基于LLM的方法通常将测试用例作为辅助输入,而不是作为可强制执行的过程约束。本文提出了一种AI原生的TDD框架,该框架将经典的TDD原则作为结构化的提示级别和工作流级别的治理机制来实施。提取的原则被形式化为一个机器可读的宣言,并分布在分层架构中的规划、生成、修复和验证阶段,该架构将模型提议与确定性引擎权限分离。该系统强制执行阶段排序、有界修复循环、验证门和原子突变控制,以提高稳定性和可重复性。我们描述了架构,并讨论了将软件工程规范直接编码到提示编排中,我们认为这为可靠的LLM辅助开发提供了一个有希望的方向。

🔬 方法详解

问题定义:现有基于LLM的代码生成方法,虽然利用了测试驱动开发(TDD)的思想,但通常只是将测试用例作为辅助输入,而非强制性的过程约束。这导致生成代码的过程不稳定、结果不确定,并且难以保证代码符合软件工程规范。因此,需要一种方法能够更严格地将TDD原则融入到LLM的代码生成流程中,从而提高代码质量和开发效率。

核心思路:该论文的核心思路是将经典的TDD原则形式化为机器可读的宣言,并通过提示工程(Prompt Engineering)将其嵌入到LLM的代码生成流程中。通过精心设计的提示,引导LLM按照TDD的“红-绿-重构”循环进行代码生成,从而实现对LLM行为的有效约束和控制。这种方法将软件工程规范直接编码到提示编排中,使得LLM能够更好地遵循开发规范。

技术框架:该框架采用分层架构,包含规划、生成、修复和验证等主要阶段。首先,规划阶段确定代码生成的目标和测试用例。然后,生成阶段利用LLM生成代码。如果代码未能通过测试,则进入修复阶段,利用LLM进行代码修复。最后,验证阶段对修复后的代码进行验证,确保其满足测试用例的要求。整个流程强制执行阶段排序、有界修复循环、验证门和原子突变控制,以提高稳定性和可重复性。

关键创新:该论文的关键创新在于将TDD原则通过提示工程的方式融入到LLM的代码生成流程中,实现了对LLM行为的有效治理。与现有方法相比,该方法不是简单地将测试用例作为输入,而是将TDD原则作为强制性的过程约束,从而提高了代码生成的稳定性和可控性。此外,该框架还引入了机器可读的TDD宣言,使得TDD原则能够以一种标准化的方式被应用到不同的LLM和代码生成任务中。

关键设计:该框架的关键设计包括:1) 机器可读的TDD宣言,用于形式化TDD原则;2) 精心设计的提示模板,用于引导LLM按照TDD循环进行代码生成;3) 分层架构,将模型提议与确定性引擎权限分离,实现对LLM行为的有效控制;4) 阶段排序、有界修复循环、验证门和原子突变控制等机制,用于提高代码生成的稳定性和可重复性。具体的参数设置、损失函数、网络结构等技术细节在论文中未详细描述。

🖼️ 关键图片

fig_0
fig_1

📊 实验亮点

该论文提出了一种AI原生的TDD框架,通过提示工程将TDD原则融入LLM代码生成流程,显著提升了代码生成的稳定性和可重复性。该框架通过强制执行阶段排序、有界修复循环等机制,有效控制了LLM的行为,使其更好地遵循软件工程规范。具体的性能数据和对比基线在摘要中未提供,需要查阅论文全文。

🎯 应用场景

该研究成果可应用于各种LLM辅助软件开发场景,例如自动化代码生成、代码修复、代码重构等。通过将TDD原则融入LLM的代码生成流程,可以提高代码质量、降低开发成本,并加速软件开发过程。该方法还有助于提高LLM在软件开发领域的可靠性和可信度,促进LLM在软件工程领域的广泛应用。

📄 摘要(原文)

Large language models (LLMs) accelerate software development but often exhibit instability, non-determinism, and weak adherence to development discipline in unconstrained workflows. While test-driven development (TDD) provides a structured Red-Green-Refactor process, existing LLM-based approaches typically use tests as auxiliary inputs rather than enforceable process constraints. We present an AI-native TDD framework that operationalizes classical TDD principles as structured prompt-level and workflow-level governance mechanisms. Extracted principles are formalized in a machine-readable manifesto and distributed across planning, generation, repair, and validation stages within a layered architecture that separates model proposal from deterministic engine authority. The system enforces phase ordering, bounded repair loops, validation gates, and atomic mutation control to improve stability and reproducibility. We describe architecture and discuss encoding software engineering discipline directly into prompt orchestration, which we think offers a promising direction for reliable LLM-assisted development.