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 工程師展示了代理原生工具鏈設計的可能性——值得關注,但尚不適合生產環境。