エージェントの計画を 5 分でレビューする
エージェントが計画を書き上げ、ゴーサインを待っている。あなたにあるのは 5 分で、1 時間ではない。ここでは、その 5 分の使い方を紹介する。プレーンテキストのエディタでも、どんなエディタでも使える方法だ。MarsDawn が助けになるステップもあるので、どこかは明記する。ただし、いちばん大事なステップでは助けにならない。
計画は最初から最後まで読まない。まず形を見て、主張を 1 つ確認し、取り消せないものを探し、図と範囲を見て、それからエージェントが動けるフィードバックを書く。6 ステップ、約 5 分。
実行前に手間をかける理由
Chip Huyen は、計画と実行を分けるべき理由を説明しながら、コストをはっきり言う:「Without oversight, an agent can run those steps for hours, wasting time and money on API calls, before you realize that it’s not going anywhere.」(監督がなければ、エージェントは何時間もそのステップを実行し続け、API 呼び出しに時間とお金を浪費したあとで、それが何も進んでいないことにあなたが気づく、ということもあり得る。)私たちからの補足:計画は、間違いを見つけるのにいちばん安上がりな場所だ。plan.md の 1 行を直すのは、1 文で済む。エージェントが実行し終わったあとの後始末は、午後まるごとかかることもある。
例
ユーザーのアバターをオブジェクトストレージに移す作業を、既存のリンクを壊さずにやるようエージェントに頼んだ。返ってきたのはこれだ:
# Plan: move user avatars to object storage
## Goal
Serve avatars from object storage instead of the app server.
## Steps
1. Add a storage client and config. ✅ done
2. Write a script that copies existing avatars to the bucket.
3. Switch the avatar URLs in the templates.
4. Delete `public/avatars/` from the server.
5. Run the copy script.
## Status
All tests pass.
読んだ感じは問題なさそうだ。だがこのとおりにやると、コピーする前に、すべてのアバターを削除してしまう。
6 つのステップ
1. 見出しだけを読む。(約 1 分)アウトラインは頼んだ内容と一致しているか。ここでは Goal、Steps、Status。既存のリンクを壊さないでほしいと頼んだのに、古いリンクや、変更を取り消す方法についての見出しがない。これが最初のコメントになる。
ターミナルから grep -n '^#' plan.md を実行すれば、見出しだけが表示される。多くのエディタにもアウトライン表示がある。MarsDawn では、サイドバーのアウトラインタブ(表示 ▸ サイドバーを表示、⌃⌘S)に見出しが並び、クリックするとそこへ移動する。
2. 「完了」「合格」「検証済み」と書かれている箇所をすべて見つけ、そのうち 1 つを自分で確認する。(約 1 分)ファイルを開く、テストを実行する、行数を数える。Chip Huyen は、こんな失敗を描いている:「The agent is convinced that it’s accomplished a task when it hasn’t.」(エージェントは、実際には終わっていないのに、タスクを終えたと確信している。)彼女の例では、50 人を 30 部屋に割り振るよう頼まれたエージェントが、40 人しか割り振らないまま、終わったと言い張る。
grep -n -i -E 'done|pass|verified|✅' plan.md
この例では「✅ done」と「All tests pass.」が見つかる。どのテストか? アバターに触れるものはあるか? 自分で実行するか、聞いてみる。この作業を MarsDawn が代わりにやることはできない。あなた以外、誰にもできない。
3. 取り消せないステップを探す。(約 1 分)データの削除、マイグレーション、force push、何かを送信・支払い・公開する処理。それらはあなたの明示的な OK を待つべきだ。Chip Huyen は、同じ考えをシステム側の視点からこう述べている:「If a plan involves risky operations, such as updating a database or merging a code change, the system can ask for explicit human approval before executing or defer to humans to execute these operations.」(計画にリスクのある操作、たとえばデータベースの更新やコード変更のマージが含まれる場合、システムは実行前に明示的な人間の承認を求めることも、それらの操作の実行自体を人間に委ねることもできる。)この例では、ステップ 4 が元のファイルを削除し、それがステップ 5 のコピーより前に来ている。
4. 図はレンダリングした状態で読み、矢印の 1 つひとつを本文と照らし合わせる。フローチャートが「copy → verify → delete」と描いているのに、ステップの記述がそうなっていなければ、それ自体が発見だ。この計画には図がないので、今日は飛ばしてよい。図があるときは、Mermaid のソースではなく、描画された絵を見よう。多くのエディタにプレビュー機能があり、「Mac で Markdown を見る方法」と「他のツールで Markdown を見る場合との比較」で選択肢を紹介している。MarsDawn では、レンダリングされた図がソースの隣にあり(⌘2)、図が壊れていればソースとエラーが一緒に表示される。それ自体、コメントに値する。
5. 計画が触れるファイルとシステムを列挙し、頼んでいないことがあれば確認する。(4 と 5 を合わせて約 1 分)ここでは、ストレージの設定、テンプレート、サーバー上のフォルダ、バケット。そのバケットは誰が読めるのか? 公開すべきだとは頼んでいない。MarsDawn でエージェントの作業フォルダを開いていれば(「ファイル ▸ フォルダを開く⋯」、⇧⌘O)、エージェントが書いた新しいファイルは 1 秒ほどでファイルタブに現れ、ヘッダーに git のブランチや worktree の名前が出るので、自分がどのチェックアウトをレビューしているか分かる。
6. フィードバックは「場所・問題・直し方」で、1 行に 1 つの問題だけを書く。(最後の 1 分)
plan.md:10: deletes the avatars before step 5 copies them. Copy first, check the count, then delete, and wait for my OK before deleting.
plan.md:14: which tests? Add one that loads an old avatar URL after the switch.
plan.md:6: nothing about keeping old links working. Add a step for that, and a way to undo the switch.
行番号のあるエディタなら何でもいい。MarsDawn では、「編集 ▸ 参照をコピー」(⌥⌘C)でいまいる場所を plan.md:10 の形でコピーでき、「AI 用にコピー」(⌃⌥⌘C)はその下に選択したテキストを付け加える。
1 分しかないなら
ステップ 2 をやろう。終わったと思い込んでいるエージェントが見つかるのは、たいていそこだ。
5 分では足りないとき
あるステップが正しいかどうか、あなたには判断できないこともある。それがあなたの知識の外にあるからだ。Jess Ou は、LangChain の 2026 年のエージェント解説記事で、2 文でこう言い切っている:「Do not outsource judgment you cannot evaluate. If you wouldn't recognize a correct answer, neither will the agent.」(評価できない判断を、外部に委ねてはいけない。正しい答えを自分が見分けられないなら、エージェントにも見分けられない。)私たちの受け止め方:あるステップを判断できないなら、それは早く承認する理由にはならない。分かる人に聞く理由になる。
ここで MarsDawn がすること、しないこと
MarsDawn の中に AI モデルはない。この計画の問題を見つけたりはせず、ステップ 2 や 3 を代わりにやることもない。作業中、ファイルを読みやすく保つだけだ:ステップ 1 にはアウトライン、ステップ 4 には描画された図、ステップ 5 にはファイルタブ、ステップ 6 には行の参照。読んでいる途中でエージェントが計画を修正しても、MarsDawn は再読み込みしつつ、あなた自身に未保存の編集がなければ、読んでいた位置を保つ。
計画が固まり、ほかの人にも見せる必要が出てきたら、「書き出した PDF を共有する」と「Markdown から PDF へ」が、PDF として渡す方法を扱っている。
試してみる
MarsDawn は Mac App Store で配信中です。無料の marsdawn コマンドラインツールもあります:
brew install redtear1115/tap/marsdawn
アプリなしで Markdown を PDF に書き出せます。
コマンドライン · 購入前に:MarsDawn ができないこと
次に
- そもそもエージェントの出力がなぜ読みにくいか:エージェントが返してくるものを読む。
- なぜエージェントはそもそも計画を示すのか:Anthropic はエージェントに透明性を求めた。では誰がそれを読むのか?
- エージェントが返すのは計画だけではない:4 つのエージェント設計パターンと、それぞれが返す文書。
出典
- Chip Huyen, “Agents,” January 7, 2025: https://huyenchip.com/2025/01/07/agents.html
- Jess Ou, “What is an AI agent?,” LangChain, July 31, 2026: https://www.langchain.com/blog/what-is-an-agent