AI风向

【AI风向】Vercel发布Zero:人类编程语言诞生70年后,终于有了一门为AI Agent设计的语言

5月15日,Vercel Labs开源了一门叫Zero的系统编程语言——编译器不再给人类打印错误信息,而是给AI Agent输出结构化JSON。900个GitHub Star在24小时内涌入,这可能是编程语言设计范式的一次根本转向。

事件回顾

2026年5月15日,Vercel Labs悄然发布了一个实验性项目:Zero(v0.1.1),一门面向AI Agent的系统编程语言。项目采用Apache 2.0开源协议,由Vercel Labs工程师Chris Tate主导开发。

Zero在定位上与C和Rust处于同一赛道——编译为原生可执行文件、提供显式内存控制、二进制体积控制在10KB以下、不依赖LLVM。但真正让它区别于所有已有编程语言的,是一句简单的话:"编译器输出从一开始就被设计为机器可读数据,而非人类可读文本。"

发布后24小时内,Zero在GitHub上获得900颗Star。Tech Times、MarkTechPost等多家技术媒体跟进报道。更有意思的是发布时机——恰好在Google I/O 2026开幕前一天,而Google在I/O上正式宣布了Gemini Spark(持久化自主Agent功能)。

这不是巧合。AI Agent正在成为编程语言的新消费者,而Zero是第一个承认这件事的语言。

Zero到底做了什么不同的事

Zero编译器结构
▲ 传统编译器输出人类可读错误文本 vs Zero输出结构化JSON诊断,Agent从此不用"猜"报错信息

要理解Zero的价值,先看一个日常场景:

你用Claude Code写了一段代码,编译器报错——"error: use of undeclared identifier 'foo' at line 3"。Claude Code需要解析这段英文文本,猜出问题在哪、怎么改。问题是:同一个错误在不同编译器版本里措辞可能不同、上下文不同、甚至同一个编译器在不同平台上输出的格式也不同。AI Agent在这个环节做的事,本质上是在"猜"。

Zero的做法完全不同。运行 zero check --json,编译器直接返回:

{

  "ok": false,

  "diagnostics": [{

    "code": "NAM003",

    "message": "unknown identifier",

    "line": 3,

    "repair": { "id": "declare-missing-symbol" }

  }]

}

这个JSON里有三个关键信息:稳定的错误码(NAM003)、类型化的修复动作(declare-missing-symbol)、精确的行号。NAM003在Zero的当前版本代表"未知标识符",在下一个编译器版本里也代表同一个东西——Agent学会了处理NAM003,就不需要因为措辞变化而重新学习。

更狠的是 zero fix --plan --json。这个命令直接输出一个机器可读的修复计划——告诉Agent具体该做什么修改来消除诊断,而不是让Agent从错误消息里去"推理"出修复方案。编译器从"报错者"变成了"合作修复者"。

Zero还内置了 zero skills 命令——输出与当前编译器版本匹配的Agent指导文档,涵盖语法、诊断、构建、包管理、标准库使用、测试和Agent编辑循环。AI Agent不需要去抓取外部文档(那些文档可能与实际运行的编译器版本不同步),直接从编译器本身获取准确的行为指南。

为什么需要一门"Agent优先"的语言

当下的AI编程Agent生态里有一个结构性问题:工具链是为人类设计的,Agent只是"搭便车"。

Claude Code、Cursor、GitHub Copilot——它们写代码、编译器报错、Agent解析文本、推断修复方案、再提交代码。这个循环的脆弱点就在"解析文本"这一步。错误消息格式会变、措辞会变、上下文会变。一旦Agent在这个环节猜错了,修复就失败了,人类工程师就得介入。

这不是Agent能力的问题,而是工具设计范式的问题。1957年FORTRAN诞生以来,编译器输出的"目标用户"一直默认是人类工程师。Zero是第一个在设计之初就明确说"我们的编译器主要输出给AI Agent看"的语言。

