MNML AIエージェント組織設計書

Issue #139 作成: W層 architect 日付: 2026-03-24 ステータス: CEO判断待ち
この文書について 合同会社MNMLのAIエージェント組織の全体設計をまとめたものです。
Mac mini 1台 + Claude CLI (Max Plan) の上で動く「AI組織」が、どのような構造で、どのように仕事を進め、どのように情報を管理するかを定義します。
目次
  1. 組織のビジョン — 行動原則とサッカーフィールドの比喩
  2. 組織構造と各役割 — CEO / IF層 / M層 / W層
  3. プロジェクト構造 — 起票から完了まで
  4. リソース管理 — ダッシュボードUI含む
  5. 根本原則 — 重複排除・共通資産化
  6. ナレッジ管理 — 情報をどこに、どう貯めるか
  7. 情報管理マップ — 全ての情報の所在
  8. 実装手段 — 技術的な実現方法

1. 組織のビジョン — 行動原則とサッカーフィールドの比喩

1-1. サッカーフィールドとしての組織

MNMLのAI組織は「サッカーフィールド」に例えられます。Z軸(高さ)がCEO→M層→W層の階層、XY平面(フィールド)がW層のスキルプールです。

XY平面: スキルプール(W層) arch coder test rev docs res writer depl Z軸: 階層 VDU群 BO AU PJM M層: Division(管理・監督) CEO MVV定義・リソース判断・社外折衝
図: サッカーフィールドの比喩 — Z軸が階層、XY平面がW層スキルプール
ポイント CEOはスタンドから全体を俯瞰する。M層は監督・コーチとしてフィールドの選手を配置・指揮する。W層はフィールド上の選手で、必要なポジション(スキル)に必要な人数だけ配置される。試合(PJ)が終われば解散。

1-2. 行動原則 — MNMLの組織が大切にすること

全てのエージェントが共有する、組織の根本的な考え方です。迷ったときはここに立ち返ります。

🎯
自動化が最優先
人の手・時間・在庫を最小にする。やれることはAIがやる。CEOには判断だけ上げる。
🧩
1つの世界、1つの真実
同じものが2つ存在する状態を許さない。作る前に既存を探す。見つかれば再利用・拡張する。
シンプルさは美
過度な抽象化・過剰設計を避ける。必要最小限の仕組みで最大の成果を。
🔄
冪等性
同じ操作を何度実行しても安全な設計にする。途中で止まっても、再実行すれば正しい状態になる。
🔍
構造的一貫性
場当たり的な対処より根本設計。判断はMECE(漏れなくダブりなく)で分解する。
🛡
捏造禁止
実行結果を推測で報告しない。動かして確認してから完了とする。不確実なら不確実と言う。

2. 組織構造と各役割 — CEO / IF層 / M層 / W層

2-1. 組織図

MNMLのAI組織は、CEO(人間)を頂点に、役割の異なるAIエージェントが階層的に配置されています。

CEO(内山) 最終意思決定者 IF層(インターフェース) CEOとの唯一の窓口 / 常駐 M層(マネジメント層) VDU責任者群(事業単位 / 常駐) BO 監査 PMO agents基盤 VDU / 常駐 the-botch VDU / 常駐 shift VDU / 常駐 ITコンサル事業 VDU / 常駐 香水ブランド VDU / 常駐 BO責任者 経理・法務・総務 / 常駐 AU(監査) 品質・トークン管理 / 常駐 PMO PJ単位 / 都度起動→消滅 --- W層(都度起動) --- スキルプール(W層)— 組織の共有資源 必要なときに、必要な数だけ並行起動。完了したら消滅。 architect coder reviewer tester researcher analyst writer designer docs deployer CEO(人間) IF層 VDU責任者 BO責任者 AU(監査・常駐) PMO(都度起動) W層(都度起動)
図1: MNML AIエージェント組織図
常駐 ≠ 常にトークンを消費 「常駐」とは、プロセスが待機状態で存在し続けるという意味です。メッセージが来なければトークン消費はゼロ。呼ばれたときだけ動きます。メッセージ振り分け機構がメッセージを受け取り、必要なエージェントだけが起動します。(実装: セクション8参照)

2-2. 各役割の詳細

CEO(内山)

人間

3つの責務に集中し、日常オペレーションには入らない(M層に委任)。

