要件定義書 — MNML自律組織アーキテクチャ

Issue #143 — Three Lines 6ディビジョン構成 / 日次経営会議 / トークン管理会計

要件一覧
組織構成図
UC: IF直接回答
UC: VDU委譲
UC: BA委譲
UC: VDU能動
UC: BA定時
UC: SA異常検知
UC: Div間連携
UC: PJ型(PMO/PJM)

要件一覧

REQ-1: 組織構造

項目内容
階層構成CEO → IF層 → M層 → W層 の4層
M層(ディビジョン)Three Linesモデルに基づく6ディビジョン
■ 1線(VDU) Value Delivery Unit — 事業・プロダクト責任。複数人可
■ 2線(BA) Business Admin — 経理・法務・調達
■ 2線(H&A) Human & AI Resources — 人材・AI資源管理・育成・評価
■ 2線(PMO) Project Management Office — PJ推進・ナレッジ管理・PJM生成
■ 3線(OA) Operation Audit — 業務監査・品質・CLAUDE.md整合性
■ 3線(SA) System Audit — 死活監視・セキュリティ・トークン管理
W層(スキルプール)8種: researcher / architect / coder / tester / reviewer / docs / legal-reviewer / tax
拡張候補: writer > analyst > designer > support
PJM(有期)PMOが生成する有期プロジェクトマネージャー。PJ完了で消滅
三線防御1線(価値提供)/ 2線(管理・統制)/ 3線(独立監査)の分離原則を遵守

REQ-2: 通信構造

項目内容
CEO ↔ IF層Slack経由。bot.pyはSlack↔IF層の薄い中継のみ(ビジネスロジックなし)
IF層 ↔ M層IF層がM層の窓口。 IF層がM層に指示を出し、結果を受け取る。bot.pyがM層を直接呼ばない
M層 → W層M層がW層をCLI subprocess起動(都度起動・完了消滅)
M層 ↔ M層ディビジョン間の連携(例: VDU完了→OA監査、SA検知→VDU修正)
CEO直通禁止M層・W層はCEOに直接投稿しない。全てIF層を経由する

REQ-3: 駆動モデル・トリガー設計

項目内容
CEOからの指示Slackメッセージ → IF層が判断してM層にルーティング(現行と同様)
日次経営会議毎日定時にIF層が全M層を招集。全M層が参加する定期トリガー
定常アジェンダ:
  1. 前日振り返り(各ディビジョンの実績報告)
  2. 組織進捗(ディビジョン健全性)
  3. PJ進捗(各PJの状況・ブロッカー)
  4. リソース計画(トークン消費実績・配分計画)
持ち込みアジェンダ:
  - 課題棚卸(技術的負債・原則違反・未実装設計)
  - ルール設計(新規ルール提案・既存見直し)
  - 新規PJ起案
  - CEOからの相談事項
時間トリガーBA: 月末経費締め、月初請求書確認、契約更新日等
イベントトリガーGitHub Issue作成→PMO、PRマージ→OA、エラー検知→SA等
ディビジョン間連携あるディビジョンの完了がトリガーとなり別ディビジョンが起動(例: VDU実装完了→OA品質監査)
能動ループVDU等が自律的にコードベース観察→課題発見→実行するループ
※ 常駐が必要か、トリガー設計で代替可能かは設計フェーズで決定

REQ-4: M層プロセスモデル(未確定)

項目内容
要件各M層は「常にいる」状態が望ましい(CEOの意向)
常駐のメリット能動ループ可能 / 即時応答 / 文脈がメモリ上にある
非常駐(--resume)文脈維持可能 / idle時プロセスなし / 能動ループ不可 / 毎回起動コスト
判断基準トリガー設計に依存する。日次経営会議等のトリガーで全M層を呼び出せるなら非常駐でも可。
常駐が必須かどうかは設計フェーズで検証する
技術選択肢 Claude Code SDK (TS) / Claude CLI `-p --resume` / tmux + interactive / subprocess stdin pipe
※ Claude Code CLIが推奨する枠組みを優先採用する方針。設計フェーズで確定
コンテキスト管理長時間セッションはCLIのcompact機能で圧縮。問題があれば特定期間で引き継ぐ設計も可

REQ-5: リソース管理(トークン管理会計)

項目内容
背景一般企業の管理会計に相当。トークンをリソースとして計画的に管理する必要がある
消費計測ディビジョン別・PJ別のトークン消費実績を計測・記録
配分計画日次経営会議でリソース配分を決定。どのPJ・ディビジョンに優先配分するか
制約Claude Max Planのトークン上限内で運用。レート制限時は優先度制御で対応

