Alignment by Construction

代数的憲法はいかにして AI と人間の協働を解くか

Joakim Cöster — daitai.org · 2026 年 4 月


要旨

現在の AI 支援開発ツールには、人間と機械の間の形式的契約が欠けており、静かなずれ、非決定論的な出力、信頼の侵食を招いている。本稿では daitai を提示する — 規範的憲法を備え、人間と AI の双方に共有ルールを強制する代数的擬似言語である。整合性をふるまいの目標ではなく、システムの構造的性質とすることにより、daitai は同じ入力が同じ出力を生む検証可能な協働を達成し、AI と人間のペアプログラミングで最も一般的な失敗様式を取り除く。

1. 整合性問題

AI コーディング支援は印象的な自動補完能力を達成した。しかし根本的な問題が残る — どちらの当事者も、相手と同じシステムの心的モデルを共有していることを検証できない。

開発者が AI に「エラー処理を追加して」と頼む。AI は try/catch ブロックを生成する。開発者は Result 型を望んでいた。両方とも妥当な解釈 — しかしプロジェクトのアーキテクチャに沿うのは一方だけだ。意図と解釈の間のこの溝こそ、ソフトウェア開発における整合性問題である。

根本原因は AI の能力ではない。人間と AI の間の共有された形式仕様の欠如である。自然言語のプロンプトは曖昧だ。コードレビューは表面的な誤りを捕らえるが、アーキテクチャ違反は見逃す。両者が従わねばならない、機械に強制可能な契約が存在しない。

2. 憲法的整合性

daitai は規範的憲法を導入する — 人間が書いたコードと AI が生成したコードの双方を制約する、不可侵のルール集である。憲法はスタイルガイドでも linter 設定でもない。次を定める形式仕様である:

  1. どの構造が許されるか(その他はすべて禁止);
  2. すべてのコードが満たすべき性質;
  3. 誤りと不確実性をどう表現するか;
  4. どこで非決定性が許されるか(そしてどう印付けせねばならないか)。

憲法は六つの性質を強制する:

#性質言明
1決定性∀ f ∈ Functions: f(x) = f(x)
2不変性∀ v ∈ Values: v は構築後に不変
3明示的エラー処理失敗しうる ∀ f: f は Result<T, E> を返す
4隠れ状態なしComponents: State × Event → State
5明示的非決定性確率的演算は @nondeterministic を付ける
6値の意味論等価性は構造的であり、参照的ではない

強制は三つの水準で起こる: コンパイラが非適合コードを却下し、トレイト体系が憲法的なふるまいのみを合成し、AI アシスタントが同じルールの内で動作する。

3. 憲法から協働へ

憲法のもと、両当事者は同じ明示的ルールから推論する。AI は React フックを提案できない、フックは憲法的に禁止されているからだ。人間は可変コードを書けない、コンパイラがそれを却下するからだ。整合性は構造的である。

これは検証可能な信頼を生む: AI がコードを生成する → コンパイラが憲法適合性を検査する → 決定性がテスト可能性を保証する → 同じ入力が同じ出力を生むなら、コードは憲法的に正しい。レビューの負荷は「このコードは正しいか?」から「このコードは正しい問題を解いているか?」へ移る — 認知的負担はずっと小さい。

4. 証拠

DPW 自身が約 23 万行の憲法適合コードからなり、集中的な AI と人間の協働を通じて構築された。その協働の過程で、AI が React パターンを提案 → 憲法がそれを却下 → AI は daitai-ui パターンに適応した。AI が Math.random() を使った → 決定性検査が捕捉 → AI は idgen() を使うことを学んだ。AI が例外を投げた → コンパイラが却下 → AI は Result<T, E> に切り替えた。

時間とともに、AI は憲法を内面化した。提案は既定で憲法適合となった — 創発的整合性。長期の協働の後、AI は daitai 実装を頭の中でシミュレートし、コードが書かれる前にふるまいを 95% の精度で予測する能力を得た。これは憲法的整合性の直接の帰結である: すべてのふるまいが明示的ルールに従うとき、ふるまいは予測可能になる — AI 自身にとっても。

5. 含意

AI ツールの作り手へ: 次の競争優位はより良い自動補完ではなく、より良い整合性である。規制業界へ: 憲法的整合性は、金融・医療・防衛・インフラにおける AI 支援開発への中心的反対を取り除く。開発者へ: 憲法は負担ではなく、解放である。

6. 結論

AI 支援ソフトウェア開発における整合性問題は、能力の問題ではない。仕様の問題である。人間と AI の双方のふるまいを形式的に制約する規範的憲法を導入することで、daitai は構築による整合性を達成する — 協働が検証可能・決定論的・信頼可能である状態を。

憲法が契約である。代数が言語である。協働がその証明である。


daitai はオープンソースである。憲法は文書化されている。コードは検証可能である。