当前位置: 首页 > article >正文

AI 写代码编译器却只给人看,Zero:一门给 Agent 设计的系统编程语言,让一切副作用显式可见

Vercel 的实验室最近放出一个叫 Zero 的东西一门自称给 Agent 用的系统编程语言2026 年 5 月刚发布 v0.1.1编译器用 C 写的文件后缀是 .0。单凭这个后缀就知道这是一门不肯对任何既有生态妥协的新语言。我翻了翻它的文档和仓库觉得这件事值得说一说。现在 AI Agent 写代码已经不算新鲜事了Claude、GPT 这些模型能替人读代码、改代码、甚至从零搭出一个能跑的小工具但有一个问题一直没人认真处理——Agent 需要的语言工具和人需要的不一样。人读编译器的报错看到一行英文提示就能改Agent 要的是结构化的、机器可直接消费的信息JSON 格式的错误码可解析的修复建议精确的类型约束和副作用边界。Python 和 JavaScript 的工具链是为人类终端设计的print 调试也好堆栈跟踪也好都是给人看的散文不是给程序解析的数据。显式还是显式Zero 的设计原则只有一句话一切副作用都显式声明。在 C 里你可以在任何函数里调用 open()、write()、malloc()编译器不管你碰了什么外部资源运行时出了错再说。Rust 试图用所有权和借用检查来约束内存安全但对 I/O 能力的管控仍然比较松散。Zero 走得更极端一个函数如果要写输出必须在参数里接收一个 World 对象通过 world.out.write() 来执行函数签名里还得标上 raises 关键字告诉编译器这个函数可能失败。你没办法悄悄访问文件系统或网络因为能力是通过参数传递的没有全局变量兜底。pubfunmain(world:World)-Void raises{check world.out.write(hello from zero\n)}这段代码看上去和 Rust 差不多但有几处关键差异。World 不是全局单例是运行时显式注入的raises 标记在签名上调用方必须用 check 处理可能的错误否则编译直接报错没有隐式 GC内存分配全部由程序员自己控制该在栈上的就在栈上该用 std.mem 的手动分配就手动分配。Agent 拿到一个函数签名不用读完整个函数体就能判断它会不会碰文件、会不会分配内存、会不会抛出异常。静态分发没有虚函数表没有运行时反射泛型在编译期直接单态化连函数名的特化结果都是确定的identity 直接变成 z_identity_i32。编译器要懂机器的语言现有的编译器无论 GCC、Clang 还是 Rustc错误输出都是给人看的文本偶尔带点颜色高亮格式从不稳定每个版本的措辞都可能变。Agent 要解析这种输出只能靠正则匹配或者让 LLM 再做一轮理解既不靠谱又不经济。Zero 的 CLI 提供了 --json 标志zero check --json 会吐出一个结构化 JSON里面有稳定的错误码如 NAM003 表示未知标识符有行号列号甚至有一个 repair 字段直接给出修复建议的元数据。zero graph --json 输出模块依赖图zero size --json 输出二进制体积分析Agent 可以直接拿来做出决策不需要先读懂一段自然语言。把编译器输出结构化的想法并不新鲜。Clang 早就有了机器可读诊断的尝试Language Server ProtocolLSP本身也是为了让编辑器能程序化地消费语言服务信息。Zero 的做法是把这种思路推到了更彻底的位置默认输出就考虑机器消费而不是事后加一层适配。专给小工具用的语言Zero 的目标场景很明确小型原生程序。它没打算取代 C 写浏览器也没打算取代 Rust 写操作系统瞄准的是那些几十 KB 到几 MB 的小型命令行工具、WebAssembly 模块、嵌入式组件。这类东西用 C 写手动内存管理是老生常谈的麻烦用 Rust 写学习曲线又足够吓退一批人Zero 想在两者之间找一个位置。编译目标列表也印证了这个定位。除了常见的 darwin-arm64、linux-musl-x64、win32-x64 之外它直接支持 wasm32-web编译成浏览器里跑的 WebAssembly。一个没有隐式运行时的语言编译成 WASM体积可以压得很小这对需要在前端跑原生代码的场景是有吸引力的。不过 Zero 目前还是实验阶段v0.1.1语言规范说变就变Vercel 自己也在文档里写了不建议用于生产。编译器本身用 C 语言写了大约 65%剩下是 JavaScript 负责的 CLI 和测试框架一门新语言的工具链自己有一部分用另一种语言实现这在早期阶段倒也正常Rust 最早也是用 OCaml 写编译器的。能力系统好不好使Zero 的能力系统其实就是 capability-based security 在编程语言层面的实现。World 对象是能力的载体函数签名声明了它需要什么能力编译器在编译期就检查能力是否可用。这种设计在操作系统领域早有先例seL4 微内核就是基于能力的安全模型进程之间传递能力令牌来授权资源访问。好处是显式和可审计一个函数能不能碰文件看签名就知道不需要读实现。代价是写起来啰嗦每个需要 I/O 的函数都得在参数列表里带上 World即使写一个 hello world 也不能省。短期来看这会劝退一部分习惯快速原型的开发者但在 Agent 场景里这种啰嗦恰恰有价值——Agent 不需要猜测一个函数的副作用签名里写得清清楚楚。当然Zero 的能力系统还比较粗糙。目前的 World 对象只有 out 和 err 两个主要接口文件系统访问还是实验性的只有 host 目标支持 std.fs网络能力几乎还没开始做。它更像是一个骨架具体能力还得一个个往上填。Zero 试图回答一个问题当 AI Agent 变成代码的主要生产者之一时编程语言应该长什么样。目前的答案是让一切显式让函数签名成为一份完整的契约声明返回类型、声明可能的错误、声明需要的外部能力。现有语言是为人类终端设计的把它们的工具链直接交给 Agent 用中间的摩擦不会小。https://github.com/vercel-labs/zeroAI Agent 到底需不需要一门专属的编程语言这事现在下结论还太早但方向摆在那里了。你怎么看欢迎在评论区聊聊。

