Vercel Labs 发布 Zero:首个为 AI Agent 设计的系统编程语言,编译器直接输出 JSON 诊断和修复指令
Vercel Labs 发布 Zero:首个为 AI Agent 设计的系统编程语言,编译器直接输出 JSON 诊断和修复指令
基于已整理草稿生成的网页版文章,适合先稳定落地,再做局部润色与发布检查。
5 月 17 日,Vercel Labs 发布了 Zero——一个实验性系统编程语言,定位在 C 和 Rust 的设计空间,但从编译器输出到工具链交互全部面向 AI Agent 优化。传统语言让 Agent 去解析人类可读的报错文本;Zero 让 Agent 直接拿到结构化诊断码和修复 ID,不用猜、不用翻译。项目 Apache 2.0 开源,GitHub 两天获近 2000 星,目前最新版本 v0.1.2。
为什么需要"Agent 能读"的编程语言
大多数编程语言的编译器输出是给人看的:自然语言写的报错信息,格式随版本变化,没有机器可读的修复提示。这对人类工程师不是问题——读一行 "unknown identifier" 就知道怎么办。但对 AI Agent 来说,这意味着每轮修复都要做三步脆弱操作:
- Agent 写代码 → 编译器输出非结构化文本
- Agent 解析文本 → 格式可能随版本变化,没有稳定标识
- Agent 推断修复 → 编译器不提供"怎么改"的线索,只能靠 Agent 自己猜
这个循环的脆弱之处在于:Agent 在第一步就依赖了不可靠的输入。Zero 要解决的正是这个问题——让编译器从一开始就给 Agent 结构化数据。
Zero 的核心设计:Agent-First 工具链
Zero 的编译器和工具链从第一天就按"Agent 是一等用户"来设计。关键能力:
JSON 诊断输出。 运行 zero check --json,得到的不是一段自然语言报错,而是这样的结构化数据:
```json
{
"ok": false,
"diagnostics": [{
"code": "NAM003",
"message": "unknown identifier",
"line": 3,
"repair": { "id": "declare-missing-symbol" }
}]
}
```
每条诊断包含四个字段:稳定错误码(NAM003)、人读消息、行号、修复 ID。人类读 message,Agent 读 code 和 repair——同一个 CLI 命令同时服务两类用户。
诊断码查询。 zero explain NAM003 直接返回该诊断码的结构化说明。Agent 不需要去翻文档网站,不需要担心文档和编译器版本不同步。
修复计划输出。 zero fix --plan --json <文件> 输出机器可读的修复计划——精确描述要改什么、怎么改。Agent 不用从报错文本推断修复方式,直接拿到操作指令。
版本匹配的 Agent 指南。 zero skills 子命令直接从 CLI 输出和当前编译器版本匹配的 Agent 工作流指南,覆盖语法、诊断、构建、包管理、标准库、测试和编辑循环。Agent 不用在网上搜索可能过时的文档。
统一工具链。 所有操作都是一个 binary 的子命令:zero check、zero run、zero build、zero graph、zero size、zero explain、zero fix、zero doctor。Agent 不需要判断该调用哪个工具——都是 zero。
语言本身:显式优先,没有隐式魔法
Zero 在语言层面的设计哲学是"一切显式":
- 效果必须在签名中声明。 函数如果要写标准输出、访问文件系统或发起网络请求,必须通过
World能力对象来获取权限。没有World参数的函数无法执行 IO——编译器在编译期强制,不是运行时检查。
```zero
pub fun main(world: World) -> Void raises {
check world.out.write("hello from zero\n")
}
```
check处理可失败操作。 如果world.out.write(...)可能失败,check会沿调用栈传播错误。raises注解标注错误路径。 函数签名直接暴露"这个函数可能出错",而不是把错误藏进运行时异常。- 无强制 GC,无隐式事件循环。 内存分配和清理在代码中可见,没有隐藏的运行时开销。
- 目标限制前置报告。 编译器在代码生成前就报告大小限制,而不是生成后才发现溢出。
当前状态:上手试玩
安装只需要一条命令:
```bash
curl -fsSL https://zerolang.ai/install.sh | bash
export PATH="$HOME/.zero/bin:$PATH"
zero --version
```
项目当前版本 v0.1.2,处于早期实验阶段——5 月 16 日发布 v0.1.0,三天内迭代了三个版本。GitHub 仓库(vercel-labs/zero)已有近 2000 星。VS Code 扩展提供了 .0 文件的语法高亮。
需要强调的是:Zero 目前仍然是实验性项目。生态为零,标准库有限,只有简单示例可跑。它不是一个你现在就该把生产项目迁移过去的语言。
对行业意味着什么
Zero 的意义不在它现在能做什么,而在它代表的思路转变:
首次在语言层面把 Agent 当一等公民。 之前的 AI 编程工具都是在现有语言(Python、TypeScript、Rust)上做上层适配——Agent 用和人类一样的工具链,解析同样的报错文本。Zero 是第一个从编译器底层就为 Agent 重新设计的语言。
如果这个思路成立,影响的不只是 Zero 本身。 假设结构化诊断 + 修复元数据的模式被验证有效,未来其他语言的编译器也可能加入类似的 Agent-first 输出模式。这不是 Zero 一家的机会——这是一个可能改变编译器设计方向的基础假设。
当然,大前提是"假设成立"。 Zero 目前没有任何真实项目验证,也没有 Agent 在 Zero 上跑出比在 Rust/Go 上更好的修复率的公开数据。它是方向性实验,不是成熟方案。
更大的信号是:AI Agent 正在从"被适配的对象"变成"被设计的用户"。从 Cursor/Claude Code 在 IDE 层做 Agent 适配,到 Zero 在语言层做 Agent 优先设计——Agent 正在沿着工具栈一路往下走。
参考来源
- GitHub 仓库:https://github.com/vercel-labs/zero
- 官方站点:https://zerolang.ai/
- MarkTechPost 报道(2026-05-17):https://www.marktechpost.com/2026/05/17/vercel-labs-introduces-zero-a-systems-programming-language-designed-so-ai-agents-can-read-repair-and-ship-native-programs/
参考来源
- https://github.com/vercel-labs/zero
- https://zerolang.ai/
- https://www.marktechpost.com/2026/05/17/vercel-labs-introduces-zero-a-systems-programming-language-designed-so-ai-agents-can-read-repair-and-ship-native-programs/
说明:该页面由基础模板稳定生成,后续可继续局部润色样式或补充模块,再进入发布检查。