AI News HubLIVE
站內改寫1 分鐘閱讀

Vercel Labs 推出 Zero:為 AI 代理設計的系統編程語言,可自動讀取、修復和部署原生程序

Vercel Labs 發佈實驗性系統編程語言 Zero,其編譯器輸出結構化 JSON 診斷、穩定錯誤碼和修復元數據,支持基於能力的安全 I/O,編譯至小於 10 KiB 的原生二進制文件,專為 AI 代理工作流設計。

來源MarkTechPost作者: Michal Sutter

Vercel Labs 近日發佈了 Zero,一門實驗性的系統編程語言,其核心設計目標是讓 AI 代理能夠直接讀取、修復和交付原生程序,而無需人類介入解釋編譯器輸出。傳統編程語言的錯誤信息以人類可讀的文本形式呈現,AI 代理解析這些文本既脆弱又低效。Zero 從第一天起就將編譯器輸出設計為結構化數據,解決了這一痛點。

Zero 的 CLI 默認輸出 JSON 格式的診斷信息。例如,運行 zero check --json 會返回類似 {"ok": false, "diagnostics": [{"code": "NAM003", "message": "unknown identifier", "line": 3, "repair": {"id": "declare-missing-symbol"}}]} 的結果。每個診斷包含穩定的錯誤碼(如 NAM003)、人類可讀消息、行號以及類型化的修復 ID。AI 代理通過讀取錯誤碼和修復 ID 即可採取行動,無需解析文本。

此外,Zero 提供了 zero explain 和 zero fix 子命令。zero explain 可返回特定診斷碼的詳細解釋,而 zero fix --plan --json 則輸出機器可讀的修復計劃,明確描述需要進行的修改。zero skills 子命令則直接從 CLI 提供與當前編譯器版本匹配的代理指導,包括語法、診斷、構建等流程,避免代理抓取過時文檔。

在語言設計上,Zero 採用基於能力的安全 I/O。所有與外界的交互(如文件系統、網絡)必須通過能力對象(如 World)在函數簽名中顯式聲明。編譯器在編譯時強制執行,沒有隱藏的全局對象。例如,main 函數接收 world: World 參數,通過 check 關鍵字處理可能失敗的操作,raises 註解標明錯誤傳播路徑。

Zero 編譯為原生二進制文件,大小控制在 10 KiB 以下。沒有強制垃圾回收、隱式分配器或隱式異步,內存和控制流完全可預測。它支持跨編譯,並輸出 C ABI 導出元數據。安裝僅需一條 curl 命令,並提供了 VS Code 語法高亮擴展。

目前 Zero 尚處於實驗階段(v0.1.1,Apache-2.0 許可),沒有包註冊中心,跨編譯目標有限。但它為 AI 工程師展示了代理原生工具鏈設計的可能性——值得關注,但尚不適合生產環境。