原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正在试图教导一位才华横溢但略显粗心大意的学徒厨师,如何为一整座城市烹制一场规模宏大、结构复杂的宴会。
问题:“模糊的指令”
目前,如果你要求一位顶尖人工智能(即那位学徒)为一个完整的软件系统编写代码,你通常只会给它一段冗长的自然语言描述,例如“制作一个人们可以预订会议的网站”。这就像告诉厨师“做一顿美味的饭菜”一样。
该论文指出,虽然人工智能在切单个洋葱(编写单个函数)方面表现出色,但当被要求烹制整场宴会(整个软件仓库)时,它便会迷失方向。自然语言过于模糊。人工智能可能会猜错、遗漏步骤,或者做出看起来不错但味道不对的菜肴。更糟糕的是,由于指令模糊,很难证明这顿饭失败的原因。
解决方案:“结构化食谱书”
作者提出了一种名为**结构化规范驱动工程(SSDE)**的新工作方式。他们建议不要进行模糊的对话,而是给人工智能一本严格、结构化的“食谱书”。
在本文中,他们使用了两种类型的结构化食谱:
- Gherkin 规范:将其视为“如果 - 那么”测试用例。与其说“让它能工作”,不如写成:“如果用户点击‘预订’,那么房间必须标记为‘已占用’。”这是一份精确行为的检查清单。
- 领域模型:这些就像建筑蓝图或食材地图。它们展示了系统不同部分(如“用户”、“房间”和“日期”)如何相互连接。
实验:品尝测试
研究人员开展了一项试点研究。他们扮演主厨的角色,要求五个不同的人工智能模型(即学徒)为三个不同的软件系统构建“业务逻辑”(即烹饪规则)。
他们测试了不同的组合:
- 对照组:仅使用模糊的自然语言描述。
- 实验组:模糊描述加上结构化的“食谱书”(蓝图和“如果 - 那么”检查清单)。
结果:结构取胜
研究结果非常明确:
- 更高的准确性:当人工智能拥有结构化的“食谱书”(蓝图和检查清单)时,其错误率远低于仅拥有模糊描述的情况。
- “蓝图”的增益:向人工智能提供具体的代码签名(精确的食材和工具列表)以及蓝图,对其帮助最大。这就像不仅给厨师食谱,还给了它确切的面粉品牌和特定尺寸的平底锅。
- 仍有提升空间:虽然结构化方法要好得多,但人工智能仍会犯一些错误。然而,研究人员发现,超过 70% 的错误是简单且可检测的失误——例如引用了不存在的变量,或者犯了 Python 语法错误。这些错误甚至不需要测试预言机(即无需运行代码并观察输出是否符合预期):标准的编译器或代码检查工具(linters)就足以发现它们。
未来路线图
该论文建议,要使这项工作完美运行,我们需要:
- 增加反馈循环:不要只询问人工智能一次,而应让它编写代码,根据“食谱书”进行检查,并自动修复自己的错误。
- 构建更好的数据集:我们需要更多此类结构化食谱书的示例,以便更好地训练人工智能。
- 应对变化:真实软件时刻在变。我们需要教导人工智能如何只更新宴会的一部分(例如更换甜点),而不会毁掉整场宴席。
核心结论
该论文总结道,如果我们不再将人工智能视为对模糊愿望起作用的魔法棒,而是将其视为遵循严格、结构化蓝图的熟练工人,我们就能让它可靠地构建整个软件系统。这将把人工智能从“富有创意的猜测者”转变为“精确的建造者”。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。