第7章 役割分担でAIを強くする

7.0 Part I の振り返り

第1章から第6章で、単独の AI を安定して働かせる設計を一通り学んだ。ここまでの道具立てを1枚の図にまとめる。

flowchart TD
    subgraph P1["基盤"]
        C1["第1章 AIを系として見る"] --> C2["第2章 エージェントループ"]
    end
    subgraph P1b["道具と知識"]
        C3["第3章 道具の設計"] --> C4["第4章 計画の設計"]
        C4 --> C5["第5章 知識の設計"]
        C5 --> C6["第6章 文脈の設計"]
    end
    C2 --> C3
    C6 --> P2["Part II へ<br>複数のAIが役割分担して働く設計"]
    style P2 fill:#f9f,stroke:#333
図 1: Part I のまとめ:1つのAIが単独で仕事をする設計

Part I で設計した「1つの AI」は、道具・計画・知識・文脈が揃っており、短い仕事なら安定して進められる。しかし、仕事が大きくなると限界が見えてくる。調査に時間をかけると文脈が膨らみ(第6章)、異なる専門分野の情報が混在すると判断がぶれる。

Part II(第7章〜第12章)では、この限界を構造の設計で乗り越える方法を学ぶ。本章はその入口として、「役割分担」を導入する。

ノート本章から手順モデルとテンプレートが登場する

第7章以降では、設計の手順をより具体的に示す。概念ごとに手順モデル(日本語で書いた5〜7行の手順)やテンプレート(受け渡し票、権限判定表など)を使い、実際の作業手順を確認する。

7.1 導入:1人で全部やるか、分担するか

ある物理実験の授業で、「高校生向けに振り子の実験を紹介する1枚資料」を作る課題が出た。この仕事には、少なくとも次の4つの要素がある。

  1. 何を紹介するか調べる(振り子の周期、等時性、ガリレオの実験など)
  2. 説明の順番を考える(何から始めて、どう展開するか)
  3. 誤りがないか確認する(数値や説明の正確さ)
  4. 読みやすい形にまとめる(最終稿として統合する)

まず、1人で全部を順番にやる場合を考える。調べ物をしながら順番を考え、書きながら確認し、直しながらまた調べ——頭の中で全部を同時に管理する必要がある。第6章で学んだ通り、これは文脈の肥大化そのものである。

次に、4人で分担する場合を考える。「調査担当」「構成担当」「点検担当」「最終まとめ担当」に分ければ、各自は自分の仕事だけに集中できる。調査担当は資料を読むことだけに、点検担当は誤りを探すことだけに集中する。

ここで気づくべきことがある。分担の利点は人数が増えることではない。頭の中で同時に扱う対象が減ること——つまり、文脈の衝突が減ること——が利点である。

この発想を AI に適用したのが、サブエージェント(subagent)である。

7.2 サブエージェントとエージェントチームの区別

「役割分担」と聞くと、複数の AI が対等に連携するイメージを持つかもしれない。しかし、本章で扱うのはもう少し限定的な構造である。先に区別しておく。

表 1: サブエージェントとエージェントチームの区別
概念 構造 本書での扱い
サブエージェント 1つの司令塔が、必要に応じて別担当を呼び出す。同じセッション内で動く 本章で扱う
エージェントチーム 複数の独立したセッションが、共有タスクや相互連絡で連携する 第9章以降で扱う

本章で学ぶサブエージェントは、1人の司令塔が、必要に応じて別担当を一時的に呼び出す構造である。呼び出された別担当は仕事を終えると結果を返し、退場する。学校のグループワークで言えば、班長が「この部分だけ調べてきて」と頼み、調べた結果を受け取る関係に近い。

7.3 サブエージェントの本質は「新しい作業机」

サブエージェントの最も重要な特徴は、独立した文脈(作業机)を持つことである。

