Human-In-the-Loop Software Development Agents

📄 arXiv: 2411.12924v2 📥 PDF

作者: Wannita Takerngsaksiri, Jirat Pasuksmit, Patanamon Thongtanunam, Chakkrit Tantithamthavorn, Ruixiong Zhang, Fan Jiang, Jing Li, Evan Cook, Kun Chen, Ming Wu

分类: cs.SE, cs.AI, cs.HC, cs.LG

发布日期: 2024-11-19 (更新: 2025-01-10)

备注: 10 pages, 9 figures, ICSE SEIP 2025


💡 一句话要点

提出人机协同的软件开发智能体框架HULA,提升开发效率。

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

关键词: 人机协同 软件开发智能体 大型语言模型 代码生成 Atlassian JIRA

📋 核心要点

  1. 现有基于LLM的软件开发智能体缺乏人工反馈,难以保证代码质量和满足实际需求。
  2. HULA框架通过人机协同的方式,允许工程师在编码计划和代码生成阶段指导和优化LLM。
  3. 在Atlassian JIRA的内部部署和评估表明,HULA能有效减少开发时间和精力,尤其在简单任务中。

📝 摘要(中文)

本文提出了一种人机协同的基于大型语言模型(LLM)的软件开发智能体框架(HULA),旨在解决现有软件工程中基于LLM的多智能体范式缺乏人工反馈和实际部署的问题。HULA允许软件工程师在生成编码计划和源代码时对LLM进行优化和指导。该框架被设计、实现并部署到Atlassian JIRA中供内部使用。通过对HULA框架的多阶段评估,Atlassian的软件工程师认为HULA可以最大限度地减少整体开发时间和精力,尤其是在启动编码计划和编写简单任务的代码方面。然而,在某些情况下,代码质量仍然是一个问题。总结了经验教训,并讨论了未来工作的机会,这将为基于LLM的智能体在软件开发中的发展铺平道路。

🔬 方法详解

问题定义:现有基于大型语言模型的软件开发智能体主要依赖历史数据集进行评估,缺乏在实际开发过程中与人类工程师的交互和反馈。这导致生成的代码可能不符合实际需求,代码质量难以保证,并且难以在实际项目中部署和应用。现有方法的痛点在于缺乏人机协同,无法充分利用人类工程师的专业知识和经验。

核心思路:HULA框架的核心思路是将人类工程师纳入到LLM驱动的软件开发流程中,实现人机协同。通过允许工程师在编码计划和代码生成阶段提供反馈和指导,HULA能够生成更符合实际需求、质量更高的代码。这种人机协同的方式能够充分利用LLM的自动化能力和人类工程师的专业知识,从而提高软件开发效率和质量。

技术框架:HULA框架主要包含以下几个阶段:1) 任务分解:将软件开发任务分解为更小的子任务。2) 编码计划生成:LLM根据任务描述生成编码计划,工程师可以对计划进行审查和修改。3) 代码生成:LLM根据编码计划生成源代码,工程师可以对代码进行审查、修改和测试。4) 反馈循环:工程师的反馈被用于优化LLM的模型参数,从而提高后续代码生成的质量。HULA框架被集成到Atlassian JIRA中,方便工程师在实际开发中使用。

关键创新:HULA框架的关键创新在于引入了人机协同的软件开发模式。与传统的自动化软件开发方法相比,HULA能够充分利用人类工程师的专业知识和经验,从而生成更符合实际需求、质量更高的代码。此外,HULA框架还提供了一个反馈循环,能够不断优化LLM的模型参数,从而提高后续代码生成的质量。

关键设计:HULA框架的关键设计包括:1) 使用LLM作为代码生成的核心引擎。2) 设计了人机交互界面,方便工程师提供反馈和指导。3) 实现了反馈循环,能够不断优化LLM的模型参数。4) 集成到Atlassian JIRA中,方便工程师在实际开发中使用。具体的参数设置、损失函数、网络结构等技术细节在论文中未详细描述,属于未知信息。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

Atlassian软件工程师的评估表明,HULA能够显著减少整体开发时间和精力,尤其是在启动编码计划和编写简单任务的代码方面。工程师们认为HULA在生成编码计划和编写简单代码方面表现出色。但代码质量在某些情况下仍然是一个挑战,需要进一步改进。

🎯 应用场景

HULA框架可应用于各种软件开发场景,尤其适用于需要高质量代码和满足特定需求的场景。通过人机协同,HULA能够提高开发效率,降低开发成本,并减少错误。未来,HULA有望成为软件开发领域的重要工具,推动软件开发自动化和智能化。

📄 摘要(原文)

Recently, Large Language Models (LLMs)-based multi-agent paradigms for software engineering are introduced to automatically resolve software development tasks (e.g., from a given issue to source code). However, existing work is evaluated based on historical benchmark datasets, rarely considers human feedback at each stage of the automated software development process, and has not been deployed in practice. In this paper, we introduce a Human-in-the-loop LLM-based Agents framework (HULA) for software development that allows software engineers to refine and guide LLMs when generating coding plans and source code for a given task. We design, implement, and deploy the HULA framework into Atlassian JIRA for internal uses. Through a multi-stage evaluation of the HULA framework, Atlassian software engineers perceive that HULA can minimize the overall development time and effort, especially in initiating a coding plan and writing code for straightforward tasks. On the other hand, challenges around code quality remain a concern in some cases. We draw lessons learned and discuss opportunities for future work, which will pave the way for the advancement of LLM-based agents in software development.