REQ-6: CEO関与ポイント

項目内容
日次経営会議各ディビジョンからの報告を受け、優先順位・リソース配分を決定
APPROVAL_NEEDEDコスト発生・外部送信・破壊的操作はCEO承認待ち
随時指示Slackから任意タイミングでIF層に指示可能
緊急停止全M層を即座に停止するコマンド
非同期確認CEO不在時もM層は自律実行。CEOは後から結果を確認し承認キューを処理

REQ-7: 初回経営会議(移行の起点)

項目内容
目的全M層と現状の課題棚卸・優先順位付けを行う
アジェンダ 1. 各ディビジョンの管轄範囲の確認
2. 現在のIssue・技術的負債の棚卸
3. 設計済み・未実装の機能の洗い出し
4. 実装済みだが原則に従っていないものの特定
5. ルール設計の初期議論
6. 優先順位決定・リソース配分
期待成果全ディビジョンが自分の管轄で何を改善すべきか提案し、CEOと合意した優先順位で動き出す

REQ-8: タスク実行パターン(M層直接 vs PJ型)

項目内容
パターンA: M層直接 軽微〜中程度のタスク。M層(VDU/BA等)がW層を直接起動し、自分でレビューして完了
例: バグ修正、ドキュメント更新、定型経費処理
パターンB: PJ型 大規模・複数工程のタスク。PMOがPJMを生成し、工程管理する
例: 新機能開発、アーキテクチャ変更、大規模リファクタリング
判断基準IF層がタスク規模を判断し、パターンAならVDU/BA等に直接ルーティング、パターンBならPMOにルーティング

REQ-9: PJ型フロー

項目内容
PJライフサイクル 1. CEO/VDUがPJ起案 → IF層がPMOにルーティング
2. PMOがPJMを生成、工程計画を策定
3. H&Aが必要なW層リソースを確保・割当
4. PJMがW層を起動し各工程を実行管理
5. VDU(発注者)が成果物をレビュー(Rv)し承認/差し戻し
6. OAが工程完了ごとに品質監査(OK/NG)
7. 全工程完了 → PJM → PMO → IF層 → CEO報告
8. PJ完了 → PJM消滅
PJ中のループ 工程内ループ: PJM → W層起動 → 成果物 → VDU Rv → NG差し戻し → W層再実行
工程間ループ: PJM → W層起動 → VDU Rv → OA監査 → PJM → 次工程
監査NG: OA → PJMに差し戻し → W層修正 → VDU再Rv → OA再監査
CEO承認ゲート: 重要マイルストーンでIF層経由でCEO承認を取る

REQ-10: 各ディビジョンのPJ関与

ディビジョンPJでの役割関与タイミング
VDU 発注者。PJMに委託し、成果物をRvして承認/差し戻し。事業価値・品質の最終責任 各工程の成果物レビュー時。PJMが工程を管理しW層を起動。VDUは成果物のRvで承認/差し戻しを行う
PMO PJM生成・進捗管理・工程管理 PJ全体。起案→計画→工程間遷移→完了/中止判断。PJMのライフサイクル管理
H&A W層リソースの確保・割当 PJ開始時に必要なW層スキルを確認し割当。リソース不足時に追加調達。PJ間のリソース競合を調停
BA トークン消費の記録・管理会計 PJ全体。工程ごとのトークン消費を計測・記録し、リソース計画との乖離を報告
OA 品質監査(独立した第三者視点) 工程完了ごと。VDUのレビューとは別に、OAが独立監査。NG→VDUに差し戻し。三線防御の原則
SA 死活監視・セキュリティ PJ実行中常時。W層プロセスの死活監視、セキュリティチェック。異常時はVDU/PJMに通知

ステータス

REQ-1 組織構造確定
REQ-2 通信構造確定
REQ-3 駆動モデル一部未確定(能動ループの実現方法)
REQ-4 プロセスモデル未確定(設計フェーズで決定)
REQ-5 リソース管理方針確定・詳細未確定
REQ-6 CEO関与確定
REQ-7 初回経営会議確定
REQ-8 タスク実行パターン確定
REQ-9 PJ型フロー確定
REQ-10 各DivのPJ関与確定
CEO

CEO(内山)

MVV定義・リソース意思決定・社外折衝
Slack経由でIF層とのみ対話

Slack

