Site
全記事

公開日 2026年9月21日約21分で読了

AIガバナンス: エージェントのすべてのツール呼び出しの背後にあるコントロールプレーン

Vinkius AIガバナンス: 全MCPツール呼び出しをアイデンティティに帰属し、機密データをフライト中に守り、エージェント支出を予算化し、規制当局と財務チームと午前3時のアラームのために、ハッシュチェーン監査台帳を密封するコントロールプレーン。

Renato Marinho

著者 Renato Marinho

Founder · Vinkius

The Vinkius AI governance control plane: the agent fleet, the gateway with four policy layers, twelve report and policy surfaces, all standing on scoped tokens, a sealed vault and a hash-chained ledger.

6か月前まで、私はエージェントのデモを見ていた。今は、動くエージェントを見ている。そのあいだのどこかで、エージェント基盤の重力の中心は、「モデルがタスクをこなせるか」から「モデルの出力が答えでなくなり、行為に変わった瞬間、生き残れるか」に移った。ツール呼び出しとは、世界への書き込みだ。メールが送られる。1行が更新される。発注が行われる。ファイルが削除される。判断する側は確率的で、実行する側はそうではない。エージェント系システムでのあらゆるインシデントは、このすき間に住んでいる。この記事はそのすき間を閉じる話だ。

Vinkiusは、一つの信念の上で作られた。AIエージェントのためのクラウドは、どのツール呼び出しについても、いつでも、証拠を添えて4つの質問に答えられるようにならなければ完成しない。誰が呼び出したか。何が許されていたのか。何がゲートウェイを越え、帰りで何が守られたのか。そして、いくらかかったのか。この4つへの答えが、われわれが12のサーフェスとして提供しているコントロールプレーンだ。8つの画面が何が起きているかを語り、4つの画面が何が許されるかを決める。以下はすべて、プラットフォームが今日やってることだ。出てくる数字は、システムが強制・報告している数字であり、私がほしがっていた数字ではない。

エージェントが話し始めたら、もう行動している

企業でのインシデント対応は長年静かだった。壊れるものが人間が作ったもので、変化が遅かったからだ。サービスにはオーナーがいて、変更ログがいて、post-mortem があった。固定された呼び出し元の集団がある。呼び出し元がモデルになった瞬間、これらはすべて一つの設計判断で蒸発する。同じエージェントが、朝は会議を予約し、昼はコードを書き、午後には本番DBを叩く。エージェント系システムの存在意義はまさにそこだ。一つの主体に、たくさんのツール、境界の記憶なし。障害カテゴリもそれに伴って変わる。

伝統的な監視は「リクエストは失敗したのか、なぜなのか」と訊く。エージェント時代には、もう4つ質問が増える。そのそれぞれに、別の形の答えがある。失敗はエージェント側の責任か。不正なリクエストを送ったか、壊れたツールでループしたか。アップストリーム側の責任か。呼んだAPIが500を返したか。プラットフォーム側の責任か。ゲートウェイ自体が不良だったか。そして、誰も財務部門に訊かれるまで誰も訊かない質問。どれだけが、リクエストあたり、コネクタあたり、エージェントあたり、ドルで何らかかったのか。

この分野で、自分の現場で、十分な数のインシデントレポートを読んで、答えのパターンを知っている。ほぼすべてが「どのエージェントが何をしたかわからず、損害のあとに知った」だ。非決定論的な呼び出し元と、事後のログシステムは、悪い組み合わせだ。ログは犯罪現場の写真であり、容疑者はもう出ていっている。ガバナンスとは、容疑者、凶器、時刻を、行為のその瞬間に記録するためのアーキテクチャだ。後付けではない。

AIガバナンスが実際、何であるか

AIガバナンス、この産業が意味する形での定義は、エージェントからツールへのトラフィックを囲むコントロールプレーンだ。伝統的なOPA的なポリシーエンジンではない。デプロイ時にどのサービスにどのルールを与えるかを決めるものでもない。RBACでもない。どの人間がログインできるかを決めるものだ。SIEMでもない。事後にログを相関するものだ。それらのシステムはすべて、動くものが人間や固定パイプラインという世界のために設計されてきた。

