ポートフォリオ → AI Control Center

システムとツール · デスクトップアプリAI Control Center

完了したことと、正しくできたことは別。

AI Control Centerは、役割の分担、検証ステップ、人による承認を通じて、複数のAIコーディングエージェントを連携させるWindowsアプリケーションです。AIに証拠を示させるのが狙いです。各ステップの記録は確認した版に結びつき、テスト自体も、コードをわざと壊すことで誤りを検出できるかを証明します。

AICC ダッシュボード:デモデータを使った製品画面
Dashboard v5 の画面をデモデータで再描画しています。実行中の成果ではありません。画像を選ぶと新しいタブで拡大表示します。
設計図 · 製品のスクリーンショットではありません
基準受け入れ基準 実装作業を進める 検証チェックを実行 レビュー証拠を読む 人の判断承認 成果 + 証拠 + 確認した版 承認は確認した版にのみ適用されます。

横にスワイプすると図の全体が見られます。

ワークフローの設計図です。検証はコマンドで実行し、承認は人が判断します。
課題

一人で複数のAIコーディングエージェントを使うとき、誰がどの版を確認したのか、テストが本当に誤りを検出できるのかを確かめる必要があります。

私の貢献

製品のルールとアーキテクチャを定義し、実装前に設計をレビューし、実際に使って成果を確認しました。コードはAIコーディングエージェントが実装しました。

成果・検証への入口

まずは証拠と版を結びつける図とコードをわざと壊す検証フローへ。本ページでは設計図と日付付きのレビュー結果・制約を示しています。製品の操作デモは掲載していません。

30 → 0一度の総点検で見つけた偽りの合格。すべて解消 · 2026年8月24日〜27日
868件の意図的な破壊を記録。115個のレシピファイルに収録
2,200件のテストが合格(全2,219件)。AIを活用したリリース前レビュー、スキップ0件 · 2026-09-24
3種類の結果(2種類ではない):合格 · 失敗 · 検証不能
ギャップ

報告書の上では、「終わった」と「正しく終わった」は見分けがつかない

AIエージェントは、目に見えるタスクを終わらせるのが得意です。常に合格するテスト、計算して画面に送ったのに誰も読まない値、その後に変更された版に付いたままのレビュー――どれも「合格」と表示されます。このプロジェクトでは、一度の点検で30件見つかりました。

だからこの製品は、ひとつの問いを軸にしています。本当に確かめるには、何が必要か?

避けたいリスクAICCの対応
人が判断するポイントが明確でないあなたが判断すべき場面で止まる
同じ役割が作業し、合格基準も決める作業する役割は、決して合格基準を決めない
承認が、確認した版と切り離されている承認は版に結びつき、内容が変われば失効する
合格するテストが、失敗を検出できないかもしれない一度失敗させてから、はじめて合格を認める
記録がアプリの中でしか読めない記録はプレーンテキストで手元のフォルダに。アプリなしで検証できる
版に結びつく証拠

確認記録の価値は、どの版を確認したかで決まる

内容 · 版Aダイジェスト 7f3a… 検証証拠が必要 審査結果は持たない 承認あなた 編集 内容 · 版Bダイジェスト c91e… ✕ ✕ ✕ 失効 · レビューに戻る 変更に依存していた記録だけが失効する 機械による記録は証拠なしには作れない。レビューの記録は結果を持てない。どちらのルールもコメントではなく、データモデルに組み込まれている。 3つ目の結果――GATED:検証方法が宣言されていないタスク。失敗ではないので、壊れていないものを直しにエージェントを送らない。
詳しく読む

実行中の各役割は、確認記録を残します。記録されるのは、誰が、いつ、どの内容のダイジェストに対して、どんな証拠で確認したか。承認には、必要な記録がすべて同じダイジェストにそろっていることが必要です。内容が変わると、入力が変わった記録だけが失効するので、影響のない作業はやり直しになりません。

判断の記録はハッシュチェーンとして残り、エクスポートして、アプリに依存しない単体の検証ツールで確認できます。チェーンの途中で改ざんや削除があれば検出できますが、チェーン全体が最初から書き直された場合まで検出できるとは主張していません。

テストをテストする

合格は、一度失敗させてから、はじめて意味を持つ

合格 1行壊す 失敗 ✓ 復元して確認 ここで初めて合格が意味を持つ 壊しても合格のまま? そのテストは何も検出できていない ✗ 実行されなかった? 結果は不明 ?――黙って合格扱いにはしない 868件の破壊を記録。対象とずれた破壊は、別のチェックが失敗させる
  • 復元は必ずコピーから行い、git checkoutは使わない――保存前の変更をまとめて失ったことがあるため
  • スキップ0件は絶対のルール:空のパラメータ化テストが1件でもSKIPを出したら、実行全体を失敗にする
  • 2つの層はどちらも代わりにならない:pytestは値が読まれていることを、本物のQWebEngine上のDOMチェックは表示されていることを確認する
  • 「計算して画面に送ったのに、どこからも読まれない」という繰り返し起きる不具合を、専用ツールで探している

コードを壊すツールは独立しました:negative-control →

