COLUMNS

TOP > COLUMNS
X as Codeとは何か:何かを「記述して、動かす」思想とその系譜
2026.07.31 AIガバナンス

X as Codeとは、何かの構造やルールをコードで記述し、そのコードに基づいてそれを動かす、という考え方です。インフラ、設定、ポリシー、ドキュメント。この十数年、対象を替えながら同じ形が繰り返されてきました。本稿は、その系譜をたどり、当社がこの考え方を組織と規程、プロンプト、AIエージェントまで延ばす理由を書きます。

先に、これを入れないと何が起きるかを書きます。規程を書いて共有ドライブに置く。プロンプトを本番に流す。エージェントに広い権限を渡す。どれも書いた時点では動いて見えます。事故は後で来ます。承認の根拠が残っておらず、監査で説明できない。プロンプトを誰がいつ何のために変えたか追えない。権限を絞っていないエージェントが、想定しない操作を実行する。書きっぱなしが、そのまま損になって返ってきます。

X as Codeとは何か

定義はこうです。

X as Codeとは、Xの構造やルールをコードで記述し、そのコードに基づいてXを動かすこと。

二つの動詞に分かれます。

二つの動詞 何をすることか 片方だけで済ませると何が起きるか
記述する 手作業や頭の中にあった手順・判断を、人もシステムも読める形で外に出す 書いた文書が現場と食い違っていても、気づけない
動かす その記述に基づいて、対象を実際に走らせる なぜそう動くのかを、後から追えない

どちらか一方では足りません。記述に基づいて動かす、この二つがそろって初めて、書いた通りに対象が動きます。

その系譜:インフラから始まり、対象を替えて広がった

この形は、まずインフラで定着しました。系譜をたどります。

X as Codeの系譜と、まだ線が引かれていない対象上段は as Code が定着した6つの対象(インフラ=IaC、設定=Config、ポリシー=Policy、ドキュメント=Docs、運用=GitOps、組織=Enterprise)。下段はまだ as Code のない3つの対象(プロンプト、成文規程、AIエージェント)。同じ「記述して動かす」形が、対象を替えて続いている。インフラ設定ポリシードキュメント運用組織プロンプト成文規程AIエージェントIaCConfigPolicyDocsGitOpsEnterpriseバージョン管理・承認・ログ規程文書そのものを管理下に置く渡す権限を絞るas Code が定着した対象対象は替わっても、記述して動かす形は同じまだ as Code がない対象(当社が延ばす先)確立領域で証明済みの差分・レビュー・履歴・証跡を、そのまま持ち込む
as Code 何をコードに書くか その記述で何が動くか
Infrastructure as Code(IaC) サーバやネットワークの構成を、手で設定する代わりに設定ファイルに書く 書いたファイルから同じ環境を何度でも再現でき、変更が履歴に残る。HashiCorpはTerraformを「人が読める設定ファイルにインフラを定義し、バージョン管理・再利用・共有できるツール」と説明する[1]
Configuration as Code アプリやCI/CDの設定を、画面のクリックではなくファイルに書く 設定の食い違いが、差分として見えるようになる
Policy as Code 「これは許可か」というルールをコードに書く そのルールがシステムの判断に組み込まれる。代表のOpen Policy Agent(OPA)[2]は2021年2月4日、Cloud Native Computing Foundation(CNCF)で最上位の成熟段階「Graduated(卒業)」に達した[3]
Docs as Code ドキュメントを、コードと同じ道具で書く 文書にも課題管理・バージョン管理(Git)・レビュー・自動テストがかかる。Write the Docsはこれを「コードと同じツールでドキュメントを書くべきだという思想」と定義し、この4つを道具として挙げる[4]
GitOps 運用の望ましい状態をGitに書く システムがその状態へ収束する。手で本番を触るのではなく、記述を変えて動かす
Enterprise as Code 業務の暗黙の運営モデルまでコードとして書き出す[6] 対象が、機械の設定から組織の運営そのものへ移る。マッキンゼーの「AIの組み立てライン」も、同じ方向を別の言葉で描いたもの[7]