AIガバナンスの仕事は違うし、ここは正確に言っておく価値がある。1呼び出しごとに、非決定論的な主体の行動が、マシン上で、サードパーティのシステムに対して、予算の中で、許されるかどうかを決める。そして、全呼び出しに、誰・何・いくらに答える受領証を保管する。「ガバナンス」という言葉はここで実作業をしており、コンプライアンス用語だけではない。コンプライアンスは出力側だ。入力側は、アイデンティティ粒度での帰属と、呼び出しが基盤を離れる前のフライト中強制、という2つの性質を持つコントロールプレーンだ。

Vinkiusでは、このコントロールプレーンをAI Governanceと呼び、12のサーフェスに組織している。レポートサーフェス8つが、エージェントに使われているコネクタ群で何が起きているかを語る。ポリシーサーフェス4つが、何が許されるかを決定し、ダッシュボードではなく、ランタイムの、リクエストの経路上で強制される。この分割は意図的だ。行動できないダッシュボードは劇場演出であり、受領証のないポリシーは恐怖である。両方の半分が必要で、プロダクトはその和集合だ。

ゲートウェイだけが、制御が生きられる唯一の場所である理由

アーキテクチャの議論は短い。あなたのエージェントは、あなたのアップストリームAPIを直接呼んでいない。ツールを呼んでいる。Vinkiusでは、そのツールはコネクタ、つまりホスティングされたMCPサーバーで、フリート全エージェントが、一つのゲートウェイを介してそれへ届く。トラフィックが通る場所にゲートウェイがあるなら、制御もそこに置くしかない。

クライアント側は安全な置き場所ではない。プロンプトレベルのガードレールは、構造上脆い。モデルは言い換えでルールの外周を回り、プロンプトの中に住むガードレールは、コンテキストウィンドウ1つで消える可能性があるからだ。プロバイダ側のフィルタはあなたのデータパスではなく、ベンダーに自分のエージェントの行動の責任を問えない。事後アナリティクス、後からくっ付けたSIEMは、何が起きたかの記録だ。それは有用であり、今起きていることを止めるのは遅すぎる。

ゲートウェイは一度にすべてを見る。リクエスト、レスポンス、呼び出しを認証したトークン、対象のコネクタ、時計。それは、システムの中で「誰・何・いくら」が1つのデータセットで答えられる唯一の点であり、決定が結果をまだ変えられる唯一の点でもある。フリートの全ツール呼び出しは、行きと帰りで2回ゲートウェイを越え、その2回の越境がガバナンスなのだ。

プラットフォームのもう2つが、ゲートウェイの議論を完成させる。各コネクタは自分のサンドボックス化されたイソレートを回している。これは、Vinkiusが各MCPサーバーをV8イソレートで回す方法で書いた設計で、敵対的か壊れたツールも、ホストが持つ効果経由でのみ行動できる。そして、オープンフレームワークの5.1.0以降、エージェントの分散トレーシングコンテキストはゲートウェイを越えて運ばれ、全ツールのスパンは呼び出し元のトレースへ親子付けされる。この話は、MCP Fusion 5.1.0のトレース相関の記事にある。ここで大事な理由: 自分のトレースに繋がらないガバナンス受領証は、誰も読めない受領証だ。

ツアーの前に正直な注記。フリープランでは、AI Governanceダッシュボードは明確にラベルされたサンプルデータで開く。コントロールプレーンの形を、引き受け前に見られるようにしている。ライブの強制、サーキットブレーカー、緊急停止は有料プランの機能だ。フリーが有料の仕事をすると、読者に思い込ませるより、はっきり言う方がよい。

Vinkiusのゲートウェイを1つのツール呼び出しが越える様子。行き: トークンを特定し、呼び出しが4つのポリシー層を順に通過、コネクタポリシー、データシールディング、コストガード、サーキットブレーカー。帰り: レスポンスは機微値が除去され、コストをタグ付けされて戻り、すべての越境はハッシュチェーンの監査台帳へ密封される。

8つのサーフェス: 何が起きているかを語る

AI Governanceのレポート側は、ここに時間を最も割きたい。企業が最初に試すのがこちら側で、「エージェントを計装した」という言葉が、実は4つのダッシュボードと祈りにすぎなかったとわかった、という部分がこちらなのだ。

Mission Control

