flowchart LR
A["① 調べる<br>(Explore)"] --> B["② 計画する<br>(Plan)"]
B --> C["③ 実行する<br>(Implement)"]
C --> D["④ 確認する<br>(Verify)"]
第4章 計画しないAIは迷う
4.1 導入:メモなしの文化祭準備
文化祭で模擬店を出すことになった。やるべきことは次の8つである。
- メニューを決める
- 材料の一覧を作る
- 買い出しに行く
- ポスターを作る
- 当日のシフト表を作る
- 調理手順を確認する
- テーブルと椅子を借りる
- 会計の仕組みを決める
この8つを、メモもホワイトボードも使わず、頭の中だけで管理するとしよう。
最初はメニューを考え始める。途中で「そういえばポスターも早めに」と思い出し、ポスターに手をつける。デザインを考えている最中に「材料の値段を先に調べないとメニューが決まらないのでは」と気づき、買い出しリストに移る。買い出しリストを書いている途中で「テーブルは予約制だから急がないと」と焦り、テーブルの手配に飛ぶ——。
結果、どの作業も中途半端なまま時間だけが過ぎる。
これは AI にも起きる。第2章でエージェントループを、第3章で道具を学んだ。道具を持ったループは回る。しかし、何をどの順で進めるかの見通しがなければ、ループは空転する。あちこちに手を出しては中断し、同じ作業を繰り返し、終わったはずの作業をまたやり直す。
この問題を解決するのが計画(todo)——やるべきことを書き出し、状態を管理する仕組み——である。
4.2 なぜ計画が必要か
計画がない状態で AI が長い仕事に取り組むと、何が起きるかを整理する。
問題1:現在地の喪失
「いま8つのうちどこまで終わったか」がわからなくなる。文脈が長くなると、AI 自身も以前の作業を見失う。
問題2:重複作業
同じ調べ物を2回する、同じファイルを2回読むといった無駄が発生する。
問題3:順序の無視
メニューが決まっていないのに材料リストを作り始める、のように依存関係を無視した作業が起きる。
問題4:完了の判断ができない
何をもって「全体が終わった」とするかが不明確なまま、ループが回り続ける。
これらの問題に対処するために、仕事の進め方を4つの段階に分ける。
① 調べる:仕事の全体像を把握する。何が必要か、何がすでにあるか、どこに依存関係があるかを確認する。文化祭の例なら、会場のルール、予算、メンバーの人数を調べる段階である。
② 計画する:調べた結果をもとに、やるべきことを小さな単位に分解し、順序をつける。
③ 実行する:計画に沿って、1つずつ作業を進める。
④ 確認する:実行した結果が計画通りかを検証する。問題があれば②に戻って計画を修正する。
この4段階は、物理実験の進め方と同じ構造を持っている。文献調査(調べる)→ 実験計画書の作成(計画する)→ 測定の実行(実行する)→ データの検証と考察(確認する)。物理実験で計画書なしにいきなり測定を始める人はいない。AI の仕事も同じである。
4.3 ToDoは「やることメモ」ではなく「状態機械」
計画を管理する最も基本的な仕組みは、やるべきことの一覧——ToDo リスト——である。しかし、単に「やること」を列挙するだけでは不十分である。各タスクの「状態」を管理することが核心である。
各タスクは、次の3つの状態のいずれかを持つ。
stateDiagram-v2
pending : 未着手 (pending)
in_progress : 進行中 (in_progress)
done : 完了 (done)
[*] --> pending
pending --> in_progress : 作業開始
in_progress --> done : 作業終了
そして、ここに重要なルールがある。
単独の担当が作業するとき、進行中のタスクは原則1つにする。
なぜか。4.1節の文化祭準備で起きた問題を思い出してほしい。複数の作業を同時に進めようとしたから、どれも中途半端になった。進行中を1つに絞れば、「いま何をしているか」が常に明確になる。(複数の担当がチームで動く場合は、担当ごとに1つずつ進行中を持つ。これは第8章・第10章で扱う。)
文化祭準備を ToDo 板で管理すると、次のようになる。
| タスク | 状態 |
|---|---|
| メニューを決める | 進行中 |
| 材料の一覧を作る | 未着手 |
| 買い出しに行く | 未着手 |
| ポスターを作る | 未着手 |
| 当日のシフト表を作る | 未着手 |
| 調理手順を確認する | 未着手 |
| テーブルと椅子を借りる | 未着手 |
| 会計の仕組みを決める | 未着手 |
メニューが決まったら「完了」に移し、次に進める。
| タスク | 状態 |
|---|---|
| メニューを決める | 完了 |
| 材料の一覧を作る | 進行中 |
| 買い出しに行く | 未着手 |
| ポスターを作る | 未着手 |
| 当日のシフト表を作る | 未着手 |
| 調理手順を確認する | 未着手 |
| テーブルと椅子を借りる | 未着手 |
| 会計の仕組みを決める | 未着手 |
この仕組みがもたらす効果は3つある。
- 現在地が見える:進行中のタスクがそのまま「いまやっていること」を示す
- 完了が数えられる:全体の何割が終わったかが一目でわかる
- 迷走を防ぐ:進行中が1つだけなので、別の作業に飛びにくい
物理の言葉を借りれば、ToDo 板は系の状態を外部に書き出した状態表示器である。AI の内部状態(文脈の中で何を覚えているか)に頼るのではなく、外部の明示的な記録で状態を管理する。この「内部状態を外に出す」発想は、第6章の文脈管理でも再び現れる。
4.4 良い計画と悪い計画
計画を立てるだけでは十分ではない。計画の質が、作業の効率と正確さを左右する。
良い計画と悪い計画を比較する。
| 観点 | 悪い計画 | 良い計画 |
|---|---|---|
| 粒度 | 「レポートを書く」 | 「データを表にまとめる」「考察を300字で書く」「参考文献を3件記載する」 |
| 完了条件 | なし(「終わったら終わり」) | 「表にデータが10行入っている」「考察が300字以上」 |
| 検証手段 | なし | 「表の行数を数える」「文字数を確認する」 |
| 順序 | 思いついた順 | 依存関係に基づく順序(データ整理 → 考察 → 参考文献) |
| 見積もり | なし | 各タスクの大まかな分量がわかる |
ここで3つの原則を取り出す。
原則1:タスクは「動詞+対象+完了条件」で書く
「レポート」ではなく「実験データを10行の表にまとめる」。動詞(まとめる)、対象(実験データ)、完了条件(10行の表)が揃っていれば、AI も人間も「終わったかどうか」を判定できる。
原則2:依存関係を意識する
材料リストはメニューが決まらないと作れない。買い出しは材料リストがないとできない。このような依存関係を無視した順序で計画を立てると、途中で手戻りが発生する。
原則3:完了条件に検証手段をつける
「考察を書く」だけでは、何をもって完了とするかが曖昧である。「300字以上の考察を書き、測定値と文献値の比較を含む」のように検証可能な条件をつければ、確認の段階(4.2節の④)で判断できる。
4.5 計画は更新するもの
計画を立てたら、それに従って最後まで進めればよい——と思いたくなるが、実際にはそうならない。
実行の途中で新しい事実が見つかることがある。たとえば文化祭準備で、テーブルを借りようとしたら「今年は貸出方式が変わっていて、1週間前に申請が必要」とわかった場合、計画の順序を変える必要がある。
AI のエージェントでも同じことが起きる。ファイルを読んでみたら想定と違う構造だった。検索してみたら必要な情報が別の場所にあった。こうした発見を受けて、計画を修正するのは当然のことである。
ここから導かれる設計原則は次の通りである。
計画は固定の文書ではなく、実行の中で更新される生きた記録である。
具体的には、次の更新が起こりうる。
- タスクの追加:予想外の作業が見つかった
- タスクの削除:不要になった作業を取り除く
- 順序の変更:依存関係が変わった
- タスクの分割:1つのタスクが大きすぎたので細分化する
この「計画の更新」を恐れる必要はない。計画の目的は予定通りに進めることではなく、いまどこにいて、次に何をすべきかを常に見える状態に保つことである。
4.6 計画が過剰になるとき
ここまで計画の重要性を論じてきたが、注意すべき反面もある。すべての仕事に精緻な計画が必要なわけではない。
次のような場合、計画を立てること自体が非効率になる。
- 小さく明確な仕事:「この段落を要約せよ」のような1ステップで終わる作業に、わざわざ ToDo 板を作るのは過剰である
- 探索的な仕事:何をすべきかがまだわからない段階で詳細な計画を書いても、すぐに全面改訂になる。まず調べてから計画する(4.2節の①→②の順序)
- 計画のための計画:計画を精緻にすることに時間を使いすぎ、実行に移れない状態。物理実験で実験計画書の体裁ばかり整えて、測定を始めない学生に似ている
計画の目的は、仕事を遅くすることでも、管理を増やすことでもない。ループが空転して遠回りするのを防ぐためにある。計画を立てるコスト(時間と手間)が、計画なしで迷走するコストを上回るなら、その計画は過剰である。
目安として、次の判断基準を使うとよい。
| 仕事の性質 | 計画の必要度 | 理由 |
|---|---|---|
| 1ステップで終わる | 不要 | 計画を立てるまでもなく完了する |
| 2〜3ステップ、依存関係なし | 最小限 | 箇条書き程度で十分 |
| 4ステップ以上、依存関係あり | 必要 | 順序と状態の管理が効率を左右する |
| 未知の領域で手探り | まず調査、その後に計画 | 情報が足りない段階で計画しても無駄になる |
4.7 第5章への橋渡し
本章では、AI が長い仕事を安定して進めるための計画の設計を学んだ。道具(第3章)と計画(本章)が揃えば、AI は「何を使って」「何の順に」仕事を進めるかが定まる。
しかし、もう1つ足りないものがある。知識である。
AI がループの中で判断を下すには、判断の材料となる情報が必要である。その情報のうち、いつも必要なものと、特定の場面でだけ必要なものがある。たとえば文化祭準備で、「火を使う場合は消火器の位置を確認する」というルールは調理メニューの場合にだけ必要であり、ポスター作りには関係ない。
すべての知識を最初から AI に渡しておくのか、それとも必要なときだけ参照させるのか——この設計が第5章の主題である。
演習:ToDo板でAIを迷子にしないロールプレイ
形式:4人1組、25分
グループの4人が以下の役割を分担する。
| 役割 | やること |
|---|---|
| AI 役 | 計画に従って作業を進める。次にやることを宣言する |
| ToDo管理役 | ToDo 板(紙またはホワイトボード)を操作する。状態の更新、タスクの追加・削除を行う |
| 実行役 | AI 役が宣言した作業の結果を返す(第2章の「道具係」と同じ) |
| 監査役 | 計画通りに進んでいるか、進行中が1つだけかを確認する |
進め方:
以下の課題から1つを選ぶ(または自分で設定してよい)。
- 「期末レポートの構成を決め、参考文献を3件集め、序論の下書きを作る」
- 「来月の合宿の宿・交通・食事を手配する」
- 「グループ発表のスライド10枚の内容を決め、役割分担し、リハーサルの日程を決める」
まず全員で5分間、課題を小タスクに分解して ToDo 板に並べる(4.2節の①②に相当)
AI 役がタスクを1つずつ進める。ToDo管理役が状態を更新する。実行役が結果を返す。監査役は「進行中が2つ以上になっていないか」「順序が計画通りか」を確認する
途中でイベントカードを1枚引く(教員が用意する)。
- 「参考文献が図書館にない」「宿が満室だった」「メンバーが1人休む」のように、計画の変更を迫る出来事が書かれている
- ToDo管理役が計画を修正し、AI 役は修正後の計画に従う
振り返りの問い:
- イベントカードで計画を変更したとき、何が大変だったか
- 進行中を1つに保つのは難しかったか。破りたくなった場面はあったか
- ToDo 板がなかったら、どこで迷子になっていたと思うか
章末課題
課題:自分の実際の課題を AI 向け ToDo 板に変換する
いま取り組んでいる(または近く取り組む予定の)大学の課題・プロジェクトを1つ選び、AI に任せるための ToDo 板を設計せよ。
必須項目:
- タスク一覧(5〜10個):各タスクを「動詞+対象+完了条件」の形式で記述する
- 状態の初期設定:すべて「未着手」で始め、最初に進行中にするタスクを1つ選んで理由を書く
- 依存関係:タスク間の順序制約を矢印で示す(例:「A → B」は A が終わらないと B に着手できない)
- 検証手段:各タスクの完了をどうやって確認するかを1行で書く
- 計画変更の想定(1つ以上):「もし〜だったら、計画をこう変える」を記述する
提出形式:A4 1〜2枚(ToDo 板の図と説明文300〜500字)
評価観点:
- タスクが「動詞+対象+完了条件」で書かれているか
- 依存関係が明示されており、順序に矛盾がないか
- 検証手段が具体的か
- 計画変更の想定が現実的か
- 第2章(ループ)、第3章(道具)の課題と整合しているか(同じ仕事を発展させているか)
第4章のまとめ
本章では、AI が長い仕事を安定して進めるための計画の設計を学んだ。
要点を整理する。
- 道具があっても計画がなければ、AI は迷走する。計画は「いまどこにいて、次に何をするか」を見える化する仕組みである
- 仕事の進め方は4段階に分かれる:調べる → 計画する → 実行する → 確認する
- ToDo は単なるメモではなく、状態(未着手・進行中・完了)を管理する仕組みである。進行中は常に1つだけにする
- 良い計画のタスクは「動詞+対象+完了条件」で書かれ、依存関係と検証手段を持つ
- 計画は固定の文書ではなく、実行の中で更新される生きた記録である
- すべての仕事に精緻な計画が必要なわけではない。計画のコストと迷走のコストを比較する
次の第5章では、AI が判断の材料として参照する知識の管理を扱う。すべての知識を最初から渡すのか、必要なときだけ参照させるのか。この設計が、AI の作業効率と文脈の管理に直結する。