相关文章:

AI 写代码编译器却只给人看,Zero:一门给 Agent 设计的系统编程语言,让一切副作用显式可见

Vercel 的实验室最近放出一个叫 Zero 的东西,一门自称"给 Agent 用的系统编程语言",2026 年 5 月刚发布 v0.1.1,编译器用 C 写的,文件后缀是 .0。单凭这个后缀,就知道这是一门不肯对任何既有生态妥协的新语言…...

AMD Ryzen SMU Debug Tool完全指南:揭秘硬件级调试的三大实战场景

AMD Ryzen SMU Debug Tool完全指南:揭秘硬件级调试的三大实战场景 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址:…...

前端光标定制:从原生限制到自定义渲染的技术实现

1. 项目概述:从“Cursorify”看现代IDE的插件化革命最近在逛GitHub的时候,又看到了一个挺有意思的项目,叫“cursorify/cursorify”。光看这个名字,你可能会有点懵,因为它和当下另一个非常火的AI编程工具“Cursor”撞名…...

ARM项目模板在嵌入式开发中的高效应用

1. ARM项目模板在嵌入式开发中的核心价值在嵌入式系统开发领域,ARM架构处理器凭借其优异的功耗性能比占据着主导地位。作为开发者,我们经常面临这样的困境:每个新项目都要重复搭建基础框架,配置编译工具链,设置调试环境…...

Bandgap设计避坑指南:从Cadence仿真看运放稳定性与启动电路的那些事儿

Bandgap设计避坑指南:从Cadence仿真看运放稳定性与启动电路的那些事儿 在模拟IC设计的江湖里,Bandgap电路就像一位深藏不露的内功大师——表面简单,实则暗藏玄机。许多工程师在完成主电路设计后,常常会遇到两个"幽灵问题&quo…...

Context-Mode:基于React Context的模式化状态管理新范式

1. 项目概述:一个为现代前端开发量身定制的状态管理新范式 最近在重构一个中后台项目时,我又一次陷入了状态管理的泥潭。组件间层层传递的 props 像一团乱麻,全局 store 里塞满了各种不相关的数据,每次修改一个状态都得小心翼…...

面试题详解:Agent 记忆管理全解析——历史对话获取、摘要记忆、事实记忆、知识图谱记忆一次讲透