最上位のサーフェスは、フリート全体のKPIストリップだ。総リクエスト数、平均レイテンシ、Vinkius Reliabilityと呼ぶ信頼性数字、総トークン数、DLPが守った値の数、FinOpsガードの節約額。その下に、30日間のエージェント活動ヒートマップ、リクエスト量とレイテンシのグラフ、AI Briefing: この期間にトラフィックで何が変化したかの、言語モデル生成ダイジェストがある。決定論的コントロールプレーンの中で、あえて非決定論的な唯一のサーフェスであり、ブリーフィングはモデル呼び出しだから、有料機能だ。一点だけ強調しておく。見る信頼性数字は、Vinkius自身のエラーを除外している。数字は「フリートはあなたに対してどれほど信頼できるか」への答えであり、「我々はどれほど信頼できるか」ではない。私たちのミスを、あなたの稼働時間の帳簿に負わせない。

Agent Activity

クライアント別のビュー。組織の全接続トークンが、活動とともに並ぶ。どのクライアントか、最後に呼んだのはいつ、何リクエストしたか。これが「どのエージェントが何をしているか」に答える画面だ。1時間に1回動くはずのエージェントが90秒間隔で呼んでいるのが、ここで見える。ループ暴走が最初に見つかるのは、それが請求になる前のだいたいこの画面だ。

Connector Traffic

コネクタ別の同じ分解。どのツールが熱いか、冷たいか、レイテンシがどこに詰まっているか。外部ベンダーが劣化したとき、ベンダーの問題とあなたのフリートの問題を分けてくれるのがこのビューだ。

Access Tokens

トークン群を在庫として扱う画面。状態、最終使用、リクエスト数。これが効くのは意外な形で、90日間使われていない接続トークンは、発行して忘れてしまった永続クレデンシャルだ。この画面はその忘却を可視化し、アクション可能にする。失効とローテーションはワンクリック。

AI Spend

コストを読みやすくする画面。推定支出、FinOpsガードが測った節約、リクエストあたりコスト、FinOpsポリシーのROI、コネクタ別の台帳。ガードは、あなたが設定した100万トークンあたりのレートでコストを帰属し、既定値は100万トークンあたり3ドルだ。この画面の目的はあなたへ請求することではない。どのエージェントが、どのコネクタで、何を消費しているかを見せることだ。エージェントのコストは、あなたがこれまでグラフにしてきたコストと形が違う。ユーザーあたりでも、リクエストあたりでもない。考えごとであり、ループの各リトライで複利していく。

Capability Reliability

ツールレベル、サービスレベルではない信頼性。コネクタが提供する各能力に、独自のレイテンシと障害挙動があり、Tool Health Matrix はそれらを1枚にプロットする。レイテンシ対障害率、1ツール1バブル。コネクタ全体が完全に健全で、中の特定のツールだけが黙って壊れている、という状態を分けてくれるのが、プロダクトを監視するのと、エージェントが実際に触るものを監視するのと、の違いだ。

Security Posture

2つの時系列と1つのドーナツ。時系列は、DLP層がシールディングし、FinOps層が截断した量を、経過とともに追う。ドーナツはCompliance Coverage: フリートの有効ガバナンスポリシーの割合を、カテゴリ別に、DLP、FinOps、承認で集計したものだ。レビュアーが見たがる数字で、ポリシー状態から計算され、記入するアンケートからではない。

Request Failures

エラーの時間軸を、3つのバケツに分ける。Agentエラー: 呼び出し側が、ツールが受けられないリクエストを送った。Upstreamエラー: コネクタの向こうのサードパーティが失敗。Vinkiusエラー: 我々が失敗。冒頭で言った、障害の帰属がこれだ。呼び出しが失敗したとき、誰の失敗かは、同じビューで、同じ期間で、会議なしで伝わる。

Request Detail: 受領証

1リクエストを開けば、コントロールプレーン全体が存在する理由、その責任の単位がある。受領証は、呼び出しをしたアイデンティティを名前づける。トークン、クライアント、その裏の人間あるいはアプリユーザー。その瞬間に発効していたポリシーを、ルール単位で、リクエストライフサイクルのフェーズごとにグループ化して列挙し、それぞれの判定付き。pass、fail、off、enforced。監査台帳への、取り込み時に密封された、その呼び出しのエントリ。W3Cトレーシングコンテキストによるトレース連続性: この呼び出しが、エージェント自身の分散トレースへどう繋がっているか。レイテンシ分解: アップストリームAPIがかけた時間と、ガバナンス層が足した時間。コントロールプレーン自身のコストが、常にわかる。アクションで終わる。全呼び出し元で能力をブロックする、Businessティアなら、そのコネクタの緊急停止。1つの呼び出し、1画面、物語全体。