flowchart TD
    P["司令塔<br>作業机:全体の目標、進捗、各担当からの要約"]
    P -- "「振り子の等時性について調べて」" --> C["サブエージェント(調査担当)<br>作業机:調査の指示だけ<br>司令塔の会話履歴は見えない"]
    C -- "3行の要約を返す" --> P
図 2: 司令塔とサブエージェントの関係

この図が示す設計のポイントは3つある。

ポイント1:サブエージェントは新しい作業机から始める

本書では、文脈の独立性を重視する設計として、サブエージェントは司令塔の会話履歴を引き継がない前提で議論する。空の作業机に、司令塔から渡された指示だけが載っている。これにより、調査担当は「調査」だけに集中できる。司令塔の過去のやり取り——失敗した試行、却下した案、雑談——は一切見えない。

ポイント2:返すのは要約だけ

サブエージェントが調査のために10個のファイルを読んだとしても、司令塔に返すのはその要約だけである。10個のファイルの全文が司令塔の作業机に載ることはない。これが第6章で学んだ「文脈の膨張」を防ぐ核心的な仕組みである。

ポイント3:役割分担は「人格」ではなく「作業机」の分離

サブエージェントは「性格の違う AI キャラクター」ではない。同じ AI が、独立した作業机で、限定された仕事をするだけである。「別人格」ではなく「別の机」——本書ではこの見方をサブエージェントの設計原則とする。

7.4 役割の設計:調査・構成・点検・統合

サブエージェントにどんな役割を割り当てるかは、仕事の性質に応じて設計する。ここでは4つの典型的な役割を示す。

表 2: 典型的な役割と渡すもの・返すもの
役割 やること 渡すもの 返すもの
調査担当 資料を読み、必要情報を集める 問い+見る範囲 「何がわかったか」の要約
構成担当 情報の並べ方を決める 目的+対象読者+調査結果 説明の骨組み
点検担当 誤り・抜け・わかりにくさを探す 完成稿+点検の観点 誤り候補+修正案
統合担当(司令塔) 各担当の結果を受け取り、1つの形にまとめる 全体目標 最終成果物

ここで重要なのは、各担当が返すものが明確に決まっていることである。調査担当は「読んだもの全部」ではなく「何がわかったか」を返す。点検担当は「感想」ではなく「誤り候補と修正案」を返す。

各担当に渡すものも限定する。

  • 調査担当には「問い」と「見る範囲」を渡す——全体目標や他の担当の進捗は不要
  • 点検担当には「完成稿」と「点検の観点」を渡す——作成の経緯は不要
  • 構成担当には「目的」と「対象読者」を渡す——調査の生データは不要

これは「必要な観測装置だけを持って実験ブースに入る」感覚と同じである。不要な機材を持ち込むと、作業台が狭くなって効率が下がる。

7.5 良い分担と悪い分担

役割分担にも質がある。良い分担と悪い分担を比較する。

表 3: 良い分担と悪い分担の比較
観点 悪い分担 良い分担
境界 「とりあえず全部読んで全部教えて」 「等時性について3つの要点を返して」
戻り値 何が返ってくるか不明 「3行の要約」「誤り候補+修正案」と明示
範囲 調査も構成も文章化も確認も全部任せる 調査だけ、点検だけ、と限定
司令塔の役割 「任せたから後は知らない」 結果を受け取り、統合し、最終判断する

悪い分担の共通点は、別担当にしたのに境界が曖昧なことである。「全部任せる」なら分ける意味がない。分担の利点は文脈の分離にあるのだから、各担当の範囲を絞るほど効果が出る。

もう1つ注意すべき点がある。小さすぎる仕事は分けないほうがよい。

分担にはコストがある。指示を作り、結果を受け取り、統合する——この手間が、分担で得られる利点を上回るなら、1人(1つの AI)でやったほうが速い。第4章で「すべての仕事に精緻な計画が必要なわけではない」と学んだのと同じ論理である。

目安として、次の判断基準を使うとよい。