1. 什么是 Agent 记忆管理?为什么这件事越来越重要?1.1 如果没有记忆,Agent 就只能“活在当下”很多人第一次接触 Agent 时,会觉得记忆似乎就是保存聊天记录。可一旦系统要跨多轮、多天、甚至跨任务持续工作,就会发现单…...

2026 及下一阶段 工业 AI 与企业级 Agent 布局

JBoltAI 作为面向企业 Java 技术团队的 AI 应用开发框架,围绕 工业 AI 与企业级 Agent 领域的向量空间应用,明确了 2026 年及下一阶段的核心布局方向,聚焦产业实际需求推进技术落地。工业场景的 AI 落地,核心难点并非技术本身&…...

如何快速掌握哔哩下载姬:B站视频下载的终极免费解决方案

如何快速掌握哔哩下载姬:B站视频下载的终极免费解决方案 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等&…...

基于开源项目构建智能音箱自定义电台技能:从原理到部署实践

1. 项目概述:一个为智能音箱打造的“龙虾电台”技能最近在折腾智能家居和语音助手,发现一个挺有意思的开源项目,叫“lobster-radio-skill”。光看名字,你可能会有点摸不着头脑:“龙虾电台”?这跟智能音箱有…...

硬件入门 + 单片机基础(第14天)综合通信实训

ESP32 物联网结业项目:WiFi MQTT 继电器 温湿度 整合完整版 项目说明 这是物联网综合结业项目,整合了你学过的所有核心技术: WiFi 自动联网 断网重连MQTT 远程控制继电器(开关)DHT11 温湿度自动上报心跳包 消息…...

独立开发者如何利用Taotoken管理多个项目的AI密钥与用量

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 独立开发者如何利用Taotoken管理多个项目的AI密钥与用量 作为独立开发者,你可能同时维护着多个项目,例如一…...

毫秒算网的光通信技术——从“东数西算“到“毫秒用算“

引言:从"算力在哪"到"算力怎么到" 2021年启动的"东数西算"工程回答了一个根本问题:算力应该布局在哪里。通过在西部建设8大枢纽、10大集群,国家将算力基础设施与绿色能源禀赋深度耦合,开启了算力地…...

别再手动敲空格了!用LaTeX的\parskip命令一键搞定论文段落间距(附局部调整技巧)

LaTeX段落间距精修指南:从全局配置到章节级微调 在学术写作的世界里,格式规范往往比内容本身更容易引发焦虑。当你在凌晨三点盯着屏幕,发现第17次调整的段落间距仍然不符合期刊要求时,那种绝望感足以让任何研究者崩溃。传统的手动…...

深入解析Android网络通信框架:OkHttp与Retrofit原理与实践

第一章:引言 移动互联网时代,网络通信是Android应用的核心能力之一。OkHttp与Retrofit作为Android生态中最主流的网络通信框架,已成为开发者必须掌握的技术栈。本章将简要介绍二者在项目中的定位及其技术演进历程。 第二章:OkHttp核心原理剖析 2.1 OkHttp架构设计 OkHtt…...

对话式AI应用开发实战:基于Bolna框架的语音助手构建与优化指南

1. 项目概述:Bolna,一个面向对话式AI应用的开源编排框架如果你正在构建一个需要处理语音或文本对话的AI应用,比如一个智能客服、一个语音助手,或者一个能通过电话自动处理预约的机器人,你可能会立刻想到几个核心挑战&a…...

3个简单步骤让你的Windows桌面瞬间整洁:免费开源分区工具NoFences终极指南

3个简单步骤让你的Windows桌面瞬间整洁:免费开源分区工具NoFences终极指南 【免费下载链接】NoFences 🚧 Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences 你是否厌倦了桌面上杂乱无章的图标&…...

分布式系统与微服务架构:从核心原理到Java开发实战

1. 分布式系统平台:从背景到实战应用的深度剖析在软件开发领域,尤其是企业级应用和互联网服务的构建中,“分布式”早已不是一个新鲜词汇,而是工程师们日常打交道的核心范式。我们常听到J2EE、.NET、微服务这些名词,它们…...

Fansly下载器终极指南:3分钟学会离线保存你喜欢的创作者内容

