@GergelyOrosz:有一种流行理论认为,人工智能最终将使形式化验证成为主流,因为数学证明的正确性…

X AI KOLs Following 新闻

摘要

一档邀请 Hillel Wayne 的播客节目讨论了 AI 是否会推动形式化验证的主流采用,重点介绍了 TLA+ 在亚马逊的使用以及编写形式化规范的挑战。

有一种流行理论认为,人工智能最终将使形式化验证成为主流,因为当机器编写大部分或全部代码时,需要数学证明其正确性。但这会发生吗?Hillel Wayne 是最适合回答这个问题的人之一。时间戳: 00:00 介绍 04:32 交叉项目 11:37 软件工程做得更好的地方 15:30 传统工程做得更好的地方 18:17 形式化方法 29:32 TLA+:是什么及演示 36:58 TLA+ 在亚马逊 38:10 分布式系统崩溃的方式 41:03 形式化方法与系统思维 46:20 学习数学的价值 50:23 TLA+ 的优点与不足 52:50 Alloy:用于软件建模的声明式语言 58:53 其他形式化方法工具 1:01:24 基于属性的测试 1:05:31 AI 与形式化验证的需求 1:12:29 程序员的逻辑 1:14:35 Hillel 对 2025 年 AI 影响的预测 1:21:30 书籍推荐 本期节目由以下赞助商提供: • @AntithesisHQ – 无需人工审查或传统集成测试即可验证系统正确性,避免错误或停机。https://antithesis.com/pragmatic • @turbopuffer – 基于对象存储的向量和全文检索引擎。快速、廉价且极具可扩展性。https://turbopuffer.com/pragmatic • @WorkOS – 让你的应用做好企业级准备所需的一切。https://workos.com 与 Hillel 的交谈中,有两件事我特别感兴趣: 1. 亚马逊使用 TLA+ 发现了一个几乎不可能通过其他方式找到的 bug。 在《AWS 如何使用形式化方法》一文中,AWS 团队分享说他们发现了一个复杂的 bug,其最短错误轨迹需要 35 个步骤(!!)。该 bug 在广泛的设计评审、代码评审和测试中都未被发现。AWS 认为如果他们坚持传统的测试方法,根本不会发现它。 2. 那么,为什么不所有东西都使用形式化验证呢? 因为现实世界中的规范编写起来非常困难。即使是一个简单的问题,比如“在目录中找到行数最多的文件”,用形式化方法建模时也会变得复杂。我们必须回答诸如:我们是查看 ASCII 还是 UTF-8 换行符,如何处理不可读文件,以及符号链接?没有形式化方法,我们可以编写一个在 99% 以上的情况下都正确的简单验证。形式化方法需要为不到 1% 的奇异用例付出大量额外努力。
查看原文
查看缓存全文

缓存时间: 2026/07/30 07:51

有一种流行的观点认为,AI 最终会让形式化验证成为主流,因为当机器编写大部分或全部代码时,需要数学正确性证明。但这真的会发生吗?Hillel Wayne 是最适合回答这个问题的人之一。时间戳:

00:00 开场 04:32 交叉项目 11:37 软件工程做得更好的地方 15:30 传统工程做得更好的地方 18:17 形式化方法 29:32 TLA+:是什么及演示 36:58 亚马逊的 TLA+ 38:10 分布式系统出错的方式 41:03 形式化方法与系统思维 46:20 学习数学的价值 50:23 TLA+ 的适用与不适用的场景 52:50 Alloy:用于软件建模的声明式语言 58:53 其他形式化方法工具 1:01:24 基于属性的测试 1:05:31 AI 与形式化验证的需求 1:12:29 程序员的逻辑学 1:14:35 Hillel 对 2025 年 AI 影响的预测 1:21:30 书籍推荐

本集由以下赞助商提供:

• @AntithesisHQ – 无需人工审查或传统集成测试即可验证系统正确性,避免 Bug 或故障。https://antithesis.com/pragmatic

• @turbopuffer – 基于对象存储的向量与全文搜索引擎,快速、廉价且极具可扩展性。https://turbopuffer.com/pragmatic

• @WorkOS – 让您的应用做好企业级就绪所需的一切。https://workos.com

与 Hillel 交谈时,我发现两点特别有趣:

  1. 亚马逊使用 TLA+ 发现了一个几乎不可能通过其他方法定位的 Bug。

在论文《AWS 如何使用形式化方法》中,AWS 团队分享说,他们发现了一个复杂的 Bug,其最短错误路径竟然有 35 个步骤(!!)。这个 Bug 经过了大量的设计审评、代码审查和测试。AWS 得出结论,如果坚持传统测试方法,他们根本不会发现它。

  1. 那么,为什么不对所有事情都使用形式化验证?

因为真实世界中的规格说明写起来非常痛苦。即使是像“在目录中找到行数最多的文件”这样一个简单的问题,用形式化方法建模也会变得复杂。我们需要回答诸如:“我们查看 ASCII 还是 UTF-8 的换行符?不可读的文件怎么办?符号链接怎么处理?”等问题。没有形式化方法,我们可以编写一个简单验证,在 99% 以上的情况下都是正确的。而为了那不到 1% 的极端用例,形式化方法需要付出很多额外努力!


正在重定向…

来源:https://antithesis.com/pragmatic/ 重定向到 /?utm_medium=podcast&utm_campaign=pragmatic_2026&utm_source=pragmatic&utm_content=pragmatic_20260513(https://antithesis.com/?utm_medium=podcast&utm_campaign=pragmatic_2026&utm_source=pragmatic&utm_content=pragmatic_20260513)

相似文章

你对形式验证一窍不通

Hacker News Top

这是一篇评论文章,探讨了关于形式验证的常见误解,并强调了它在确保软件和AI系统可靠性中的关键作用。