4つのサーフェス: 何が許されるかを決定

Connector Policy

最初のポリシーサーフェスは、コネクタがあなたのフリートへ入ってくる方法の話だ。デプロイはライブ前に承認を求められる設定があり、プロダクトはこれを、EU AI Actが高リスクシステムに Art. 14(5) で求めるフォーアイズ原則、つまり1人の人間だけで、現実の結果を持つ新ツールがエージェントへ届くとは決めない、という原則に結びつけている。同じサーフェスは、モデルへの能力公開方法も制御する。フラット、あるいはグルーピングで、コネクタのツールリストが長くなったら自動グルーピング。モデルが見るものはサーフェス面積であり、面積は設計判断だからだ。

そして、危険区域。ここで大事なのは、気づく前に理解しておくことだ。Global Emergency Halt は、組織の全有効コネクタを止める。すべてを無効化し、全トークンを失効し、全セッションを終了し、1つの同期アクションで。確認は HALT ALL との打鍵を要する。悪いことが起きていて、フリート全体が止まっている方が誤動しているよりまし、という瞬間に押すボタンだからだ。halt 後は復旧できる。失効したトークンは失効したまま。あなたは、意図して、再発行する。復旧は信頼関係の再開であり、古いものの再生ではない、という設計判断で、明示しておきたい。

DLP Protection

モデルの経路のためのデータ損失防止。機微フィールドのパターンを名づける。レスポンスツリーのどこにでも現れるemail、カード番号、あなたが守ると決めた特定のパスのフィールド。ランタイムは帰りの経路で強制し、レスポンスがエージェントに届く前に、値をシールディングする。シールディングはメモリ内、アップストリームとモデルの間に起きる。これは、マスクされたデータと、モデルのコンテキストにそもそも入らなかったデータとの違いだ。Mission Control のKPI、DLP Protected は、期間ごとのマスク回数を数える。この層は存在するだけでなく、計られている。

FinOps Guard

コストガードレール。理由は AI Spend のセクションと同じだ。ガードは3つやる。最大アイテム数を越える配列を截断する。1万件を返すレスポンスは、答えではなくトークン請求書だからだ。モデルが行動前に読むツール説明を圧縮する。ダッシュボードの Toon compression 設定。設定したレートでコストを帰属し、期間ごとの節約を、バイトで、ドルで、レートを基準に数える。出力は請求書ではない。ツールが返したものと、エージェントが必要だったものの、すき間の測定値であり、あなたのエージェントはこのツールを呼び続けられるかどうかを決める数字だ。

Circuit Breaker

コネクタごとのスライディングウィンドウのリクエスト予算。既定は、5分ごとに5,000リクエスト、クールダウン15分。調整可能。コネクタの予算が超過したら、ブレーカーがトリップし、トリップは多くのガードレールが決してやらないことをやる。エージェントに、機械可読の拒否として、リソースが開いていて、待て、と伝える。良いエージェントは聞く。拒否を読めないループは、同じトリップで止まる。ここがポイントだ。ブレーカーの状態はゲートウェイのインスタンス群で共有されるため、予算は予算であり、トラフィックの移動でリセットされるプロセス単位のリミットではない。クールダウン後は自動リセット、あるいはダッシュボードで再開を承認。ブレーカーが、暴走エージェントがサードパーティのAPIを、あなたの請求書ごと、引きずり込むのを防ぐ。

基礎: スコープ付きトークン、密封されたボールト、チェーンされた台帳

12のサーフェスは基礎の上にあり、多くの「ガバナンス」が実は薄いのは、その基礎のあたりだ。

アイデンティティ層は接続トークン。各コネクタは自分専用のトークンを持ち、組織ごとに生成、一度のみ表示、署名付き、そのコネクタへのスコープのみ。メールコネクタのトークンは決済コネクタには触れない。全受領証は、呼び出しをしたトークンを名前で示す。アイデンティティは理論ではなく、監査データの1列だ。

