組織アーキテクチャをクラウドインフラ構成図の用語で再表現する — ネットワーク境界・外部サービス・通信プロトコル明示版
Section 1
Section 2
| 線の種類 | 色 | 意味 | プロトコル例 |
|---|---|---|---|
| 実線(灰色) | ■ #64748b | 内部コンポーネント間の同期通信 | subprocess, stdout, file I/O |
| 実線(赤) | ■ #dc2626 | ファイアウォールを越える外部API通信 | HTTPS REST, WebSocket, OAuth2 |
| 破線(橙) | ■ #ea580c | 監査ログ・非同期通知(パッシブ) | file I/O(ログ書き込み) |
| 破線(赤/薄) | ■ #dc2626 (dashed) | 外部への読み取り専用(Pull型) | HTTPS GET(RSS取得等) |
| 矢印 | 意味 | 例 |
|---|---|---|
| →(単方向) | リクエスト送信側 → 受信側 | Worker → Cloudflare Pages(デプロイ) |
| ⇄(双方向) | リクエスト/レスポンスの両方向 | API Gateway ⇄ Slack API(メッセージ送受信) |
| 区画 | 枠線の色 | 含まれるもの |
|---|---|---|
| Internal Network(Mac mini内) | ■ 青緑(破線) | bot.py, IF層, M層, W層, LLM Engine, State Store, Governance |
| External Services(インターネット経由) | ■ 赤(実線) | Slack API, GitHub API, Anthropic API, MS Graph, Cloudflare Pages, RSS, MFクラウド |
| Firewall 境界 | ■ 赤(破線・縦) | Internal ↔ External の通信は全てこの境界を通過する |
Section 3
| 組織用語 | システム用語 | 実体 | ライフサイクル |
|---|---|---|---|
| CEO | Administrator / Root Account | 人間(内山) | — |
| Platform | VPC (Virtual Private Cloud) | agents リポジトリ全体 | 常時稼働 |
| Gateway | API Gateway / Application Server | bot.py (Bolt + Socket Mode) |
常駐デーモン |
| IF(Orchestrator) | Request Router / Ingress Controller | Claude CLI (Sonnet) | リクエスト毎に起動→消滅 |
| Scheduler | Task Scheduler / Cron Service | bot/scheduler.py + launchd |
常駐デーモン |
| M層(Domain Experts) | Orchestrator Services / Domain Controllers | Claude CLI (Opus) 常駐セッション | 常駐(自動復帰) |
| VDU(事業M層) | Application Controller | リポジトリ単位のOrchestrator | オンデマンド → 常駐化 |
| BA(管理M層) | Business Process Service | 経理・法務・総務の統合Controller | 常駐 |
| W層(Skill Pool) | Compute Fleet / Serverless Workers | Claude CLI subprocess(ロール注入) | 都度起動→完了→消滅 |
| W層ロール注入 | Container Image / Config Injection | CLAUDE.md + knowledge/ |
起動時に注入 |
| Policy Engine | Policy-as-Code / Config Management | CLAUDE.md + pre-commit hooks + ruff | イベント駆動 |
| Audit Engine | Audit / Logging Service | agents/ai-ops/monitor/ |
常駐デーモン |
| Resource Governor | Resource Manager / Rate Limiter | Gateway内蔵(トークンクォータ管理) | Gateway に同居 |
| Self-Monitor | Health Check / Watchdog | launchd KeepAlive + 死活監視 | 常駐デーモン |
| TaskTracker | State Store | tasks.json / agents.json |
ファイルベース永続化 |
| Dashboard | Observability Dashboard | HTTP + SSE(組織図・ステータス) | Gateway に同居 |
| External(Slack等) | External APIs / Client Interface | Slack, GitHub, MS Graph, MFクラウド | 外部サービス |
| Claude CLI | LLM Engine / AI Compute | subprocess (Max Plan) | タスク単位 |
| PJM | Coordinator Node(有期) | Claude CLI (Opus, --resume) | PJ期間中常駐 |
| Generator / Critic | Worker Role(生成 / 検証) | ロール注入パターンの分類 | — |
Section 4
bot/app.py, bot/claude_runner.pyagents/if/bot/scheduler.py| Node | Role | Model | Pattern |
|---|---|---|---|
researcher | 技術調査・コード分析 | Sonnet | Generator |
architect | 設計・IF定義 | Opus | Generator |
coder | コード実装 | Opus | Generator |
reviewer | コード/設計レビュー | Opus | Critic |
tester | テスト作成・実行 | Sonnet | Critic |
docs | ドキュメント作成 | Sonnet | Generator |
legal-rev. | 契約書レビュー・法務調査 | Opus | Critic |
tax | 税務調査・計算 | Opus | Generator |
PJM | PJ管理(有期Coordinator) | Opus | Coordinator |
| サービス | プロトコル | 方向 | 接続元(内部) | 用途 |
|---|---|---|---|---|
| Slack API | WebSocket (Socket Mode) | 双方向 | API Gateway (bot.py) | CEO↔Botのメッセージ送受信 |
| GitHub API | HTTPS REST | 双方向 | Worker Nodes (coder等) | Issue管理・コード操作・PR |
| Anthropic Claude API | HTTPS REST | 双方向 | LLM Engine | LLM推論(Haiku/Sonnet/Opus) |
| Microsoft Graph API | HTTPS REST + OAuth2 | 双方向 | Batch Pipelines (ops/) | Outlook・OneDrive・SharePoint・Calendar |
| Cloudflare Pages | HTTPS REST (POST) | 単方向→ | Worker Nodes (architect等) | HTML設計書のデプロイ・公開 |
| RSS / Webフィード | HTTPS GET (XML/JSON) | 単方向← | Batch Pipeline (ニュース) | AIニューススキャン用ソース取得 |
| MFクラウド API | HTTPS REST | 双方向 | Batch Pipelines (経費/請求書) | 経費精算・請求書発行 |
Section 5
Client (Slack)
│ WebSocket (Socket Mode)
▼
┌─────────────── FIREWALL ───────────────┐
│ │
▼ │
┌─────────────────────────────────────────────────────────┐
│ API Gateway (bot.py) [Internal] │
│ │
│ 1. メッセージ受信 ← Slack API (WebSocket) │
│ 2. Request Router (IF/Sonnet) 起動 (subprocess) │
│ └→ ルーティング判断: direct / vdu-* / ba / platform │
│ 3. Orchestrator Service にディスパッチ (subprocess) │
│ └→ State Store (tasks.json) に状態記録 (file I/O) │
│ 4. Orchestrator が Compute Fleet にタスク投入 │
│ └→ Rate Limiter でクォータチェック │
│ └→ Worker Node 起動(ロール注入, subprocess) │
│ 5. Worker Node 実行完了 → Orchestrator に結果返却 (stdout)│
│ 6. Orchestrator レビュー │
│ └→ NG: Worker に差し戻し(修正指示) │
│ └→ OK: CEO に報告 → Slack API (HTTPS POST) │
│ │
│ * 全ステップ → Audit / Logging に自動転送 (file I/O) │
└─────────────────────────────────────────────────────────┘
Task Scheduler (cron / launchd)
│ 時刻トリガー (subprocess)
▼
┌─────────────────────────────────────────────────────────┐
│ Batch Pipeline (ops/) [Internal] │
│ │
│ 1. Scheduler がパイプライン起動 │
│ 2. 各ステップ実行(External API 呼び出し) │
│ ├→ MS Graph (HTTPS+OAuth2) → Outlook/OneDrive │
│ ├→ MFクラウド (HTTPS REST) → 経費/請求書 │
│ ├→ RSS (HTTPS GET) → ニュースソース │
│ ├→ Anthropic API (HTTPS REST) → Haiku評価 │
│ └→ Cloudflare Pages (HTTPS POST) → HTMLデプロイ │
│ 3. 結果を BA Controller に通知 │
│ 4. BA が CEO に報告 → Slack API (WebSocket) │
│ │
│ * 全ステップ → Audit / Logging (file I/O) │
└─────────────────────────────────────────────────────────┘
Section 6
| From | To | 経路 | プロトコル | 方向 |
|---|---|---|---|---|
| Administrator | API Gateway | Slack → [Firewall] → API Gateway | WebSocket (Socket Mode) | 双方向 |
| API Gateway | Request Router | Gateway → Router(内部) | subprocess (claude CLI) | → 単方向 |
| Orchestrator | Compute Fleet | Orchestrator → API Gateway → Worker Node | subprocess (claude CLI) | → dispatch |
| Worker Node | Orchestrator | Worker → API Gateway → Orchestrator | stdout / タグ解析 | → result |
| API Gateway | Slack API | Gateway → [Firewall] → Slack | WebSocket / HTTPS | 双方向 |
| Worker Node | GitHub API | Worker → [Firewall] → GitHub | HTTPS REST | 双方向 |
| LLM Engine | Anthropic API | Engine → [Firewall] → Anthropic | HTTPS REST | 双方向 |
| Batch Pipeline | MS Graph API | Pipeline → [Firewall] → Microsoft | HTTPS REST + OAuth2 | 双方向 |
| Worker Node | Cloudflare Pages | Worker → [Firewall] → Cloudflare | HTTPS POST | → 単方向 |
| Batch Pipeline | RSS/Webフィード | Pipeline → [Firewall] → RSS Sources | HTTPS GET | → 単方向 |
| Batch Pipeline | MFクラウド API | Pipeline → [Firewall] → MFクラウド | HTTPS REST | 双方向 |
| Orchestrator | Orchestrator | 直接通信不可(Administrator 経由) | — | — |
| Worker Node | Worker Node | 直接通信不可(PJM / Orchestrator 経由) | — | — |
| 全コンポーネント | Audit / Logging | 自動転送(パッシブ) | file I/O | → 単方向 |
| 全コンポーネント | State Store | Gateway経由(内部) | file I/O | 双方向 |
| Task Scheduler | Batch Pipeline | Scheduler → Pipeline 直接起動(内部) | subprocess | → 単方向 |