ルールを人の記憶ではなく、実行されるコードに置く。OPAがGraduatedに達したことは、この考え方がそれだけ広く採用されたことを示します。

対象は替わっても、やっていることは一つです。頭の中や手作業にあったルールを、読めて・試せて・直せる形で外に出し、その記述に基づいて対象を動かす。ここで大事な点を一つ。バージョン管理・レビュー・履歴・自動で残る証跡は、この定義そのものではありません。こう記述して運用するから初めて効く管理方法であり、定義を満たした結果として付いてきます。順番を取り違えると、道具(Git)を入れれば済む話に見えてしまいます。

加えて「コード」の範囲をはっきりさせます。バージョン管理で行単位に差分が取れるテキストは、それだけでコードとして扱えます。設定ファイルも、ポリシーも、ドキュメントも、成文規程も、テキストである限り同じ土俵に乗ります。外れるのは、PDFやWordのように中身を行単位で追えない形式です。同じ規程でも、テキストで書けば差分・レビュー・履歴が付き、固めた文書にすれば付きません。どの形式で書くかを選んだ時点で、あとから管理できるかどうかが決まります。

Enterprise as Code:組織に適用する

この考え方を組織に当てると、こうなります。

組織の構造・権限・業務手順・判断条件をコードで記述し、そのコードに基づいて業務と統制を動かす。これが当社の考えるEnterprise as Codeです。

ここにも、二つの段階があります。

  • コードで組織を記述する。誰が何を担当するか、誰にどの権限があるか、どの条件で承認が必要か、例外時に誰へエスカレーションするかを明示します。
  • コードで組織を動かす。記述されたルールに基づいて、業務の割り当て、権限制御、承認、AIエージェントの実行、ログ記録を実際に行います。

BCGはこれを「直感から仕様へ」の移行と呼び、ガバナンスと統制を後付けではなく最初からロジックに組み込め、と書いています。「自動化は秩序を生まない。秩序に依存する」という一文もあります[6]。ここまでは絵です。その秩序を、承認ゲート(リリース前に人の承認を挟む仕組み)やIAM、ログにどう落とすか。絵を描くことと、それを実装することは違います。当社が立つのは、実装の側です。この考え方を組織という対象に落とし込んだ解説は、Organization as Codeとは:AI時代の組織統治を、成文規程もコードとして管理するで書いています。

「人をコードで動かす」のではない

「組織をコードで動かす」とだけ言うと、人まで機械のように制御する話に聞こえます。そうではありません。正確に言うとこうです。

人の判断に委ねられていた組織の運営モデルをコードで記述し、コードと人の判断を組み合わせて動かす。

当社らしい短い言い方にすると、こうなります。

組織をコードで記述する。コードに基づいて動かす。人の判断が必要な場所も、コードで明確にする。

人をコードで動かすのではありません。人とAIが働くための運営モデルをコードにする、という説明です。むしろ、判断を人に残す場所こそ、どこで誰が何を根拠に決めるかをコードに書いておきます。判断を消すのではなく、判断の場所を記述する。ここが「人を機械で回す」との分かれ目です。

この発想には下敷きがあります。トヨタ生産方式の自働化(じどうか)です。トヨタは自働化を「automation with a human touch(人の知恵を加えた自動化)」と説明し、異常が起きたら機械が自ら止まり、人がその場に来て対処する仕組みに置きます[5]。人が機械をただ見張る必要をなくす一方で、判断が要る場所は人に戻す。全部を機械に流し切るのではなく、止まって人を呼ぶ点を最初から設計に組み込む、という考え方です。McKinseyが引くフォードの組み立てラインが「流す」側なら、自働化は「止めて人に渡す」側です。Enterprise as Codeでいえば、この「止まって人を呼ぶ点」が、次章の検収ゲート・承認・エスカレーションに当たります。

AIプロダクションシステム:運営モデルを回す規律

Enterprise as Codeが「組織を何として表すか」なら、AIプロダクションシステムは「その運営モデルを実際に回す進め方」です。属人的な作業を工程に分け、AIとシステムに載せ替え、検収と品質基準と証跡で回します。

