AI News HubLIVE
サイト内リライト2 分で読了

Jacquard:AIが書き、人間がレビューするコードのためのプログラミング言語

Jacquardは、AIが書き人間がレビューするコードのための研究プロトタイプ言語です。言語組み込みのエフェクト追跡、確率的プログラミング、コンテンツアドレス識別により、人間のレビューアはすべての行を読むことなくプログラムの影響範囲と確実性を理解できます。

ソースHacker News AI著者: jbwinters

Jacquard は、AI が書き、人間がレビューするコードのためのプログラミング言語の研究プロトタイプです。コードの大部分が機械によって生成される時代に、人間のレビューアはすべての行を読むことなく、プログラムが何をし、どのリソースに触れ、結果の確実性がどの程度かを迅速に判断する方法を必要とします。Jacquard はその課題に答えるために設計されました。

Jacquard の核となる設計は3つの特徴に基づいています:明示的なエフェクト追跡、確率的プログラミング、そしてコンテンツアドレス識別です。言語は代数的エフェクトとエフェクト行システムを組み込んでおり、各関数のシグネチャは実行する可能性のある副作用(ネットワークリクエストなど)を示します。ランタイムはデフォルトで、--allow パラメータで明示的に許可されていないグローバルエフェクトを拒否し、言語レベルで権限制御を実現します。

確率的プログラミングに関して、Jacquard はサンプリングと観測をエフェクト操作として扱い、ハンドラを介して推論アルゴリズムを実装します。開発者は有限離散世界のすべての可能な結果を列挙し、それぞれの正確な確率を計算するプログラムを書くことができます。例として、コード修復デモがあります:失敗したテストを証拠として扱い、どのパッチがまだ可能か、それぞれの確率を計算します。

コンテンツアドレス識別は、ソースバイトではなく正規化された構文構造に基づいてハッシュを計算します。コメント、フォーマット、ローカルリネームなどはプログラムの識別子を変更しないため、純粋なテストはコードや依存関係の内容が変更された場合にのみ再実行されます。

Jacquard の現在のバージョン 0.1 はリリース候補であり、エンドツーエンドのワークフローをサポートしています:コンパクトな .jac 構文、OCaml で書かれたチェッカーと CPS インタプリタ、カーネルを C にコンパイルする AOT バックエンド、Warp テストフレームワーク。コマンドラインツール、標準ライブラリ、ケーススタディも含まれています。インストーラは Linux x86-64、macOS Intel、Apple Silicon バイナリをサポートしています。

Jacquard の設計哲学は、言語自体が「このコードは何に触れるのか?確実性はどの程度か?」に答えることであり、人間がすべての行をレビューする必要を減らすことです。AI エージェントが書いたコードに対して、監査可能な確実性の層を提供します。