코딩

PDD Kit:AI 代码形式化验证与 Verus 证明

AI agents can generate code at a scale that’s hard for humans to review line-by-line. PDD Kit helps ensure the code is doing what the developer intended by creating formal specific

본문은 SEO 깊이를 위해 주로 중국어입니다. 위는 현지화 요점입니다. 언어 전환·딥링크로 글로벌 탐색하세요.

PDD Kit:AI 代码形式化验证与 Verus 证明

AI agents 可以一次性生成完整功能代码,规模大到人类无法逐行审查。PDD Kit 让开发者将开发意图转化为正式规格,并在 Verus 框架下自动证明 agent 写的代码对所有输入都符合预期。适合构建大型全栈 Web 应用、需要高可靠性的团队,或依赖 AI 生成代码的开发者使用。通过结合规划文档和数学证明,它能替代传统逐行审查,让代码验证过程可扩展且可执行。

PDD Kit 如何让 AI 生成的代码“有据可查”

传统开发中,开发者先定好需求计划,再让 AI 代理(agent)实现代码。Agent 往往能写出数万行代码,但无法强制自己严格遵守计划。PDD Kit 则将这一流程推向更高层次:先把自然语言意图转为正式规格,再用 Verus 证明器验证代码是否完全符合,同时对无法证明的部分生成测试用例。

核心优势在于它把“审查”变成“证明”。开发者只需要在规划环境中签署正式规格,剩下的证明工作由工具自动完成。Microsoft Research 的 PDD Kit 就是在 GitHub Next 的 Chopin 环境中运行的工具,专为 Rust 后端和 WebAssembly 前端应用设计,已在真实项目中验证了登录逻辑等敏感部分。

适用场景

  • 全栈 Web 应用开发,尤其是需要安全控制(登录、权限)的系统
  • 需要证明代码在边缘场景下的正确性,而非仅靠测试覆盖
  • 开发者不想逐行阅读 AI 生成的代码,而是依赖数学保证

如果你正在用 Cursor 或 Claude Code 等工具生成全栈代码,PDD Kit 能让你在代码实现前就锁定核心意图,避免后期 bug 堆积。

核心组件与验证流程

PDD Kit 的工作分为两个部分:规划意图和自动验证。整个过程在共享文档中进行,Agent 和开发者可以实时协作。

  1. 规划阶段

开发者用自然语言描述需求(如“只接受正确密码的 token,管理员账户单独处理”)。PDD Kit 会自动提出问题,收集答案,并生成正式规格文档。

  1. 正式验证阶段

符合可证明的部分转为 Verus 规格,由 Verus 证明器自动生成证明,证明代码对所有输入都满足条件。

  1. 测试与信任部分

无法证明的部分(如第三方库或 UI 交互)转为测试用例,覆盖率用例自动化执行。

结果会明确标注是“数学证明”还是“测试证据”,并明确信任边界(Trusted Computing Base)。

GitHub 登录逻辑验证示例 开发者在 Chopin 文档中输入: “Verify the login logic in backend/src/handlers/auth.rs. Here are my requirements: 1) You only get a token with the right password. 2) Only admin accounts get admin tokens.”

PDD Kit 首先询问决策卡片:“Only with the right password” 是否排除拒绝所有用户的方案。开发者确认后,工具自动生成 Verus 规格并证明。最终开发者只需审核意图文档,未读一行 AI 代码。

实际效果与案例

Microsoft Research 在 GitHub Next 的 Chopin 环境中用 PDD Kit 验证了 Pet Store 应用(约 5000 行 Rust)。后端用 Axum + SQLite,前端用 Leptos WebAssembly。重点验证了登录逻辑,成功发现了现有 bug,并证明了“无登录 bug”的性质。

开发者在整个过程中从未逐行审查代码,只需在规划文档中确认意图。PDD Kit 自动生成了证明,CI 流水线则包含证明和测试两种证据。

验证类型对照表

验证类型覆盖范围证据类型适用场景
形式化证明所有输入的逻辑正确性数学证明核心安全逻辑(如登录权限)
经验验证UI、加密库、边缘用例测试用例第三方依赖或浏览器交互
混合验证完整应用证明 + 测试全栈 Web 应用(推荐首选)

这个表帮助团队快速评估哪个部分需要更强的验证投入。

为什么开发者越来越需要 PDD Kit

随着 AI agents 生成代码的规模爆发,传统测试和人工审查无法闭合“意图与实现”的差距。PDD Kit 提供了一种可扩展的解决方案:把“审查”变成“证明”,让开发者在不牺牲开发速度的情况下获得更高置信度。它已从学术工具演进为日常开发伙伴,适合 Rust 生态和 WebAssembly 项目。

延伸阅读

风险与边界

PDD Kit 当前仍处于研究预览阶段,正式验证仅适用于可数学形式化的部分,复杂第三方依赖仍依赖测试。过度依赖证明可能掩盖未覆盖的运行时行为。团队需明确信任边界,并定期更新规格。建议在生产环境前结合端到端测试使用。 本文内容基于 2026-11-05 Microsoft Research 官方博客,仅供技术参考,非法律意见。实际应用请参考 Verus 官方文档及最新版本。

English summary

PDD Kit is a Microsoft Research toolkit that turns developer intent into formal specifications using Verus, then automatically proves whether AI-generated Rust code meets those specifications for every possible input. It works inside GitHub Next’s Chopin planning environment and is perfect for teams building full-stack web apps where line-by-line review no longer scales. Developers write a short natural-language plan, answer a few clarifying questions, and receive a combination of mathematical proofs for core logic plus high-quality tests for the rest. The Pet Store login example shows how a simple two-sentence requirement can be formally verified without reading any generated code lines. This approach closes the gap between what the developer asked for and what the agent actually shipped, especially for security-sensitive parts like authentication. Use it with Cursor, Claude Code, or any AI coding agent when you need stronger guarantees than tests alone can provide. Check the official Microsoft Research blog for the latest updates and try it directly in the Chopin environment.

适用于 GrokCode 倍率榜。信息仅供参考,不构成购买、投资或法律意见。