Fansly下载器终极指南:3分钟学会离线保存你喜欢的创作者内容 【免费下载链接】fansly-downloader Easy to use fansly.com content downloading tool. Written in python, but ships as a standalone Executable App for Windows too. Enjoy your Fansly content of…...

Harness层加密传输:Agent通信安全

Harness层加密传输:Agent通信安全 标题选项 《CI/CD管道的“隐形长城”:深入Harness Agent通信全链路加密传输机制》《从握手到数据:拆解Harness云原生平台Agent-Manager层加密传输的核心原理与实践》《DevOps安全必知:Harness如…...

终极指南:5步解锁完整Koikatu游戏体验的HF Patch安装方案

终极指南:5步解锁完整Koikatu游戏体验的HF Patch安装方案 【免费下载链接】KK-HF_Patch Automatically translate, uncensor and update Koikatu! and Koikatsu Party! 项目地址: https://gitcode.com/gh_mirrors/kk/KK-HF_Patch 你是否曾经为《恋活&#xf…...

抖音批量下载神器:三步搞定无水印视频下载,告别手动烦恼

抖音批量下载神器:三步搞定无水印视频下载,告别手动烦恼 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser f…...

创业团队如何利用多模型聚合平台优化产品开发流程

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 创业团队如何利用多模型聚合平台优化产品开发流程 对于小型创业团队而言,在快速迭代产品的过程中,大模型能…...

ChatGPT支付功能现状深度研判(2024Q2最新政策+OpenAI开发者文档交叉验证)

更多请点击: https://intelliparadigm.com 第一章:ChatGPT实时支付功能在哪里 ChatGPT 本身并不原生支持实时支付功能。OpenAI 官方发布的 ChatGPT(包括免费版、Plus 订阅版及 Team/Enterprise 版)定位为人工智能对话助手&#x…...

5分钟掌握全平台炫酷抽奖:Magpie-LuckyDraw开源项目深度解析

5分钟掌握全平台炫酷抽奖:Magpie-LuckyDraw开源项目深度解析 【免费下载链接】Magpie-LuckyDraw 🏅A fancy lucky-draw tool supporting multiple platforms💻(Mac/Linux/Windows/Web/Docker) 项目地址: https://gitcode.com/gh_mirrors/ma…...

小学期第一周学习记录

这周自学了Multisim仿真软件,完成了555方波发生器二阶低通滤波器的搭建,成功实现了方波到正弦波的转换。学习过程1. 555方波发生器搭建参考课本公式 f ≈ 1.44 / ((R12R2)C1) 设计参数,一开始因为电容单位看错(把nF写成μF&…...

告别背包爆满!TQVaultAE:泰坦之旅装备管理的终极解决方案

告别背包爆满!TQVaultAE:泰坦之旅装备管理的终极解决方案 【免费下载链接】TQVaultAE Extra bank space for Titan Quest Anniversary Edition 项目地址: https://gitcode.com/gh_mirrors/tq/TQVaultAE 你是否曾在《泰坦之旅》的冒险中&#xff0…...

NotebookLM智能摘要失效真相(附Google内部测试报告·仅限本期公开)

更多请点击: https://intelliparadigm.com 第一章:NotebookLM智能摘要失效的底层归因分析 NotebookLM 的智能摘要功能在部分场景下出现语义断裂、关键信息遗漏或摘要长度异常(如仅输出“…”),其根本原因并非模型随机…...

高性能WebGL地图引擎OME:海量地理空间数据可视化实战指南

1. 项目概述与核心价值 如果你在开源社区里混迹过一段时间,尤其是对数据可视化、地理信息系统或者大规模图数据渲染感兴趣,那么“sgl-project/ome”这个项目标题很可能已经引起了你的注意。OME,全称可能是“Open Map Engine”或类似的概念&am…...

一颗“语音前端 DSP”到底能解决多少现实问题?

在做音频产品开发这些年里,我接触过不少“语音处理模组”。但很多产品都有一个共同问题: 参数看起来很漂亮,真正落地时却很难调。尤其是下面这些场景:麦克风和喇叭距离太近,疯狂啸叫回音消除效果差,一开大音…...