AIに委ねるのは「作業」。「判断」は人間が行う。CEOはダッシュボードで全活動を監視し、必要な時だけ介入する。

IF層(インターフェース)

常駐 スレッド横断

VDU責任者(事業/プロダクト単位)

常駐 プロダクトごとに1人

現在: agents基盤 / the-botch / shift / ITコンサル / 香水ブランド の5つ

BO責任者(バックオフィス)

常駐 1エージェント

AU(監査)

常駐 複数エージェント

PJM(プロジェクトマネージャー)

一時的 PJ期間のみ

スキルプール(W層)

都度起動 共有資源

組織全体で共有する実作業者群。誰でも呼べる。必要な数だけ並行起動し、完了したら消滅する。

スキル役割典型的な使い方
architect設計・IF定義新機能の全体設計、データモデル定義
coderコード実装設計書に基づくコーディング
reviewerコード/設計レビュー品質ゲートチェック、セキュリティ確認
testerテスト作成・実行テストコード作成、動作検証
researcher技術調査・コード分析既存コードの横断検索、技術選定
analystデータ分析・調査ログ分析、傾向調査
writer文書作成メール下書き、提案書
designerUI/UXデザイン画面設計、モック作成
docsドキュメント整備README、手順書、API仕様
deployerデプロイ作業Cloudflare Pages、本番反映

2-3. M層の自律稼働 — 工場のように毎日動く組織

M層の各Division(VDU / BO / AU)は、CEOの指示を待たずに自律的に活動します。CEOは日常オペレーションに入らず、M層に委任しています。組織全体が「工場のように毎日自律稼働する」イメージです。

CEO 日常オペレーションには入らない 委任 自律稼働ゾーン(M層)— CEOの指示なしで日常的に活動 VDU責任者群 自律的に行うこと: ・担当プロダクトの改善課題を発見 ・課題をPJとして起票 ・PMOを立てて作業を委任 ・完了を監督し、品質を確認 例: バグ検知→自動でPJ起票→PMO起動→修正→完了 CEOは報告を受け取るだけ BO責任者 自律的に行うこと: ・月次経費処理の自動実行 ・請求書の確定・PDF取得 ・メール添付の自動振り分け ・オペレーション改善の提案・実行 例: 毎月1日に経費パイプライン自動実行 CEOは結果確認のみ AU(監査) 自律的に行うこと: ・全PJの成果物品質を横断チェック ・重複排除(同じものが2つないか) ・トークン消費量の監視・警告 ・ナレッジの整合性チェック・横展開 例: coder成果物に品質問題→自動でVDUに指摘 CEOには定期レポートのみ
図: M層の自律稼働 — 各Divisionが独立して日常業務を遂行
CEOの関わり方 CEOが関与するのは、承認が必要な判断(リソース配分変更、組織変更、対外交渉)と定期レポートの確認のみ。日常の改善・運用・品質管理はM層が自律的に回す。CEOがSlackを見なくても、組織は動き続ける。

3. プロジェクト構造 — 起票から完了まで

3-1. 通常フロー vs PJ化フロー

タスクの大きさによって2つのフローを使い分けます。

通常フロー(小さなタスク)

M層(VDU責任者/BO責任者)が直接W層を呼んで処理します。

1
CEO/M層がタスクを認識
2
M層がW層を直接起動例: coder 1名を呼んで修正
3
W層が作業完了→M層がレビュー
4
完了報告

PJ化フロー(大きなタスク)

M層がPJMを立てて委任します。複数W層の協調が必要な場合に使います。

1
M層がPJを起票
2
PJMを起動(M層の一時インスタンス)
3
PJMがW層を必要な数だけ並行起動例: architect + coder 2名 + tester
4
W層完了→PJMが統合・レビュー
5
完了→PJM消滅、W層消滅

3-2. なぜPJMを別に立てるのか

VDU責任者がPJMを兼任した場合 VDU責任者 = PJM PJ-A を管理中… PJ-B 待ち(スタック) PJ-C 待ち(スタック) 新規課題の発見も止まる 1つずつ直列処理 → 全体が遅い PJMを別に立てた場合 VDU責任者 監督 + 新規課題発見 PJM-A PJM-B PJM-C coder + tester architect + coder researcher 全て並行稼働 → 誰も休まない VDU責任者は「何をやるか」を決める人。PJMは「どうやるか」を管理する人。 役割を分けることで、全員が常に並行して動ける。
図2: PJMを別に立てる理由 — 直列処理の排除

