跳到主要內容
AI News HubLIVE
站內改寫1 分鐘閱讀

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

文章摘要

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

來源Hacker News AI作者: jbwinters
Jacquard:一種由AI編寫、人類稽核的程式語言
回報錯誤

更正管道尚未開通,可先複製下方文章資訊留存。

查看更正說明
直接讀正文

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

展開要點與分析

文章情報

工程師中級

要點

  • Jacquard透過代數效果和顯式許可權授予,使程式副作用可追蹤、可控制。
  • 支援機率程式設計和窮舉搜尋,可直接計算有限離散模型的精確機率。
  • 基於規範化結構的雜湊提供內容定址標識,重新命名或格式化不影響身份。
  • 已釋出0.1候選版,包含完整工具鏈和原生AOT編譯。

要點與分析由自動化流程生成,可能有誤,請結合原始來源核實。