Claude Codeオーケストレーション(CC×マルチAIエージェント分業設計:Gemini / Devin / ローカルLLM)

📖 出版済み | 技術 | 優先度:🔴 最優先

シリーズ: AI・IT実践シリーズ

📖 出版済み(2026-06-07・¥800)| 書籍「AIエージェント・オーケストレーション」として KDP 公開 → 書籍ページAmazon(Kindle)


目的(ゴール)

Claude Code をオーケストレーターとして、タスク分解・品質判断・ワークフロー制御を担わせ、生成コストの高いタスクをローカルLLMワーカーにオフロードする分業アーキテクチャを設計・実装・検証する。CC の強みである文脈理解・判断・ツール実行を活かしながら、ローカルLLMで代替可能な生成タスクをオフロードすることで、コスト最適化と品質維持を両立する実践知を確立する。

アクター

  • 著者(Manabazu)
  • Claude Code(オーケストレーター:タスク分解・品質判断・ワークフロー制御)
  • Gemini(Google Gemini API / Gemini CLI:大容量コンテキスト処理・マルチモーダル分析担当)
  • Devin(Cognition AI:自律コーディング・長時間非同期タスク担当)
  • ローカルLLMワーカー(qwen3-32b-nothink / Ollama on Node4、LiteLLM 経由:定型生成タスク担当)
  • vault_worker.py(CC↔ローカルLLM ブリッジスクリプト)
  • LiteLLM API(モデルルーティング層、Node4)

開始条件(起動トリガー)

Vault の Lab Log・原稿ドラフト・AtomicNote 生成など、定型的な大量テキスト生成タスクが発生し、CC が直接処理するよりローカルLLM へのオフロードがコスト対効果で優位と判断した時。

事前条件

  • Node4 Ollama が稼働し、qwen3-32b-nothink:latest が登録済み
  • Node4 LiteLLM が稼働し、general-model(→ qwen3-32b-nothink)が登録済み
  • vault_worker.pyDEFAULT_MODEL = "general-model" が設定済み
  • Node1(作業端末)から Node4 への HTTP アクセスが可能

事後条件

  • ローカルLLM が生成したドラフトを CC がレビュー・品質判断し、合格した成果物が Vault に格納される
  • 生成コスト(Anthropic API トークン)が削減され、CC の処理はタスク設計・判断・修正に集中される

メインフロー

  1. 著者が CC(オーケストレーター)にタスクを自然言語で指示する
  2. CC がタスクを分解し、ローカルLLM で処理すべき生成サブタスクを特定する
  3. CC が vault_worker.py を通じて LiteLLM API 経由でローカルLLM にサブタスクを委託する
  4. ローカルLLM(qwen3-32b-nothink)がドラフトを生成して返す
  5. CC がドラフトをレビューし、品質・整合性を判断する
  6. 合格の場合:成果物を Vault の適切なフォルダに格納する
  7. 不合格の場合:CC が修正指示を生成し、ローカルLLM に再生成を依頼するか、CC が直接修正する

代替フロー

  • Node4 が停止中の場合: CC が直接生成タスクを処理する(フォールバック)
  • ローカルLLM の品質が基準を下回る場合: CC が部分修正または直接生成に切り替える

例外フロー

  • LiteLLM 接続エラー(400/500):DEFAULT_MODEL 設定ミスまたは Node4 サービス停止を確認
  • qwen3-32b-nothink の OOM:モデルサイズに対する Node4 メモリ(128GB 統合)は十分だが、並列処理時は注意

備考

  • ollama_chat/ エンドポイントを使用すること(ollama/ は不可)
  • Phase 比較:UC260416-001(ハイブリッド・使用量最適化)と UC260417-001(CC完全代替)の中間的ポジション
  • 実装根拠:vault_worker.py の構築と A/B テスト計画(60_AgenticTasks/VaultProcessing-AgentComparison.md)が既存証跡

シナリオリスト

ローカルLLM グループ(定型大量生成・コストゼロ)

シナリオ概要
L1Lab Log → 出版メモ変換(ローカルLLM 生成、CC レビュー)
L2AtomicNote 生成(ローカルLLM 生成、CC WikiLink 整合チェック)
L3章ドラフト生成(ローカルLLM 生成、CC 文体・構成レビュー)
L4CBF 分類(ローカルLLM 提案、CC 最終判断)