唯一のCEO↔AIインターフェース
全スレッドがタスクの記録単位

INFRA

bot.py

Slack ←→ tmux のプロトコル変換器
ビジネスロジックなし

常駐

責務

• Slack WebSocket維持(Bolt/Socket Mode)
• メッセージ → tmux send-keys
• tmux capture-pane → Slack投稿
• tmuxセッション死活監視・再起動

tmux send-keys ↕ capture-pane
IF層

IF Officer(IFO)

CEO専属インターフェース
ルーティング判断・結果整形・Issue起票
M層への指示はtmux send-keys

Claude CLI 常駐 自律ループ
tmux send-keys(IF→M)/ ファイル or capture-pane(M→IF)
1線
VDU

VDU

Value Delivery Unit
事業・プロダクト責任
開発・品質・リリースの成果責任

Claude CLI 常駐 能動ループ
2線
管理

BA

Business Admin
経理・法務・調達

常駐 時間駆動

H&A

Human & AI Resources
人材・AI資源管理
エージェント育成・評価

新設 能動ループ

PMO

Project Management Office
PJ推進・ナレッジ管理
PJM生成・消滅

新設 イベント+ループ
3線
監査

OA

Operation Audit
業務監査・品質
成果物レビュー・CLAUDE.md整合性

新設 イベント駆動

SA

System Audit
死活監視・セキュリティ
トークン管理・インシデント対応

常駐 能動ループ
M層がCLI subprocess起動(都度)
W層
実行

researcher

技術調査・分析

architect

設計・IF定義

coder

コード実装

tester

テスト作成・実行

reviewer

コード/設計レビュー

docs

ドキュメント

legal-reviewer

法務レビュー

tax

税務判定

通信方式

CEO ↔ IF : Slack(bot.py中継)
IF ↔ M層 : tmux send-keys / capture-pane / ファイル
M層 → W層 : claude CLI subprocess(都度起動・完了で消滅)

駆動モデル

ディビジョン駆動プロセス理由
IFO常時待機Claude CLI 常駐(tmux)CEOからのメッセージを即時受信
VDU能動ループClaude CLI 常駐(tmux)磨き込みに終わりがない
BA時間トリガーClaude CLI 常駐(tmux)締日・期限駆動
H&A能動ループClaude CLI 常駐(tmux)エージェント状態の観察・改善は常時
PMOイベント+ループClaude CLI 常駐(tmux)PJ発生時はイベント、進捗管理はループ
OAイベント駆動Claude CLI 常駐(tmux)成果物が出たら監査
SA能動ループClaude CLI 常駐(tmux)死活監視は常時
W層(全8種)受動(委譲)都度起動・完了消滅M層からの委譲でのみ起動

現行アーキテクチャ

CEO → Slack → bot.py(IF層ロジック内蔵)
                  ↓ subprocess起動(毎回新規)
               M層(dev / bo / legal)+ ai-ops
                  ↓ subprocess起動(毎回新規)
               W層(8種)

• bot.py = IF層 + ルーティング + 結果整形
• M層は1タスク1プロセス(起動→応答→終了)
• 文脈はセッションごとにリセット
• 能動的な起動手段なし(CEO発話のみ)

提案アーキテクチャ

CEO → Slack → bot.py(薄い中継層)
                  ↓ tmux send-keys
               IF層(Claude CLI 常駐)
                  ↓ tmux send-keys
               M層(6ディビジョン、全て常駐)
                  ↓ subprocess起動(都度)
               W層(8種)

• bot.py = プロトコル変換器のみ
• IF層・M層はtmuxで常駐(文脈維持)
• 各ディビジョンが自律駆動モデルを持つ
• idle時はトークン/CPU消費ゼロ

Generated for Issue #143 — 2026-03-24

Direct Route — IF層が直接回答

雑談・質問・スケジュール確認など、IF層が単独で判断・回答しM層に委譲しないケース

CEO
Slack + bot.py
IF層
メッセージ送信
Slack受信 → bot.py
→ tmux send-keys
判断:「自分で回答可能」
回答を生成・出力
tmux capture-pane
→ Slack投稿
回答を確認

凡例

指示(下流へ)
結果返却(上流へ)

※ M層・W層は関与しない。IF層のみで完結する最短ルート

VDU Route — 事業・プロダクト開発

コード実装・設計・デプロイなど。VDU(1線)がフェーズ分解しW層に委譲、レビュー後にIF層へ返却

