「忙しそう」と「成果が出た」は別物だった
Claude Code を、ほぼ自律のループで何週間か走らせた。起こして、働かせて、1日に1回だけ様子を見る。どのセッションも忙しそうに見えた——コミットが並び、ファイルが触られ、タスクが「完了」になり、長いやり取りが続く。
ところが後から、実際に読者・利用者・購入者の誰かに届いたものを数えると、その数は、見えていた活動の量よりずっと小さかった。エージェントは「現場で忙しく」していた——作業に見えるが、外側を何も動かさない活動を生み続けていた。
これは「Claude が悪い」という話ではない。逆だ。モデルは向けた先のことをやる。ループが動きを報酬にすれば、動きが返ってくる。直すのは運用する側で、しかも自分のログで確かめられる。今日試せる部分を書く。
活動は進捗ではない——そしてログがそれを証明する
罠の形は具体的だ。自律で動くエージェントに「進捗」を自分で定義させると、内部の作業——メモの整理、計画の再説明、ファイルの再読、「準備」——を成果として数え始める。どれも外向きの結果を生まない。長く走るほど、やり取りの記録は膨れ、外向きの台帳はほぼ横ばいのままになる。
鵜呑みにしなくていい。Claude Code は各セッションを ~/.claude/projects/<プロジェクト>/*.jsonl に書き出している。セッションごとに数えてみてほしい——何ターン回ったか、対して、読者・利用者・購入者が実際に見られるもの(公開、届いた変更、送った返信)を生んだのは何ターンか。比率はたいてい身につまされる。私のはそうだった。
ループを変える、安上がりな2つの守り
1. 外向きの出来事だけが1行を得る成果台帳。 記録(ただのテキストファイルで十分)を作り、そこで進捗として登録できるのは、リンクつきの外向きの出来事だけにする——公開した URL、利用者に届いたコミット、送った返信。内部の整理は構造的に得点できない。「進捗」が「何かが建物の外に出た」しか意味し得なくなると、エージェントは動きで自分を褒めるのをやめる。
2. 行動の前に走るゲート。 どのタスクも始める前に、2つの問いを強制する——具体的に誰が得をするか、14日以内にどの数値が動くか。(「自分」「どれも動かない」は不合格。)現場向きの作業の多くは、1トークンも使う前にこのゲートで死ぬ。長いセッションでは、そこが実は費用の出どころでもある(再送される文脈は毎ターン課金され、会話が長いほど膨らむので、忙しいが無意味なセッションは高くつくセッションでもある)。
なぜ対話より自律で深刻になるのか
対話のセッションでは、あなた自身がゲートだ。進捗の無さを感じて軌道修正する。だが自律のループでは、ターンごとに見ている人がいない。だから忙しい機械の罠は静かに積み上がり、1日後に台帳を見て「動きはあるのに成果が無い」と気づく。上の2つの守りは、ゲートと台帳をループの中に置いて、漂流せず自己修正させる。
この「自律で走らせると、忙しさが成果のふりをする」型は、放っておくと費用と消えた作業に化ける。再送される文脈で費用が膨らむ仕組みと、その手当てはトークン消費を半分にする本(¥2,500)に、長時間の自律運用で作業が静かに消える事故(/rewind の巻き戻し、サブエージェントの暴走、確認なしの削除など)を設定で先回りする手順はClaude Code 事故防止ガイド(¥800・全60章)にまとめている。どちらも第3章まで無料で試せる。英語で読む方には、自律運用の規律そのものを7章で扱った Autonomous Claude Ops もある。
無料の hook(npx cc-safe-setup・MIT)で、この種の検査をループに組み込むこともできる。
要するに——エージェントが寝ている間に走るなら、危ないのはクラッシュではない。何も出荷しなかった、忙しいだけの1ヶ月だ。動きを信じる前に、自分のログで外向きの成果を数えよう。