Tech Times的报道用了一句很精准的总结:"Agent从散文中推断修复方案,而非读取结构化的机器契约——这个循环经常断裂,人类介入仍是标准兜底方案。"

能力系统:让Agent不越界

Zero能力系统
▲ Zero的能力系统:函数签名中显式声明World对象,编译器在编译时强制检查I/O权限边界

Zero还有一个设计值得AI创业者关注:基于能力的I/O系统

在Zero中,任何需要进行I/O操作的函数,都必须在函数签名中显式声明:

pub fun main(world: World) -> Void raises {

    check world.out.write("hello from zero\n")

}

world: World 是一个能力对象,授予函数访问外部世界的权限。一个没有收到 World(或从其派生的能力)的函数,无法进行任何I/O操作——编译器在编译时强制检查,而非运行时。

对于AI Agent来说,这意味着什么?Agent在生成代码时,I/O边界是显式的、可审计的、编译器强制执行的。Agent不能悄悄地读写文件或发起网络请求——除非你给了它对应的能力。这在安全性和可控性上是一个巨大的进步,尤其当AI Agent越来越自主地生成和执行代码时。

对AI创业者的实际意义

你可能不会明天就用Zero重写整个产品。但这件事的意义远不止一门新语言本身。

第一,信号意义大于实用意义。 Zero的900 Star说明了一件事:开发者社区正在认真接受"AI Agent是软件工具的新消费者"这个命题。当Vercel——这家以"让前端部署变简单"闻名的公司——开始重新设计编程语言的基础设施时,说明"Agent优先"已经不是口号,而是正在发生的范式转移。

第二,工具链重构的机会窗口。 如果编译器可以为Agent重构,那么测试框架、CI/CD流水线、代码审查工具、包管理器——一切开发者工具都可以被重新思考。"Agent原生"会成为下一个创业标签,就像当年的"云原生"一样。

第三,一人公司的Agent效率还有巨大提升空间。 很多AI创业者用Claude Code或Cursor写代码时,仍然会频繁遇到"Agent猜错错误信息"的情况。Zero的思路提示了一个方向:工具如果从一开始就为Agent设计,Agent的自主完成率可能从当前的60-70%提升到90%+。对于一人公司来说,这意味着同样的时间能交付更多产品。

第四,安全合规的新范式。 Zero的能力系统(capability-based I/O)提供了一种"默认安全"的Agent编程模型。随着AI Agent在生产环境中的自主性越来越强,这种编译时强制的能力边界可能会成为行业标准。AI创业者如果提前理解这个范式,在架构设计上就能领先一步。

风险与局限

当然,Zero目前还是实验性项目(v0.1.1),离生产就绪还有很长的路。生态系统几乎为零——没有成熟的库、没有IDE支持、没有大规模生产验证。它现阶段更像一个"概念验证"和"设计宣言",而非立即可用的生产力工具。

但话说回来,Rust在2010年刚发布时也是实验项目。今天的Rust已经进入了Linux内核。语言的演进需要时间,而Zero的方向——为AI Agent重新设计工具链——这个判断大概率是对的。

行动建议

  1. 关注但不急于迁移:Star Zero的GitHub仓库,了解其设计哲学,但不要在生产项目中采用
  2. 在Agent工作流中尝试"结构化输出"思维:即使不用Zero,也可以在现有工具中增加JSON格式的诊断、结构化日志等,提升Agent的解析成功率
  3. 留意"Agent原生工具"赛道:Zero是第一个,但绝不是最后一个。测试框架、CI工具、API文档——任何开发者工具都可能出现"Agent原生"版本,这是创业机会
  4. 在自己的Agent工具栈中评估:如果你用Claude Code或Cursor做开发,思考一下目前的"报错-修复"循环中有多少时间浪费在Agent"猜错信息"上

本文由AI辅助创作,经人工审核编辑发布