ここで「人の判断が必要な場所」は、工程の中の検収ゲート・承認・エスカレーションとして置きます。工程を通ると、判断が自然に証跡として残ります。後から根拠を探さないと出てこない承認は、コードではなく人の記憶に依存しています。判子は押されていても、何を根拠に通したのかが残っていない、という状態です。

工程に載せるとき、機械に全部任せて済むとは考えません。ログを総ざらいすれば全部拾える、とは書きません。どこを見るかの当たりをつけて探索範囲を絞り、そのうえで機械の実行と現場での確認で裏を取る。この当たりをつける経験こそ、記述に落とす価値があります。手を動かすのは、その工程が仕組みとして残る見込みがあるときです。頭数と時間で押し切って仕組みに残らない作業は、工程化の対象になりません。

まだ線が引かれていない領域へ延ばす

系譜を並べると、次に線を引く場所が見えます。プロンプト、成文規程、AIエージェントです。ここにはまだ、確立した as Code がありません。だからこそ、確立領域で証明済みの管理術を、そのまま延ばせます。

まだ as Code のない対象 書きっぱなしにすると起きること コードと同じ管理下に置くと付くもの
プロンプト(新しいコード) コードを管理しないのと同じ事故が起きる。プロンプトインジェクションは、外部入力を信じて流すという点で、SQLインジェクションと同じ型 バージョン管理・承認・ログ。コードに積み上げてきた管理を、そのまま持ち込める
成文規程(承認や権限としての実装だけでなく、規程文書そのもの) 規程が腐る。共有ドライブやポータルに置かれ、履歴も承認も残らないため。規程という形式が劣るからではない 変更をレビューで通し、いつ・誰が・なぜ変えたかが規程自体に刻まれる。旧版との差分も追える。Docs as Codeの延長
AIエージェント(渡す権限と、実行の記録) 権限を絞っていないエージェントが、想定しない操作を実行する 渡す権限を記述で絞り、rootのまま動かさない。誰の指示でどのエージェントが何を実行したかがログに残る

仕組みはGitでも、用途に合わせて作り込んだ専用のバージョン管理でもかまいません。大事なのは道具の名前ではなく、記述に差分とレビューと履歴が付くことです。当社自身、規程やデータのバージョン管理に、汎用ツールだけでなく、用途を考慮して自前開発したシステムも運用しています。実際の提供案件でも、特定業務の指示プロンプトを、スクラッチ開発したシステムでバージョン管理し、ログを採っています。実装はTerraformやAWS、MCPで積み上げてきました。だから規程やプロンプトを、動くコードと、自動で残る証跡まで持っていけます。

最初の一手

「うちは小さいから、そこまでの仕組みは要らない」という読み方が出ます。ですが、記述して動かす形は、1つの経路からでも始められます。むしろ小さく始めたほうが、記憶に頼った承認がどこにあるかが見えます。

手順 そこで何をするか 二つの動詞のどちら
1. 規程をバージョン管理に載せる 変更はレビューで通し、いつ誰がなぜ変えたかを履歴に残す 記述する
2. プロンプトをコードとして扱う バージョン管理・承認・ログを付ける 記述する
3. その記述に基づいて動かす エージェントに渡す権限を絞り、rootのまま動かさない 動かす
4. 承認の証跡が自然に残るかを確かめる 後から探す状態なら、コードに移す 動かす

まとめ

X as Codeとは、何かの構造やルールをコードで記述し、その記述に基づいて動かす考え方です。インフラから始まり、設定・ポリシー・ドキュメント・運用へと、対象を替えて広がってきました。次に線を引く場所は、組織の運営モデルと、プロンプト、成文規程、AIエージェントです。

当社の言い方はこうです。組織をコードで記述する。コードに基づいて動かす。人の判断が必要な場所も、コードで明確にする。絵を描く人と、実装できる人は別です。当社が業務に入ってやるのは、規程とプロンプトを、動くコードと残る証跡に移すことです。

参考・一次ソース

■お問い合わせ

規程やプロンプト、エージェントの権限・承認・ログが「記述して動かす」形になっているかを診て、記憶に頼った承認を、動くコードと残る証跡に移したいときは、アハクラフトにご相談ください。

お問い合わせ