Vercel 发布新语言 Zero:代码不是为人而写,而是为 AI 而写
Vercel
Vercel Labs 发布了一款名为 Zero 的实验性系统编程语言,主要面向 AI 代理,使其能够读取和修复代码。该语言可编译为原生二进制文件,具备统一的 JSON 输出和结构化诊断信息的工具链契约。0.3.0 版本引入了以图优先的工作流,其中二进制图存储作为编译器输入。
Vercel Labs 发布了一款实验性系统编程语言 Zero,其核心理念是编译器输出的主要读者不再是人类,而是 AI 代理。该语言由 Chris Tate 于 2026 年 5 月 15 日宣布推出,定位为一种更快、更小且更利于代理的系统语言。项目进展迅速,已发布至 0.3.4 版本,并在 GitHub 上获得了超过 5200 颗星。Zero 使用 .0 文件扩展名,采用 Apache 2.0 许可证,可编译为 Linux、macOS 和 Windows 的原生二进制文件。早期报告强调其体积小、速度快:一个 Hello World 程序在不到一毫秒内构建完成,生成 16.2 KiB 的二进制文件。其一个显著特点是工具链契约:单一的 zero 二进制文件中的每个子命令都支持统一的 --json 标志和一致的诊断模式,并带有稳定的错误代码(如 NAM003)和类型化的修复元数据(如 declare-missing-symbol);此外,'zero fix --plan --json' 返回机器可读的修复计划,代理可以接受、编辑或拒绝该计划。副作用是显式的:与外部世界交互的函数必须接受一个 World 能力参数,并由编译器强制执行,因此函数签名会揭示对网络、文件系统或标准输出的访问权限。0.3.0 版本采用图优先创作作为标准工作流程:二进制文件 zero.graph 存储库是编译器输入,.0 文件是人类可读的投影,代理通过 'zero query' 和 'zero patch' 工作,补丁由图哈希保护。对于现有用户而言,这些变化意义重大:v0.1.4 使用基于行的语法,v0.2.0 将规范化 .0 文本提升为原生源载体,而 v0.3.0 在编译器边界完全拒绝源投影输入。因此,文本优先的包必须使用 'zero import' 将源代码导入图中,并使用 'zero export' 配合 'zero verify-projection' 进行人工审查和持续集成(CI)漂移检查。0.3.2 版本将大型程序的导入速度提高了约 12 倍,降低了迁移成本。在 Hacker News 上,评论者反应不一,有人不以为然,也有人认为重点在于代理。Zero 在二进制大小和显式分配方面更接近 Zig 而非 Rust,但缺乏 Rust 的借用检查器成熟度和生态系统,并且以 Go 的协程和较大运行时换取了无依赖的小型工件。Zero 是 Vercel Labs 的开源项目;它是实验性的,可能发生破坏性更改,应仅在隔离的工作区中使用,不应在生产系统或处理敏感数据时使用。
来源: InfoQ 中国 —
原文
