跳到主要內容
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編譯。

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