表 4: 分担の必要度の判断基準
仕事の性質 分担の必要度
1〜2ステップで終わる 不要。分担のコストが利点を上回る
調査量が多い(ファイル10個以上読む等) 有効。調査担当に任せると主文脈が軽くなる
異なる専門性が必要 有効。各担当に必要な知識だけ渡せる
最後に点検が必要 有効。書いた本人とは別の視点で確認できる

7.6 手順で見る:最小のサブエージェント

ここまでの概念を、手順モデルで確認する。「司令塔が調査担当を呼び出し、要約を受け取る」最小の流れは、次の5ステップで記述できる。

手順モデル:サブエージェントの起動と回収

  1. 司令塔が、サブエージェントに渡す指示使える道具を決める
  2. サブエージェントは空の作業机(新しい文脈)から始まる。司令塔の会話履歴は見えない
  3. サブエージェントが指示に基づいてループを回す(第2章のエージェントループ)。ループには安全上限を設ける
  4. サブエージェントは結果の要約だけを司令塔に返す。途中経過は返さない
  5. 司令塔が要約を受け取り、次の担当に渡すか、最終稿を統合する

この手順が示しているのは、概念図で描いた構造そのものである。

  1. 空の作業机から始まる:サブエージェントは司令塔の過去のやり取りに影響されない(7.3節のポイント1)
  2. 使える道具を限定する:調査担当には検索と閲覧だけ、点検担当には閲覧だけ、というように道具を絞る(7.4節の「渡すもの」)
  3. 要約だけ返す:途中で読んだ10個のファイルの全文は司令塔に渡らない(7.3節のポイント2)
  4. ループに安全上限を設ける:無限に回らせない(第2章の停止条件と同じ発想)
ノート途中経過を全部共有しなくても仕事は進む

調査担当が10個のファイルを読んだとしても、司令塔に返すのは3行の要約だけである。途中経過の詳細は子の作業机に閉じ、司令塔の文脈を汚さない。この「結論だけ受け取る」設計が、長い仕事を安定させる鍵である。

7.7 第8章への橋渡し

本章では、大きな仕事を別担当に切り分ける「サブエージェント」の設計を学んだ。調査・構成・点検・統合の役割を分け、各担当は独立した作業机で働き、要約だけを返す。

しかし、サブエージェントを使い始めると、新たな問題が浮かぶ。担当同士の仕事には順序がある。

点検担当は、構成担当が骨組みを作り終わるまで動けない。構成担当は、調査担当の要約が届くまで動けない。つまり、仕事の間に依存関係がある。

第4章で学んだ ToDo 板は「タスクの一覧と状態」を管理した。しかし、タスク同士の「前後関係」——「A が終わらないと B に着手できない」「C と D は同時に進められる」——は管理していなかった。

次の第8章では、この依存関係を設計する方法と、「待ち時間を別の仕事に使う」並列処理の考え方を扱う。

演習:紙の上でサブエージェントを動かす

形式:4人1組、25〜30分

テーマ:以下から1つ選ぶ(または自分で設定してよい)。

  • 「高校生向けに、慣性の法則を説明するミニ資料を作る」
  • 「留学生向けに、大学の図書館の使い方を説明する1枚資料を作る」
  • 「新入生向けに、実験レポートの書き方ガイドを作る」

役割分担

表 5: ロールプレイの役割分担
役割 やること ルール
司令塔 全体目標を決め、各担当に指示を出し、最後に統合する 各担当には「何を調べるか」「何を確認するか」だけを紙に書いて渡す
調査担当 指示に基づいて情報を集める(教科書・メモ・記憶を使ってよい) 司令塔には3行以内の要約だけを返す。長いメモは渡さない
構成担当 調査の要約を受けて、説明の順番と骨組みを作る 箇条書き5項目以内で骨組みを返す
点検担当 構成案を読み、「誤り候補」「不足」「改善案」を指摘する 指摘は3点以内。改善案も添える