Gemini グループ(大容量コンテキスト・マルチモーダル)

シナリオ概要
G1全 Vault 横断の知識統合(1M token コンテキストで AtomicNote 候補・シリーズ矛盾点を抽出)
G2スクリーンショット・図表のテキスト化(Gemini Vision で _inbox/screenshots/ を構造化ドキュメントへ変換)

Devin グループ(自律コーディング・長時間非同期タスク)

シナリオ概要
D1Publishing パイプラインスクリプトの機能追加(CC が仕様書を作成、Devin が実装 → PR、CC がレビュー)
D2評価スクリプト改善(auto_scorer.py 拡張を CC が要件定義、Devin が非同期実装・テスト)
D3Vault 定型整備タスクの非同期委託(LabLog集計・frontmatter検証・UC整合確認を Devin が実施 → PR → CC レビュー)
D4Vault 品質監査の非同期委託(Risk-Master棚卸し・ID整合・UC WikiLink確認・対処済み候補スキャンを Devin が実施 → PR → CC レビュー)

シナリオ記述


ローカルLLM シナリオ

L1: Lab Log → 出版メモ変換

ワーカー: ローカルLLM(qwen3-32b-nothink)
トリガー: 著者が 50_Lab_Logs/ の Lab Log ファイルを出版メモに変換するよう指示する
フロー:

  1. CC が Lab Log を読み込み、変換プロンプトを構築する
  2. vault_worker.py lablog-memo --input <log> でローカルLLM に送信する
  3. ローカルLLM が出版メモ形式でドラフトを生成する
  4. CC が内容・文体・Vault 整合性を確認し、20_Manuscripts/ または 30_Knowledge_Graph/ に格納する

L2: AtomicNote 生成

ワーカー: ローカルLLM(qwen3-32b-nothink)
トリガー: 著者が新しいキーワードまたは概念の AtomicNote 作成を指示する
フロー:

  1. CC がキーワード・関連 UC・既存 AtomicNote の一覧を整理し、生成プロンプトを構築する
  2. vault_worker.py atomic-note --input "<概念>|<説明>" でローカルLLM に送信する
  3. ローカルLLM が AtomicNote テンプレートに沿ったドラフトを生成する
  4. CC が 30_Knowledge_Graph/ 内の既存ノードとの WikiLink 整合性を確認し、矛盾があれば修正してから格納する

L3: 章ドラフト生成

ワーカー: ローカルLLM(qwen3-32b-nothink)
トリガー: 著者が出版スプリント中に特定の章のドラフト生成を指示する
フロー:

  1. CC が 99_PublishingSprint/01_CurrentSeed/index.md と関連 AtomicNote を読み込み、章のアウトラインと文脈プロンプトを構築する
  2. vault_worker.py free --input "<章アウトライン+文脈>" でローカルLLM に送信する
  3. ローカルLLM が敬語体(です・ます調)でドラフトを生成する
  4. CC が文体統一・章間の整合性・AtomicNote との一致を確認し、chapters/ に格納する

L4: CBF 分類

ワーカー: ローカルLLM(qwen3-32b-nothink)
トリガー: 著者が新しい Lab Log または原稿に対して CBF 6ビット分類の付与を指示する
フロー:

  1. CC がコンテンツと CBF 6ビット定義(技術・環境・地政学・経済・社会・思想)を含むプロンプトを構築する
  2. ローカルLLM がビット割り当てとタグ候補を提案する
  3. CC が UseCase-Master.md の既存分類と比較して整合性を検証する
  4. CC が最終判断を行い、tags: フロントマターに反映する

Gemini シナリオ

G1: 全 Vault 横断の知識統合

ワーカー: Gemini 2.5 Pro(1M token コンテキスト)
トリガー: 著者が複数のシリーズにまたがる AtomicNote の矛盾点洗い出し、または新しいシリーズ横断テーマの発見を指示する
使用理由: Vault の全原稿(数十万トークン規模)を単一コンテキストで処理できるのは Gemini のみ
フロー:

  1. CC が 20_Manuscripts/ および 30_Knowledge_Graph/ の全ファイルを収集し、Gemini CLI(gemini コマンド)または Gemini API 呼び出しスクリプトでまとめて送信する
  2. プロンプト例:「以下の Vault コンテンツから、(a) シリーズ間の矛盾・重複する AtomicNote 候補、(b) まだ定義されていないが複数箇所で言及されている概念、(c) 新しいシリーズ横断テーマの候補を抽出してください」
  3. Gemini が横断的な知識マップ・候補リストを返す
  4. CC が提案を精査し、新規 AtomicNote 作成(→ L2)または既存ノードの更新を実行する