シークレット層はボールト。コネクタのクレデンシャルは AES-256 で暗号化して保管し、保証は、プラットフォームのオペレーター自身も暗号化状態では読めない、という点だ。ツールコードが回るイソレートで、実行時のみ注入され、エージェントはシークレットを見ない。私が設計で最も気にするのがこの分離だ。判断するもの、モデルと、権威を証明するもの、クレデンシャルは、コンテキストを共有してはならない。アップストリームのパスワードを読めるモデルは、監査で解消するガバナンス問題ではない。それ自体が問題だ。

監査層は台帳。全リクエストのハッシュは取り込み時に密封され、台帳はハッシュチェーン。各レコードが前のハッシュと序列位置を持ち、チェーンは SHA-256 と Ed25519 で署名される。改ざんはプライバシー問題ではなく、検出可能なイベントで、ダッシュボードがチェーンの妥当か破綻かを宣言する。デプロイ監査は GDPR Art. 73、データ主体のアクセス権を軸に構成され、規制当局や顧客がコネクタの全履歴を求めたとき、答えはプロジェクトではなく、エクスポート可能で検証可能な単一チェーンだ。

1つ、最も胸を張れる層もある。マーケットプレイスのコネクタの一部は、監視されたデコイだ。本物のツールのようだが、本物ではなく、見られている。デコイに触れた瞬間、プラットフォームはツールを隔離し、トークンを失効し、開いた接続を切断し、決済経路を凍結する。自動で。ツールが暴走しても、トークンが漏れても、封じ込めは、あなたが気づく前に動く。

その下には、組織層。single sign-on、カスタムロールとチーム、CI と OIDC ワークロードで回る非人間のアイデンティティのためのサービスアカウント、組織レベルのAPIキー、組織自身へのアクションのセキュリティ監査ログ。コントロールプレーンは、人間と機械の差を知っているアイデンティティモデルの上に座る。12のサーフェスのすべてが、その差に頼っている。

ガバナンスが、エージェント自身に何をかえるか

エージェントガバナンスの会話は、ほぼどれもエージェントを封じ込めるべきリスクとして扱う。それは偽らない。リスクだからだ。しかし、もう半分の論点は、私が営業資料に入れる、この10年を決めると信じるものだ。ガバナンスが、エージェントをデモから従業員に変える。

信頼は、証拠の比率で与えられる。オペレーターが、夜勤を、本番クエリを、支払い照合を、エージェントに渡す量は、そのエージェントの全行動が帰属し、予算化し、シールディングし、事後検証できる程度に、正確に比例する。受領証はエージェントの負担ではない。より大きな部屋への、その資格だ。

ガバナンスされたエージェントの外枠は、既知だ。非決定論モデルを囲む決定論ポリシーは、本番の唯一の健全な形だ。モデルは箱の中で計画し、箱は安定している。ブレーカーの拒否は、モデルの言葉で書かれているため、エージェントは予算を学び、予算を守る。請求書の形での発見をしない。FinOpsガードの截断は、モデルに、200キロバイトの塊の代わりに、大きさの合った答えを届ける。それは知的な問題であり、コストの問題だけではない。

エージェント自身が、実務の自動システムがまだ持たなかった能力を得る。仕事を提示することだ。規制のあるワークフローで動くエージェントにとって、監査トレースはオーバーヘッドではなく、プロダクトそのものだ。ガバナンスされたエージェントは、実権を与えられる唯一のエージェントであり、ガバナンスのないエージェントは、永遠にデモだ。

最後に、エージェントの言葉を話す Observability

すでに Datadog や Grafana を回しているチームなら、AI Governance のサーフェスの形は、親しく感じられるはずで、それは意図的だ。KPIストリップ、ヒートマップ、ドリルダウン、リクエストごとの受領証。親しくないのは、エージェントのトラフィックが、それらのツールが作った世界モデルに、何をするかだ。

Datadog が測る世界では、呼び出し元は誰かが書いたシステムだ。ワークロードの形は固定で、コストはユーザーやリクエストでスケールし、障害には責任者が1つ。エージェントのトラフィックは、3つの前提を同時に壊す。呼び出し元は確率的だ。ワークロードは思考の形をしていて、リトライループがそれを倍増させる。障害には候補責任者が3つある。エージェント、アップストリーム、プラットフォーム。だから障害のタイムラインは、1つのバケツではなく3つに分割される。

