大家好,我是何三,独立开发者

Vercel 不好好搞 Next.js,跑去写了一门编程语言。

还是用 C 写的。

还是给 AI Agent 用的。

6 天,4000 多个 Star。这个叫 Zerolang 的项目,我看完第一反应是——Vercel 这帮人是不是闲得慌?

然后仔细看了看,发现事情没那么简单。

zerolang_cover

这东西到底是什么?

Zerolang 是一门全新的编程语言。但它的目标用户不是人类,是 AI Agent。

对,你没看错。Vercel 在造一门「Agent 原生」的语言——从语法设计、编译检查、标准库,全都在为 AI 服务。

说白了,以前我们教 Agent 写 Python、写 JavaScript,就像让一个美国人学中文——语言本身不是为它设计的,它得适应我们。Zerolang 反过来了:语言为你设计,你来用就行。

讲个好玩的事。我第一眼看到这个项目,脑子里蹦出来的是几年前「学 Rust 还是学 Go」的争论——你学了半天,结果现在告诉我有门语言是给 AI 学的,不是给人学的?

zerolang_01


核心设计理念

Zerolang 的设计哲学就一句话:规则大于花活

六个关键词:

  1. 小表面积——语法规则少,没有各种奇怪的语法糖。Agent 边干活边学都来得及。
  2. 标准库优先——能内置 API 解决的,绝不让你去 npm/pip 翻包。
  3. 可检查性——编译器的诊断信息、调用图、大小报告,全都可以以结构化数据输出,Agent 可以直接啃。
  4. 确定性修复——编译报错了,不只是给你看红字,还能输出修复方案。
  5. 显式副作用——外部访问、失败处理、资源消耗,全摆在明面上。
  6. 不兼容旧版本——找到更好的方案就直接改,不背历史包袱。

看到第三条我愣了一下——编译错误信息以结构化数据输出?意味着 Agent 还能自己读错误报告、自己修代码。闭环了属于是。

这个 Zerolang,怎么说呢,就是……就是那种看了让人觉得自己学这么多年编程白学了的玩意儿。

上手体验

装起来很简单,一行命令:

curl -fsSL https://zerolang.ai/install.sh | bash

装完试试写一个 Hello World:

fun answer() -> i32 {
    return 40 + 2
}

pub fun main(world: World) -> Void raises {
    if answer() == 42 {
        check world.out.write("math works\n")
    }
}

语法看着有点眼熟?C 和 Rust 的混血感。fun 声明函数,pub 控制可见性,raises 标注可能抛错,check 关键字处理错误。

然后跑个编译检查:

$ zero check examples/hello.0
hello.0:1:4 PAR100: expected '{' before block
explain: zero explain PAR100

看到最后一行了吗?explain: zero explain PAR100——这是给 Agent 看的。Agent 收到这条信息可以直接调 zero explain 获取详细解释和修复建议。

说实话,这块我也没完全搞懂为什么用 check 而不是传统的 try-catch——为什么这么设计?别问我,问 Vercel 去。

它的真正野心

Zerolang 官网写得很直白:「这是一门实验性语言,当前的语法和 API 不是最终版。」

所以别想着现在拿去写生产代码。

但它的方向很有意思:当 Agent 成为主要用户,语言应该长什么样?

今天的 AI 编程(Claude Code、Cursor、GitHub Copilot)本质上还是人在指挥 AI 写代码。Zerolang 在赌一个未来——Agent 自主写代码、自己编译、自己修 bug、自己部署。

类似的项目还有去年火了一阵的 Winglang(给云应用设计的语言),以及 Pkl(Apple 出的配置语言)。但 Zerolang 是第一个明确把 Agent 当成一等公民的。

GitHub 地址

https://github.com/vercel-labs/zerolang

星涨得飞快,想凑热闹的可以去看一眼。不过官网也说了:「安全漏洞是可以预期的,请在隔离环境中运行。」

这句话翻译成人话就是——别在生产环境用,炸了概不负责。

本文使用 MGO 编辑并发布

关注“何三笔记”,回复“mgo” 免费下载使用