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 代理編寫的程式碼提供了一層可稽核的確定性保障。