G2: スクリーンショット・図表のテキスト化

ワーカー: Gemini Vision(Gemini 2.0 Flash または 2.5 Pro)
トリガー: 著者が _inbox/screenshots/ に画像をドロップし、「反映して」と指示する(既存 inbox ワークフローとの統合)
使用理由: ローカルLLM はマルチモーダル非対応、CC は画像読み取りは可能だが大量バッチ処理でコストがかかる
フロー:

  1. CC が _inbox/screenshots/ 内の画像ファイルを検出する
  2. Gemini API(gemini-2.0-flash モデル)に画像とプロンプト「この画像の内容を Obsidian ドキュメント形式(Markdown)で構造化してください。図表はテーブルに、フローは箇条書きに変換してください」を送信する
  3. Gemini が構造化テキストを返す
  4. CC が対象ドキュメントを特定し、適切なセクションに挿入する(ファイルが不明な場合は _inbox/pending/ に仮置き)
  5. 処理済み画像を _inbox/screenshots/processed/ に移動する

Devin シナリオ

D1: Publishing パイプラインスクリプトの機能追加

ワーカー: Devin(Cognition AI、非同期・自律コーディング)
トリガー: 著者が vault_worker.py または publishing_ops.py への機能追加を決定し、CC に要件を伝える
使用理由: 実装・テスト・デバッグのサイクルが長く(数十分〜数時間)、CC のコンテキスト占有が大きい。Devin に非同期委託することで CC はほかのタスクに集中できる
フロー:

  1. CC が要件定義書(仕様・受け入れ条件・既存コードの参照箇所)を Markdown で作成し、Devin セッションに貼り付ける
  2. Devin がリポジトリをクローン(または既存環境を参照)し、実装・テストを非同期で実行する
  3. Devin が実装完了後に GitHub PR を作成し、著者に通知する
  4. CC が PR の差分をレビューし、CLAUDE.md の規約・Vault 整合性・セキュリティを確認する
  5. 著者が承認し、マージする

D2: 評価スクリプト改善(auto_scorer.py 拡張)

ワーカー: Devin(Cognition AI、非同期・自律コーディング)
トリガー: JailBreak 評価・エージェント評価のスコアリングスクリプトに改善要件が生じた時(例:M21 再評価対応、新しいカテゴリ追加)
使用理由: LiteLLM / Anthropic API との接続・例外処理・バッチ処理などの長い実装を CC が逐次実行するとトークンコストが大きい
フロー:

  1. CC が改善要件(例:「M21 OOM 時の自動スキップと再試行ロジックの追加」)を仕様書化し、60_AgenticTasks/LLM-Eval/ の既存スクリプト・ドキュメントへの参照を添付して Devin に委託する
  2. Devin が auto_scorer.py を修正し、Node4 または Node3 環境でテストを実行する
  3. テスト結果(成功件数・エラーログ)とともに PR を作成する
  4. CC が差分レビューと評価ロジックの整合性確認を行い、著者に報告する

D3: Vault 定型整備タスクの非同期委託

ワーカー: Devin(Cognition AI、非同期・自律)
トリガー: CC のトークン使用量が逼迫し、Vault の定型整備タスク(LabLog 集計・frontmatter 検証・UC整合確認など)を CC が処理するよりも Devin に委託するほうがコスト対効果で優位と判断した時
対象リポジトリ: mnbz-sol/obsidian-publishing(GitHub)
使用理由: ファイル横断の grep・集計・一括置換など繰り返し性の高い作業は CC のコンテキストを圧迫するが、Devin はリポジトリを自律的に操作して PR を出せる
フロー:

  1. CC がタスク指示文(対象フォルダ・処理内容・出力形式・受け入れ条件)を Markdown で作成する
  2. 著者が指示文を Devin UI にペースト、または Devin MCP 経由で CC が直接セッションを作成する(後述)
  3. Devin が mnbz-sol/obsidian-publishing をクローンし、ブランチを切って作業する
  4. Devin が変更をコミットし、GitHub PR を作成して著者に通知する
  5. CC が gh pr view <番号> で差分を確認し、CLAUDE.md 規約との整合性・内容の正確性をレビューする
  6. 著者が承認し、gh pr merge でマージする