3-2b. VDU責任者のPMO生成フロー

VDU責任者がA個の改善課題を発見したとき、それをB個のPJに分割し、各PJにPMOを立てます。VDU責任者自身はPMOを兼任しない(兼任すると他の課題発見がスタックする)。VDU責任者・PMO・W層の全員が並行稼働し続けます。

VDU責任者のPMO生成と並行稼働フロー Phase 1: 課題発見 VDU責任者 プロダクトを常時監視 A個の改善課題を発見 課題1, 課題2, 課題3 ... B個のPJに分割 PJ-α, PJ-β, PJ-γ Phase 2: PMO生成 VDU責任者 PMOを起動して委任 PMO-α PMO-β PMO-γ Phase 3: 全員並行稼働 VDU責任者 スタックしない! ・次の改善課題を探し続ける ・PMOの進捗を監督 PMO-α: PJ-α管理 coder tester reviewer PMO-β: PJ-β管理 architect coder PMO-γ: PJ-γ管理 researcher docs Phase 4: 完了 PJ完了 → PMO・W層 消滅 VDU責任者は次の課題に取り組み続ける
図2b: VDU責任者のPMO生成フロー — VDU責任者はPMOを兼任せず、全員が並行稼働
なぜVDU責任者はPMOを兼任しないのか VDU責任者がPMOを兼任すると、PJ管理に時間を取られ、次の改善課題の発見が止まる。VDU責任者の本質的な仕事は「何をやるか」を決めること。「どうやるか」はPMOに委任する。これにより、VDU責任者は常に新しい課題を探し続け、PMOは各PJを独立して管理し、W層は実作業に集中する。全員が並行稼働し、誰もスタックしない。

3-3. プロジェクト全体フロー

CEO/IF層 M層 PJM W層 Slackでタスク依頼 IF層が理解し ルーティング VDU/BO が判断 通常? PJ化? 小さい M層が直接 W層を起動 W層: 作業 大きい PJMを起動 計画・分割 architect coder tester 完了・消滅 IF層経由で CEOに完了報告
図3: プロジェクト全体フロー — 起票から完了まで

3-4. Slackスレッド = プロジェクト

MNMLでは「Slackの1スレッド = 1プロジェクト」という考え方を採用しています。

仕組み

概念対応するもの説明
プロジェクトSlackスレッドCEOが1スレッドで起こすもの = 1プロジェクト
プロジェクト開始CEOの投稿IF層がスレッドの要求を理解してPJを立ち上げ
担当決定IF層のルーティングIF層がM層と相談して必要なW層を特定
並行稼働複数スレッド複数スレッド = 複数PJが同時に進行

常駐エージェント(スレッド横断)

都度起動エージェント(スレッド専属)

スレッドA: agents改修 スレッドB: 経費処理 スレッドC: shift新機能 IF層 — 全スレッドを横断して管理 agents基盤 責任者 PJM coder tester BO責任者 analyst shift 責任者 PJM architect coder coder AU(監査) 全スレッドを 横断監視
図4: 並行稼働する3つのスレッド(プロジェクト)のイメージ

4. リソース管理 — 限られた資源をどう使うか

4-1. 物理制約

リソース詳細備考
ハードウェア物理マシン 1台全エージェントがここで動く
AIエンジンLLM(月額固定プラン)トークン予算は月単位の上限あり
実行方式サブプロセス起動従量課金なし(固定プラン内)

全活動が同じリソース(トークン予算)を共有しているため、誰かが大量に使えば他が使えなくなります。

4-2. リソース逼迫時のフロー

リソース監視機能 トークン利用率 80% 超を検知 機械的な監視 IF層に通知 状況を整理して報告準備 IF層 → CEOに報告 「トークン逼迫。現在稼働中: VDU-A: 調査中(軽) / PJ-X: coder稼働中(重) / BO: 経費(軽) 何を優先しますか?」 CEO がダッシュボードで確認 何を止めるかを判断 停止指示を実行 指定されたPJ/W層を停止 AU: 事後検証 チューニング提案・改善策を検討 リソース監視機能 = 監視・検知(機械的) | IF層 = 報告・選択肢提示 | CEO = 何を止めるか判断 | AU = 事後検証
図5: リソース逼迫時のフロー
重要: AIはリソース配分を判断しない 「何を優先して何を止めるか」はCEOが決める。AIは判断材料(現在の稼働状況・消費量)を整理して提示するだけ。AIが自動的に優先度を付けて停止することはしない。