職責の分離

作業する役割は、決して合格基準を決めない

職責読み取りファイルの書き込み合格基準の設定承認
計画●—●—
作業●● これだけ不可—
レビュー●—●—
承認●——● 機械の記録は覆せない

それぞれの役割はひとつの席で、自分の職責、自分の対話、自分に見えるルールを持ちます。エンジンは席の名前ではなく職責で仕事を割り振り、役割が自分の作業を自分で検証することを防ぎます。

  • 合格基準は「作業」以外の席が決める。基準の記録と実装の記録が同じ役割から出ていれば、エンジンは拒否する
  • 差し戻しは、位置ではなく職責に基づいて担当の席へ送られる
  • 権限を与える職責は自動では割り当てない。あなたが配置していなければ、エンジンが代わりに選ぶことはない

内部の仕組み:Claude Codeは読み取り専用の職責をplanモードで実行し、Codexは読み取り専用のサンドボックスで実行します。書き込めるのは「作業」だけです。これらはベンダーのツール自身の権限モードで、AICCはそれを要求しているだけです。AICC自体はOSレベルのサンドボックスではありません。

判断は人に戻す

多くのツールは「もっと自動化」を売る。これは、止まるように作られている。

AIが作業→ あなたにしか決められない判断に行き当たる→ 判断待ちリストで待機→ あなたが判断→ 判断を記録に残して続行

権限は初期設定で渡さない

権限を与える職責は自動では割り当てません。あなたが配置していなければ、エンジンが代わりに選ぶことはありません。

「検証できない」は「壊れている」ではない

確認方法が宣言されていないタスクは「検証不能」になります。失敗としては扱わないので、壊れていないものを直しにエージェントを送ることはありません。

承認でチェック結果は覆せない

機械のチェックが失敗していれば、承認しても合格にはなりません。承認者は読むことはできても、結果を書き換えることはできません。

5つの層

全体はグラフ。そして各ノードの中にも、同じ4つの層がある

Graph誰が何をするか · 引き継ぎ · 確認する場所 Loop修正は最大2回、その後はあなたへ Harness触れてよい範囲 Context必要な分だけ Prompt はしごではない:1回の呼び出しを5重に包む 計画 作業prompt · contextharness · loop 検証 レビュー あなた 検証はAIではなくコマンド あなたもノードのひとつ

Prompt、context、harness、loop、graph――この5つの層は、いまgraph engineeringと呼ばれています。互いに置き換わる段階ではなく、AICCの実行は毎回5つすべてを同時に使い、修正ループは1つのノードの中にあります。

各層がコードのどこにあるか
Prompt何をするか、制約、成功の基準、返す形式――prompt_builder
Contextこのステップに必要な分だけ:各職責には、自分のルール層と共有のプロジェクト記憶だけを渡す
Harness触れてよい範囲:CLIの実行部、プロジェクトの機密レベルと権限モード
Loopワークフロー内の修正ループ:修正は最大2回まで。その後、実行は人に戻る
Graph席の構成と9つのステップゲート。状態は実行記録、タイムライン、確認記録のチェーンに残る
しないこと

しない3つのことを、はっきり

01

渡されていないものは取らない

ClaudeやCodexへのログインはAICCを経由しません。AICCはベンダー自身のサインイン画面を開くだけで、ブラウザや他のアプリのキャッシュも読みません。認証情報のモジュールにAPIキーを受け取る新しい経路が加わると、テストが失敗します。

02

モデルを転売しない

ご自身のClaudeとCodexのアカウントを、それぞれの利用上限の範囲で使います。AICCが利用料に上乗せすることはありません。

03

独自のサーバーを持たない

アカウント登録は不要で、AICCのサーバーもありません。プロジェクトの記録は手元のフォルダにあるプレーンテキストで、AICC自身が最初の管理対象プロジェクトです。なお、プロンプトはClaudeやCodex自身のコマンドラインツールを通じて送信され、オプションのLINE通知とGoogle Drive連携にはそれぞれのデータの流れがあります。

現状と制約

できていること、証明できたこと、まだのこと

できていること

  • Windowsデスクトップアプリ。以前のビルドでは、Windows上でインストール・起動・アンインストールを2回実施
  • 職責に応じた権限を持つ役割、確認記録のチェーン、タイムライン、エクスポートできる判断記録
  • 1人で複数のプロジェクトを並行して管理

検証済み

  • AIを活用したリリース前レビューで2,219件のテストを実行:合格2,200件、失敗19件、スキップ0件。失敗はすべてリポジトリで説明
  • 同じレビューで853件の意図的な破壊を実行し、検出できなかったものも公開
  • 偽りの合格を30件見つけ、0件まで解消(2026年8月24日〜27日)

次のステップ

  • 次のベータ版でのオーナーによる受け入れテスト
  • 公開リポジトリはソースコードのみ。現在のインストーラーは、アップグレードまで含めた検証がまだ必要です。既知の制約はSECURITY.mdに記載
  • ソースコードはGitHubで公開。コードを壊すツールもnegative-controlとして独立

GitHubのリポジトリと文書は英語です。

新しいタブで開きます