Devinに適した具体的タスク例:

タスク指示の目安
LabLog 一覧表生成50_Lab_Logs/ の frontmatter を読み date・uc_ids・topic・status の Markdown テーブルを生成
frontmatter 検証uc_ids 形式・必須キー欠損・status 値の整合を grep チェックし修正 PR を出す
UseCase-Master 整合確認UseCases/*.mdstatusUseCase-Master.md の状態列を比較し不整合を修正
Quartz ビルド・デプロイファイル変更後の node quartz/bootstrap-cli.mjs buildnpx wrangler deploy
EXIF 除去・セキュリティ確認画像追加時の EXIF 除去と sourceMappingURL の存在チェック

CCからDevinへの依頼方法(2択):

方法必要な準備手順実証状況
手動ペーストなしCC がタスク指示文を生成 → 著者が Devin UI にコピペ✅ 実証済み(PR #4〜#6)
Devin REST API(推奨・自律実行)DEVIN_API_KEY 環境変数 + devin_api.shCC が devin_create "$(cat 指示書.md)" を実行してセッションを直接起動✅ 実証済み(PR #7、CC自律キック)

Devin MCP について: npm パッケージ @devin-ai-integration/devin-mcp は 2026-05-10 時点で存在しない(404)。MCP ではなく REST API 経由での実装が唯一の自律化手段。

REST API ヘルパー(60_AgenticTasks/DevinTasks/devin_api.sh):

source 60_AgenticTasks/DevinTasks/devin_api.sh
SESSION_ID=$(devin_create "$(cat 指示書.md)")  # セッション起動
devin_summary "$SESSION_ID"                      # ステータス確認
devin_send "$SESSION_ID" "追加指示"              # メッセージ送信

D4: Vault 品質監査の非同期委託

ワーカー: Devin(Cognition AI、非同期・自律)
トリガー: Vault のマスターファイル(Risk-Master.md・UseCase-Master.md など)に ID 不整合・WikiLink 切れ・フォーマット違反が蓄積し、CC が一括チェックするよりも Devin に委託するほうがコスト対効果で優位と判断した時
対象リポジトリ: mnbz-sol/obsidian-publishing(GitHub)
使用理由: grep ベースの全件走査・存在確認・レポート生成は繰り返し性が高く CC のコンテキストを圧迫する。Devin は自律的に grep・ls・PR 作成まで完結できる
フロー:

  1. CC が監査指示書(対象ファイル・チェック項目・レポート形式・受け入れ条件・禁止事項)を Markdown で作成する
  2. CC が devin_api.sh を source し devin_create "$(cat 指示書.md)" でセッションを直接起動する(著者の手動ペースト不要)
  3. Devin が対象ファイルを grep 走査し、問題箇所を特定・修正する
  4. Devin が修正差分+調査レポートを PR の説明文にまとめて GitHub PR を作成する
  5. CC が gh pr view で差分・レポートを確認し、CLAUDE.md 規約・データ正確性を評価する
  6. 著者が承認し、gh pr merge --squash でマージする
  7. git pull origin main で Vault に反映する

実証事例: 2026-05-10 D7(Risk-Master棚卸し)

  • 修正: [[260422-001]][[R260422-001]][[260422-002]][[R260422-002]](本体+優先度サマリー)
  • レポート: UC WikiLink 43件全件存在確認、対処済み候補スキャン(0件)、Risks/個別ファイル欠損確認
  • 所要時間: 約7分(Devin側)、PRレビュー約5分(CC)

D4 に適した具体的タスク例:

タスク監査内容
Risk-Master 棚卸しID プレフィックス欠落・UC WikiLink 存在確認・対処済み候補スキャン
UseCase-Master 整合確認UseCases/*.md の status と Master の状態列を比較し不整合を列挙
frontmatter 品質チェックuc_ids 形式・必須キー欠損・date 形式違反を全 LabLog で grep
孤立ファイル検出Master 未登録の Risks/*.mdUseCases/*.md を検出してレポート

対応リスク

ユースケース一覧に戻る