4-3. ダッシュボード — CEOの判断支援画面

CEOが全活動を一覧し、リソース配分を判断するための画面です。

設計方針

UIモック

MNML Agent Dashboard トークン使用率: 78%
稼働中セッション(経過時間順)
agents基盤改修 47分
agents基盤 責任者 → PJM → coder, tester
月次経費処理 12分
BO責任者 → analyst
shift新機能設計 5分
shift 責任者 → architect
常駐エージェント
IF層 待機中
AU(品質監視) 稼働中
AU(トークン管理) 待機中
agents基盤改修
スレッド: #dev / 2026-03-24 14:30 開始 / セッション: a8f2c1
VDU agents基盤 責任者 — 監督中
稼働 47分
PJM PJM-改修 — W層管理中
稼働 35分
W coder — bot/router.py 実装中
稼働 30分
W tester — テストケース作成中
稼働 15分
図6: ダッシュボードUIモック — 親子ネスト表示・停止ボタン付き

5. 根本原則 — 重複排除・共通資産化

根本思想 MNMLの世界は1つの閉じた情報空間。同じものが2つ存在する状態を許さない。
何かを作る前に、既にあるものを探す。あれば再利用・拡張する。なければ新規に作るが、特定PJ専用ではなく共通資産になるかを検討する。

5-1. 対象

対象重複の例正しい姿
コード同じHTTPクライアント処理が2箇所にある共通モジュールに統合
設計書同じ領域の設計書が別PJで作られる既存を拡張
Issue同じ課題が重複起票される既存Issueに追記
ドキュメント同じ手順書が2箇所にある1箇所にまとめてリンク
パイプライン同じ処理が別のopsスクリプトにある共通化
ナレッジ同じ判断理由が複数のCLAUDE.mdにあるIssueに1箇所で管理

5-2. 横断チェックの仕組み

PJライフサイクル 起票時 設計時 実装前 事後(常時) Issueの重複チェック 誰: VDU責任者 何を: 同じ課題が既存Issueに ないか確認 設計書の重複チェック 誰: architect 何を: 過去の設計書に同じ 領域のものがないか 既存コード横断検索 誰: researcher 何を: 再利用可能なモジュール がないか検索 監査チェック 誰: AU 何を: 組織横断で重複を 事後検出 チェックの判断フロー 1. 同じもの・似たものが組織内にあるか? → ある場合: 既存を再利用・拡張する 2. ない場合: 新規作成する。ただし — → 特定PJ専用ではなく、共通資産として設計できないか検討する
図7: 重複排除チェックのタイミングと担当者

6. ナレッジ管理 — 情報をどこに、どう貯めるか

6-1. 3つの管理先と役割分担

CLAUDE.md 「この人は何者で、どう振る舞うか」 入れるもの: ・役割定義 ・組織の文化・行動規範 ・ワークフロー定義 ・コーディング規約 入れないもの: 判断経緯、ナレッジ Issue 「なぜそう決めたか、何があったか」 入れるもの: ・判断理由・経緯 ・設計の背景・議論ログ ・トラブルシュート記録 ・学んだ教訓 ナレッジの本体はここに貯まる knowledge.md 「どこを見れば書いてあるか」 入れるもの: ・タグ付きIssueリンク集 ・カテゴリ別インデックス ・検索用のキーワード・タグ インデックス(目次)の役割 膨大な情報を検索可能にする仕組み 参照 情報の流れ: 判断・経緯が生まれる → Issueに記録 → knowledge.mdにタグ付きリンク追加 必要な時にknowledge.mdのタグで検索 → Issueの本文を読む
図8: ナレッジ管理の3層構造

6-2. タグ体系

knowledge.mdで使うタグの設計。タグでフィルタして必要なIssueを素早く見つけます。

カテゴリタグ例用途
ドメイン#agents #the-botch #shift #consulting #fragrance #opsどのプロダクト/事業に関するか
種別#design-decision #postmortem #lesson #architecture情報の性質
技術#slack-bolt #claude-cli #ms-graph #playwright関連する技術スタック
業務#accounting #invoice #mail-filing #legal関連する業務領域

knowledge.md のエントリ例