進め方

  1. 司令塔が目標を宣言する(2分)
    • 「○○向けに、△△を説明する1枚資料を作る」
  2. 司令塔が調査担当に指示を出す(紙で渡す)(1分)
  3. 調査担当が調べて3行要約を返す(5分)
  4. 司令塔が構成担当に要約を渡す(1分)
  5. 構成担当が骨組みを作って返す(5分)
  6. 司令塔が点検担当に骨組みを渡す(1分)
  7. 点検担当が指摘を返す(5分)
  8. 司令塔が統合して最終案を発表する(5分)

振り返りの問い

  • 調査担当の「3行要約ルール」は厳しかったか。もっと長く書きたかった場面はあるか
  • 司令塔にとって、「何をお願いするか」を決めるのは簡単だったか
  • 全員が同じ情報を共有しなくても、仕事は進んだか。情報が足りなかった場面はあるか
  • 分担せずに1人でやったほうが速かったと思う場面はあるか。それはなぜか

発展(アプリで試す):Claude Desktop で、同じプロジェクト内に2つのチャットを開き、それぞれに「調査担当」と「点検担当」の役割指示を与えて同じ原稿を検討させよ。2つのチャットの結果を比較し、どちらの指摘がより有効だったかを記録せよ。

章末課題

課題:自分の学習支援AIに、2〜3人の別担当を設計する

第2章以降の課題で設計してきた AI を発展させ、主担当(司令塔)とサブ担当2〜3人の役割分担を設計せよ。

想定する仕事の例

  • 実験レポート作成支援(調査担当+構成担当+点検担当)
  • 発表資料構成支援(文献調査担当+スライド構成担当+発表練習担当)
  • 卒研の文献整理支援(論文検索担当+要約担当+比較表作成担当)
  • 就活自己紹介文支援(自己分析担当+文章作成担当+添削担当)

必須項目

  1. 主担当(司令塔)の役割:何を保持し、何を判断するか(1〜2文)
  2. サブ担当2〜3人の設計:各担当について以下を記述する
    • 役割名
    • 何を入力として渡すか
    • 何を返させるか(戻り値の形式)
    • 何は渡さないか(限定の理由)
  3. 分担の根拠:なぜこの分け方にしたか。1つにまとめず分ける利点は何か(200字程度)
  4. 役割図:司令塔→各担当→戻り値の流れを図で示す
  5. 人間が確認すべき点:最終成果物のうち、人間が目を通すべき箇所はどこか

提出形式:A4 1〜2枚(役割図を含める)

評価観点

  • 役割の境界が明確か(各担当の範囲が重なりすぎていないか)
  • 「要約だけ返す」設計になっているか(途中経過を全部返す設計になっていないか)
  • 司令塔が何を保持し、何を判断するかが見えているか
  • 分担の必要性が具体的か(分けなくてもよい仕事を無理に分けていないか)
  • 第5章(知識管理)、第6章(文脈管理)の考え方と整合しているか

第7章のまとめ

本章では、大きな仕事を別担当に切り分けるサブエージェントの設計を学んだ。

要点を整理する。

  1. 役割分担の利点は「人数を増やすこと」ではなく、文脈の衝突を減らすことにある
  2. サブエージェントは、司令塔が必要に応じて呼び出す別担当である。独立した作業机(文脈)を持ち、仕事が終わったら要約だけを返す
  3. サブエージェントの本質は「別人格」ではなく「別の作業机」である。同じ AI が、独立した文脈で、限定された仕事をする
  4. 典型的な役割は調査・構成・点検・統合の4つ。各担当に渡すものと返すものを明確に決めることが重要である
  5. 良い分担は境界と戻り値が明確。悪い分担は「全部任せる」。小さすぎる仕事は分けないほうがよい
  6. 手順で見ると、子は空の作業机から始まり、限定された道具で働き、要約だけを返す構造になっている

次の第8章では、タスク間の依存関係の設計と、待ち時間を別の仕事に使う並列処理の考え方を扱う。