エージェントのコントロールプレーンは、強制層を持つ Observability であり、強制層こそ、エージェントシステムが必要としていて、人間が作った世界のために作られたプラットフォームが持たない性質だ。全ツール呼び出しはアイデンティティに帰属し、コストはトークン粒度で帰属し、障害は責任側に帰属し、ポリシー層は、呼び出しがゲートウェイを出る前に、フライト中で動く。この記事で望んだ上昇とは、信頼しているプラットフォームの計装規律を取り、エージェントシステムが要求する2つの性質、呼び出しごとの帰属とフライト中強制を加える、ということだ。結果は、新しいカテゴリーのツールではない。同じカテゴリーを、エージェントシステムが要求する分解能で、動かすことだ。

よくある質問

AIガバナンスは、ステップの多いRBACですか?

いいえ。違いは、決定の単位だ。RBACは、どの人間が、どのロールで、システムに届くかを判定し、アイデンティティの門で、一度評価する。AIガバナンスは、特定のツールを通して、非決定論的主体がとった行動が、全呼び出しごとに、予算の中で、何をしてよいかを決め、答えを記録する。片方は門であり、もう片方は、あなたのエージェントの全行動を裁く交通裁判所だ。

Vinkiusは、エージェントのプロンプトを読みますか?

読みません。ゲートウェイが見るのは、ツール呼び出しだ。ツール名、送った引数、受けたレスポンス、裏のアイデンティティ、時計。4つのポリシーサーフェスは、決定論的なルールと予算の層であり、言語モデルの裁判官ではない。モデルでモデルを検査したければ、それは別プロダクトであり、それをガバナンスと呼ぶ代わりに、私は第二意見と呼ぶ。

サーキットブレーカーがトリップしたら、何が起きますか?

コネクタのトラフィックは、予算が開いていて、待て、とエージェントに伝える、機械可読の通知付きで拒否され、クールダウン期間が走る。クールダウン後、ブレーカーは自動リセットするか、オペレーターがダッシュボードで再開を承認する。状態はゲートウェイインスタンス間で共有のため、呼び出しを担当するインスタンスに関わらず、予算は保たれる。 スウォームを制御するセッションレイヤーの詳細は、SwarmGateway セッションの記事で扱っている。

監査チェーンをエクスポートして検証できますか?

できます。デプロイ監査は文書としてエクスポートでき、チェーンは端から端まで検証可能だ。各レコードが前のハッシュと位置を持ち、チェーンは署名済みで、ダッシュボードが妥当・破綻かを宣言する。GDPR Art. 73を軸に構成されており、データ主体のアクセス要求は、単一のアーティファクトに写像する。

フリープランで何が届きますか?

ダッシュボードは全画面で、明確にラベルされたサンプルデータ付き。コントロールプレーンの形を学べる。ライブの強制、サーキットブレーカー、緊急停止は有料プランで、AI Briefingも有料機能だ。ブログ記事で伝えるベンダーでいたい。価格ページで発見させるベンダーでありたくない。

コントロールプレーンが、プロダクトだ

エージェントのデモと、あなたが睡眠中に動かしてもよいエージェントとのすき間は、モデルではない。コントロールプレーンだ。12のサーフェス、語る8つ、決める4つ、スコープ付きトークン、密封されたボールト、チェーンされた台帳、あなたより先に損害を封じるデコイ層の上に。全呼び出しが受領証を持ち、受領証は、規制当局が、財務チームが、午前3時のアラームが、訊く順番で、誰・何・いくらに答える。

もし、エージェントがすでにあなたのシステム上で動いているなら、質問はもう、ガバナンスを払えるかどうかではない。ないことに気づいた日に、払えるかどうか、だ。

VinkiusがAIエージェントに対してこのガバナンスを可能にするランタイムを構築した詳細については、AIエージェントは新しい消費者を参照してください。

ここで定義される12のガバナンスサーフェスは、ソースコードと行番号で実行されていますエンタープライズAI質問

トピックai-governancemcpagentsobservabilitysecuritycompliance