Protocol-Driven Development: Governing Generated Software Through Invariants and Evidence
本文介绍了协议驱动开发(PDD),这是一种自动化软件工程治理模型,它将定义结构、行为和运行不变性的机器可执行协议置于易逝代码之上,确保生成的实现仅凭可验证的协议合规证据而非对生成器的信任而被接纳。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正在运营一个庞大的建筑项目,雇佣了一支极其快速、超级智能的机器人舰队来建造房屋。这些机器人能在几秒钟内生成蓝图并砌好墙壁。然而,由于它们速度极快且有时略显不可预测,它们可能会建出一座外观精美但暗藏活板门、使用了错误木材,或意外触发火警的房屋。
过去,我们依赖书面指令(自然语言规范)或检查几个房间(测试)来确保机器人工作得当。但本文作者认为,随着 AI 生成代码变得如此廉价和迅速,这些旧方法已不足以应对。书面指令过于模糊,而仅检查几个房间无法证明整座房屋是安全的。
本文提出了一种名为**协议驱动开发(PDD)**的新工作模式。
核心理念:“规则手册”为王,“房屋”暂存
本文的核心论点是:“代码是暂时的;协议是至高无上的。”
将协议想象成针对特定类型建筑的严格、不可违背的规则手册(或宪法)。将代码(实际软件)想象成由机器人建造的房屋。
- 旧方式:我们写下模糊的描述,如“建造一座舒适的房屋”,并指望机器人能理解正确。如果它建出了一座带有活板门的房屋,我们之后再修复。
- PDD 方式:在机器人开始之前,我们向它提供一份机器可读的规则手册。这份手册不仅仅说“建造一座房屋”;它规定:
- 结构:“前门必须恰好宽 3 英尺,且由钢材制成。”(结构不变量)
- 行为:“如果你敲三下,门必须打开;如果你只敲一下,它必须保持锁定。”(行为不变量)
- 操作:“你不得使用电锯,不得呼叫消防部门,且必须在 10 分钟内完成建造。”(操作不变量)
如果机器人建造的房屋遵循这些规则,它才能被接纳。如果它建造了一座外观精美但使用了电锯,或敲一下门就打开的房屋,无论外观多么漂亮,都会立即被拒绝。
规则手册的三大支柱
本文将规则手册(协议)定义为三者的结合:
- 握手(结构):这就像门的形状和钥匙。它确保房屋与周边环境完美契合。如果房屋的门是圆形的,而街道只接受方形门,它将被拒绝。
- 物理定律(行为):这些是关于房屋如何行动的规则。当你翻转开关时,灯会亮吗?如果风吹来,房屋会保持屹立吗?本文建议使用“基于属性的测试”,这就像用成千上万次随机阵风来测试房屋,确保它永远不会倒塌,而不是仅在平静的一天检查一次。
- 许可证(操作):这是“允许你做什么”的清单。它是一份严格的许可证,规定“你可以使用电力,但不得触碰燃气管道”。这防止机器人偷偷加入未经批准的隐藏功能(如秘密调用第三方服务或将文件写入硬盘)。
“验证器循环”:保安
在这个新系统中,机器人(代码生成器)被视为不可信。它只是一个提案机器。
在任何代码被允许进入系统之前,它必须通过验证器循环。想象这是一位超级严格的保安,手持检查清单:
- 检查蓝图:代码是否符合结构规则?
- 运行模拟:代码在成千上万种不同场景下是否表现正确?
- 检查许可证:代码是否尝试做了任何未被允许的事情?
如果代码通过所有三项检查,保安将颁发准入证书(称为证据链)。这是一张数字收据,无可辩驳地证明该特定代码片段已根据规则手册接受检查并合格。
为何重要:“自然语言税”
作者将处理模糊指令的成本称为**“自然语言税”**。
- 税收:当你说“让它变快”时,一个机器人可能用法拉利让它变快,另一个则用自行车。当你说“不要报警”时,一个机器人可能理解为“不要报警”,而另一个可能认为“除非发生火灾,否则不要报警”。
- 解决方案:PDD 通过用严格、机器可执行的规则取代模糊词汇来消除这种税收。与其争论“快”意味着什么,规则手册直接规定“必须在 10 秒内完成”。
巨大回报:可互换的部件
由于代码只是规则手册的“实现”,你可以轻松替换它。
想象你用机器人建造了一座房屋,并通过了检查。后来,你雇佣了另一台机器人来重建这座房屋。只要新房屋遵循完全相同的规则手册(相同的门宽、相同的光行为、相同的许可证),你就可以将旧房屋替换为新房屋,而无人察觉。“房屋”(代码)是暂时且可替换的;“规则手册”(协议)是永久且受信任的权威。
总结
本文认为,随着 AI 在编写代码方面越来越出色,我们需要停止担忧代码如何编写,转而关注它必须遵循什么规则。
- 旧模式:信任编写者,检查几个示例。
- 新模式(PDD):不信任编写者,强制执行严格的规则手册,并要求提供证明规则已被遵循的数字收据。
代码只是暂时的客人;协议是永久的主人。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。