CEO
Slack + bot.py
IF層
M層(VDU)
W層
NG 差し戻し OK
タスクを送信
Slack受信 → bot.py
→ tmux send-keys
判断:「開発タスク」
→ VDUへ委譲
VDU: 受領
フェーズ分解
W層実行
coder / architect / researcher等
VDU: 成果物受領
成果物返却
レビュー
NG → 修正指示で
W層に差し戻し
↓ OK
結果受領・整形
VDU: 結果報告
tmux capture-pane
→ Slack投稿
結果を確認

凡例

指示・委譲(下流へ)
結果返却(上流へ)
NG差し戻しループ
判断ノード(OK/NG分岐)

※ レビューNGの場合、修正指示とともにW層に差し戻し。OKになるまでループ

BA Route — 経理・法務・調達

経費登録・請求書・契約レビュー・法的リスク評価など。BA(2線)がops/パイプライン実行またはW層に委譲し、レビュー後に返却

CEO
Slack + bot.py
IF層
M層(BA)
W層 / ops
NG 差し戻し OK
経理・法務指示を送信
Slack受信 → bot.py
→ tmux send-keys
判断:「経理・法務」
→ BAへ委譲
BA: 受領・タスク判断
経理/法務/調達を分類
ops/パイプライン実行
or W層起動(tax等)
BA: 結果受領
結果返却
レビュー
NG → 修正指示で
差し戻し
↓ OK
結果受領・整形
BA: 結果報告
tmux capture-pane
→ Slack投稿
結果を確認

凡例

指示・委譲(下流へ)
結果返却(上流へ)
NG差し戻しループ
判断ノード(OK/NG分岐)

※ BAは経理・法務・調達を統合管理。経理→ops/パイプライン、法務→legal-reviewer、調達→docs等のW層を使い分ける

VDU能動ループ — CEOの指示なしで自律稼働

VDUが常駐セッション内で自律的にコードベース・Issueを観察し、課題を発見→W層に委譲→結果をIF層経由でCEOに報告

CEO
Slack + bot.py
IF層
M層(VDU)
W層
(不在 / 就寝中)
自律コードベース観察
Issue一覧を確認
課題発見
「技術的負債あり」
優先度
判断
低優先 → 記録のみ
(Issue起票して待機)
↓ 高優先: W層に委譲
W層実行
researcher / coder / architect
VDU: 成果物レビュー
成果物返却
結果受領
CEO向け報告整形
IF層へ報告
tmux send-keys
tmux capture-pane
→ Slack投稿
(起床後)
報告を確認・承認
次の観察サイクルへ
ループ継続

ポイント

自律 CEOの指示なしでVDUが自発的に開始

※ VDUは常駐セッション内で「観察→判断→実行→報告」を自律ループ。CEOは結果を非同期で確認。
※ APPROVAL_NEEDEDな操作(外部送信・破壊的変更)はCEO承認待ちで一時停止

BA時間トリガー — 定時業務の自動実行

月末・月初などの時間トリガーでBAが自動起動し、経費チェック・請求書確認・月次レポートを実行

CEO
Slack + bot.py
IF層
M層(BA)
ops / W層
(不在)
cron月末トリガー発火
「経費チェックの時間」
実行計画策定
1. 経費確認 2. 請求書 3. 報告書
ops/パイプライン or W層
経理→ops / 法務→legal-reviewer / 調達→docs
BA: 結果確認
実行結果返却
承認
要否
自動完結可能 → 次タスクへ
CEO承認要 → 承認待ち
結果受領
日次サマリーに集約
IF層へ報告
tmux capture-pane
→ Slack投稿
(出社後)
サマリー確認
承認キュー処理

ポイント

cron 時間トリガー(月末・月初・毎朝等)

※ BAは締日・期限に基づいて自動起動。経費登録など外部書き込みはCEO承認待ち(APPROVAL_NEEDED)
※ 確認のみの読み取り操作は自動完結し、結果のみ報告

SA異常検知 — エラー検知から自動対応

SAが常時監視ループでエラー・異常を検知し、影響範囲を判断。自動復旧またはVDUに修正を依頼

CEO
Slack + bot.py
IF層
M層(SA)
M層(VDU)
(不在)
重要度
判断
軽微 → 自動復旧
重大 → VDUに連携
VDU: 受領
W層に修正委譲
インシデント報告受領
CEO向けアラート整形
tmux capture-pane
→ Slack投稿
緊急通知
アラート確認
対応状況を把握

ポイント

自律 SAが常時監視ループで異常を検知

