REprompt: Prompt Generation for Intelligent Software Development Guided by Requirements Engineering
本文介绍了 REprompt,这是一个利用需求工程原则来自动生成并优化系统提示词与用户提示词的多智能体框架,旨在提升基于大语言模型的编程智能体在现实软件开发场景中产出人工制品的质量。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你想盖一栋房子,但你不是在和建筑师沟通,而是在向一个非常聪明但有点困惑的机器人建筑师大声喊出模糊的指令。你说:“给我盖个酷炫的房子。”机器人可能会盖一座城堡、一艘宇宙飞船,或者一栋没有屋顶的房子,因为它不知道对你来说“酷炫”到底意味着什么。
这就是今天使用**大语言模型(LLMs)**编写软件时面临的问题。它们是机器人建筑师,而你的“提示词”(指令)往往过于模糊,导致代码混乱或损坏。
这篇论文介绍了一个名为 REprompt 的新工具。请不要把 REprompt 仅仅看作一个魔法咒语,而要把它看作一位穿插在你与机器人建筑师之间的专业需求工程师。
核心理念:将提示词视为蓝图
在软件构建的世界中,有一门学科叫做需求工程(Requirements Engineering)。这是指工程师与客户坐下来,提出正确的问题,弄清楚究竟需要什么,将其记录在清晰的蓝图中,并在任何施工开始前,确保蓝图逻辑通顺且无误的过程。
作者们意识到,当我们与 AI 对话时,我们跳过了这个至关重要的步骤。我们只是给出了一个快速的命令。REprompt 通过将 AI 对话转变为一个结构化的工程过程来解决这个问题。
REprompt 如何运作:四步走团队
REprompt 并没有使用一个试图猜测你意图的单一 AI,而是使用了一个由四个专门的 AI “智能体”(角色)组成的团队,他们就像人类工程团队一样运作。他们通过四个阶段进行,就像建造真实的房子一样:
访谈者与受访者(需求获取):
- 类比: 想象一名侦探(访谈者)正在询问一名证人(受访者)。
- 发生的过程: 你给出一个模糊的想法(例如,“我想要一个游戏”)。访谈者 AI 向受访者 AI 提出一系列聪明的问题:“规则是什么?玩家是谁?如果输了会发生什么?”受访者以结构化的方式回答。这把你模糊的愿望转化为了详细的需求清单。
分析师(分析):
- 类比: 一位建筑师看着侦探的笔记并画出一份粗略的草图。
- 发生的过程: 访谈者 AI 收集所有答案,并将它们组织成一份草拟的“软件需求规格说明书”。这就像是将一份杂乱的愿望清单转化为一份正式的任务清单。
规范制定者(规范化):
- 类比: 一位翻译官,将建筑师的草图转化为一份严格的、循序渐进的施工说明手册。
- 发生的过程: 这个智能体(称为 CoTer)将草案转化为“思维链(Chain of Thought)”。
- 如果你是在请求软件(如一款游戏),它会将任务分解为严格的编程步骤(例如,“第一步,搭建棋盘。第二步,添加棋子。”)。
- 如果你是想优化 AI 自身的性格(系统提示词),它会将指令组织成清晰的部分:“你是谁”、“你知道什么”以及“你的行为准则”。
评审员(验证):
- 类比: 一位在施工开始前检查蓝图的建筑监察员。
- 发生的过程: 这个智能体会检查最终的指令手册。它会问:“是否有遗漏?是否令人困惑?是否存在矛盾之处?”如果答案是“是”,它会将手册发回给规范制定者进行修正。
他们测试了什么(结果)
研究人员不仅是在空谈,他们还构建并从两个主要方面进行了测试:
1. 优化 AI 的“职位描述”(系统提示词)
他们使用了一个著名的多智能体系统 MetaGPT(这是一个类似于由 AI 工作者组成的团队来构建软件的系统)。他们提取了该系统中团队领导和架构师的原有“职位描述”(提示词),并使用 REprompt 对其进行了处理。
- 结果: AI 团队产出了更优秀的文档(如项目计划和设计蓝图)。当人类测试由这些计划构建出的实际软件时,他们感到更加满意,认为软件更易于使用,且质量更高。这就像是给施工队一份更好的蓝图,从而确保房子不会出现漏水的屋顶。
2. 优化你的指令(用户提示词)
他们在名为 YouWare 的平台上测试了 REprompt,在该平台上,人们可以通过输入简单的请求来生成 Web 应用。
- 结果: 当用户输入简单的内容,如“我想要一个贪吃蛇游戏”或“我想要一个计算器”时,REprompt 首先会对请求进行“访谈”以充实细节,然后将改进后的指令传递给 AI。相比于用户直接输入简单请求所得到的结果,生成的游戏和工具明显更好、更有趣,且运行得更加流畅。
总结
该论文声称 REprompt 之所以奏效,是因为它迫使 AI 放慢速度,像专业的工程师一样思考。它不再急于编写代码,而是先提问、整理计划并检查错误。
- 没有 REprompt 时: 你说“盖一栋房子”,机器人就造了一堆砖头。
- 有了 REprompt 后: 机器人会问:“多大尺寸?多少个房间?什么风格?”它会制定计划,检查计划,然后才去建造一栋真正符合你心意的房子。
这项研究证明,通过借鉴人类软件工程的方法(需求工程),我们可以让 AI 智能体在理解和为我们构建软件方面变得更加出色。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。