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

Jacquard:一種由AI編寫、人類審核的編程語言

Jacquard是一種研究原型編程語言,專為AI編寫、人類審核的代碼設計。它通過語言內置的效果跟蹤、概率編程和結構化身份,讓人類審核者無需逐行閲讀代碼即可理解程序的影響範圍與確定性。

來源Hacker News AI作者: jbwinters

Jacquard 是一種面向 AI 編寫、人類審核的代碼的編程語言研究原型。它旨在解決一個關鍵問題:當大多數代碼由機器生成時,人類審閲者需要一種方式,在不逐行閲讀的前提下,快速判斷程序能做什麼、會接觸哪些資源,以及結果的確定性如何。

Jacquard 的核心設計圍繞三個特性:顯式效果跟蹤、概率編程和內容尋址標識。語言內置了代數效果(algebraic effects)和效果行系統,每個函數簽名都標註了它可能執行的副作用(如網絡請求)。運行時默認拒絕未顯式授予的全局效果(通過 --allow 參數授權),從而在語言層面實現了權限控制。

概率編程方面,Jacquard 將採樣和觀測作為效果操作,通過處理器(handler)實現推理算法。開發者可以編寫一個在有限離散世界中枚舉所有可能結果的程序,並計算每個結果的精確概率。一個示例是代碼修復演示:它把失敗的測試視為證據,計算哪些補丁仍然可能以及每種補丁的概率。

內容尋址標識則基於規範化的解析結構(而非源代碼字節)計算哈希。註釋、格式化、本地重命名等都不會改變程序的標識,因此純測試僅在代碼或依賴內容變化時重新運行。

Jacquard 當前版本 0.1 為候選版,支持端到端工作流:一個緊湊的 .jac 語法、OCaml 編寫的檢查器和 CPS 解釋器、一個將內核編譯為 C 的 AOT 後端,以及 Warp 測試框架。它還包含命令行工具、標準庫和案例研究。安裝程序支持 Linux x86-64、macOS Intel 和 Apple Silicon 二進制文件。

Jacquard 的設計哲學是:語言本身應該回答“這段代碼能接觸什麼?我們有多確定?”而不需要人類審閲每行代碼。它為 AI 代理編寫的代碼提供了一層可審核的確定性保障。