## #agents #architecture #design-decision
- [Issue #139](https://github.com/info-mnml/issues/issues/139) — 組織構造の再設計。VDU責任者/PJM分離の判断理由
- [Issue #102](https://github.com/info-mnml/issues/issues/102) — トークン消費削減。対策A〜Gの設計判断

## #agents #postmortem #lesson
- [Issue #102](https://github.com/info-mnml/issues/issues/102) — 表面的実装→revert。設計判断はCEO承認後に実装する教訓

## #ops #mail-filing #ms-graph
- [Issue #134](https://github.com/info-mnml/issues/issues/134) — メール添付自動取得。Hennge除外ルールの経緯

6-3. CLAUDE.md更新フロー

項目内容
更新権限M層(VDU責任者/BO責任者)が提案 → CEOが承認
レビューAUが整合性チェック(矛盾・重複がないか)
浸透方法CLAUDE.mdは各エージェントの起動時に自動読み込みされる。更新 = 即浸透
頻度役割定義や行動規範の変更時のみ(頻繁には変えない)

7. 情報管理マップ — 全ての情報の所在

MNMLの情報は「単一真実源(Single Source of Truth)」の原則で管理されます。同じ情報が複数箇所にある状態を作らない。

情報の所在マップ GitHub info-mnml org (Private) ソースコード(全リポジトリ) Issue(課題管理) CLAUDE.md(役割定義) knowledge.md(インデックス) SharePoint MNML Communication site 契約書 請求書 納品物 業務文書全般 Slack MNML workspace リアルタイムコミュニケーション タスク依頼(スレッド=PJ) 通知・アラート 承認・報告 CF Pages mnml-docs.pages.dev 設計書(HTML) ダッシュボード レポート 管理ルール コードを探すなら → GitHub 文書を探すなら → SharePoint やり取りを探すなら → Slack 成果物(HTML)を見るなら → CF Pages 判断の経緯を知りたいなら → Issue ナレッジを検索したいなら → knowledge.md → Issue
図9: 情報管理マップ — 全ての情報には「唯一の置き場所」がある

付録: 組織構造サマリー

役割常駐/一時起動条件
CEO 最終意思決定・リソース配分 1(人間)
IF層 CEOとの窓口・ルーティング・報告 常駐 1 システム起動時
VDU責任者 プロダクト/事業のドメイン管理 常駐 プロダクト数 システム起動時
BO責任者 経理・法務・総務 常駐 1 システム起動時
AU 品質監視・トークン管理・横展開 常駐 複数(分類別) システム起動時
PJM PJのスコープ管理・W層管理 一時 PJ数 M層がPJ化判断時
W層 実作業(設計・実装・テスト等) 一時 必要数 PJM/M層の指示時

8. 実装手段 — 技術的な実現方法

ここまでのセクションで「何が必要か」を定義しました。本セクションでは、それをどう実現しているかを対応付けます。

組織設計と実装は分離する 組織の役割定義やフローは、特定の技術に依存しない。技術は入れ替え可能。このセクションは「現時点の実装」であり、組織設計そのものではない。

8-1. 技術スタック

組織設計上の概念現在の実装手段備考
ハードウェア基盤Mac mini(Apple Silicon)全エージェントの実行環境
AIエンジンClaude CLI(Max Plan)月額固定。API課金なし
エージェント起動方式claude CLI subprocess各エージェントを独立プロセスとして起動
メッセージ振り分け機構bot.py(Slack Bolt + Socket Mode)Slackメッセージを受け取り、適切なエージェントにルーティング
リソース監視機能bot.py 内蔵の利用率監視トークン利用率を定期チェック、閾値超過でIF層に通知
ダッシュボードWebアプリ(HTML + REST API)エージェント一覧・停止機能を提供
常駐エージェント起動bot.py 起動時に自動起動IF層・VDU責任者・BO責任者・AUが同時に立ち上がる
PJM/W層の起動M層がCLI subprocessとして起動PJ完了で自動終了

8-2. opsパイプライン(バックオフィス自動化)

業務実装技術
経費処理ops/accounting/MFクラウド経費API + Playwright
請求書ops/invoice/MFクラウド請求書API
メール添付取得ops/mail_filing/MS Graph API
作業報告書ops/work_report/Outlookカレンダー + openpyxl
予定調整ops/scheduler/Outlookカレンダー API

8-3. 共通技術基盤