※ SA→VDUのディビジョン間連携が発生するケース。SAは検知・判断・通知に責任、修正実行はVDUの責務
※ 軽微な異常(プロセス再起動等)はSAが自動復旧。CEOには事後報告のみ

ディビジョン間連携 — VDU完了→OA品質監査

VDUが実装完了後、OA(業務監査)が品質チェックを実施。三線防御の分離原則に基づく独立監査

CEO
Slack + bot.py
IF層
M層(VDU)
M層(OA)
VDU: 実装完了
W層(coder)の成果物OK
OAへ監査依頼
tmux send-keys → m-oa
監査
結果
VDU: 指摘受領
修正してOAに再提出
監査完了報告受領
CEO向け整形
tmux capture-pane
→ Slack投稿
監査結果を確認
実装+品質の両方がOK

ポイント

event VDUの完了がOAのトリガーになる(ディビジョン間連携)

※ OAはVDUから独立した視点で監査する(三線防御の原則)。VDU自身のレビューとは別のチェック
※ NG時はVDUに差し戻し→修正後にOAが再監査。OKになるまでCEOには上がらない
※ 同様のパターン: PMOがPJ計画策定→VDUに実行指示、H&Aが新W層追加→SAにレジストリ更新通知

PJ型タスク — PMOがPJMを生成して管理

規模の大きいタスクはPJ化する。PMOがPJMを生成し、PJMがW層を管理。各ディビジョンがPJライフサイクルに関与する

2つのパターン

直接委譲型 PJ型
規模 小〜中(1ディビジョンで完結) 中〜大(複数ディビジョン・複数フェーズ)
管理者 M層(VDU/BA等)が直接W層を起動 PMOがPJMを生成。PJMがW層を管理
PJ化の判断 IF層またはM層が判断。複数Div横断・長期・CEO承認要の場合
ライフサイクル タスク完了で終了 PJ開始→工程管理→完了→PJM消滅

PJライフサイクルと各ディビジョンの関与

IF層
PMO
PJM(有期)
VDU / BA
OA / SA
H&A
PJ化を判断
PMOに起案指示
PJ計画策定
PJMを生成
リソース確認
W層の空き状況
進捗監視
W層を起動
工程管理
フェーズ分解・委譲
VDU: 技術判断
BA: 予算・契約
成果物をOAに提出
CEO向け報告整形
承認依頼
PMO: 完了確認
PJM消滅
振り返り記録
ナレッジ蓄積

各ディビジョンのPJへの関与

Div PJにおける役割 関与タイミング
VDU 技術判断・プロダクト方針。PJMが判断できない事項を支援 実行中(技術判断時)
BA 予算・契約・法務チェック 起案時(予算)、実行中(外部契約)
H&A W層リソース確認・割当。完了後の振り返り・ナレッジ蓄積 起案時+完了時
PMO PJ全体管理。PJM生成/消滅・進捗監視 全期間
OA 成果物の品質監査。独立視点でチェック。NG→差し戻し 各フェーズ完了時
SA システム監視継続。異常検知時にPJM/PMOに通知 実行中(常時)

PJのループ構造

外側ループ(PMO管理):
  PMOがPJ計画策定 → PJM生成
    ↓
  内側ループ(PJM実行):
    PJMがフェーズ分解 → W層起動 → 成果物受領
      ↓
    OAに品質監査依頼
      ↓ NG → PJMに差し戻し → W層に再委譲(内側ループ)
      ↓ OK → 次フェーズへ
      ↓
    全フェーズ完了 → PMOに報告
    ↓
  PMOがPJ完了確認 → PJM消滅 → H&Aが振り返り記録
    ↓
  IF層がCEOに最終報告

割り込み:
  SA異常検知 → PJM/PMOに通知 → 対応判断
  CEO指示変更 → IF層 → PMO → PJM計画修正
  VDU技術判断要請 → PJMがVDUに相談 → 判断を反映
  BA予算超過 → PMOに警告 → CEO承認待ち

ポイント

PJMは有期: PMOが生成し、PJ完了で消滅
OAの独立性: PJM/VDUとは独立に品質監査(三線防御)
SAは常時: PJ実行中もシステム監視を継続。PJに従属しない
H&Aは始点と終点: リソース確認(始点)と振り返り・ナレッジ蓄積(終点)
内側ループ: PJM→W層→OA監査がフェーズごとに回る
外側ループ: PMOが全体進捗を監視し、PJM間の依存関係を管理

Generated for Issue #143 — 2026-03-24