1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

知っていることをすべて吐け!

1
Last updated at Posted at 2026-10-13

はじめに 🚨

昭和の刑事ドラマの取調室。机の上には電気スタンド、そしてカツ丼。刑事が机を叩いて叫びます。

「知っていることをすべて吐け!」

実はこの台詞、AIエージェントと仕事をしている私たちこそ、毎日言うべきなのかもしれません。

Claude Code などのAIエージェントに作業を頼むと、チャットやターミナルには数行〜数十行の返信が返ってきます。私たちはそれを読んで「よし、次はこれだ」と判断し、作業を進めていきます。

でも、その返信は LLMが知っていること・考えたことのすべて でしょうか?

答えはノーです。画面に出てくる返信は、LLMが調査・推論した内容を 読みやすく要約した一部 にすぎません。この記事では、取調べのように LLMに知っていることをすべて吐かせる 方法として、指示のたびにmdファイルへ出力させる 運用を紹介します。

やることはシンプルで、こんなルールを指示やCLAUDE.mdに加えるだけです 👇

CLAUDE.md
## 作業ログ(調書)の出力

- 指示を1つ受けるたびに、`docs/logs/<YYYYMMDD_HHMM>_<トピック>.md` に以下を出力すること
  - 調査したこと(読んだファイル、確認したコマンドと結果)
  - 検討した選択肢と、採用・不採用にした理由
  - 前提にした仮定、未確認の事項
  - 懸念点・リスク・次にやるべきこと
- チャットへの返信は要約でよい。詳細はファイルに書くこと

3行まとめ ✨

  • 🗣️ LLMのチャット返信は「供述の要約」にすぎず、LLMは返信した内容以上のことを知っている
  • 💸 人間相手なら追加の質問で気軽に深掘りできるが、LLMへの追加の質問にはトークン・時間・コンテキストのコストがかかる
  • 📄 指示のたびにmdファイル(調書)へ全部吐かせれば、要約以外の情報も手に入る。出力にコストはかかるが、知らないまま進めて手戻りするより安く済む可能性がある(並列作業ではなおさら)

容疑者(LLM)は要約しか話さない 🗣️

LLMがチャットやターミナルに返す内容は、作業の途中で得た情報のごく一部です。

たとえば「このバグを直して」と頼んだとき、エージェントは裏で次のようなことをしています。

  • 関連するファイルを何本も読む
  • 原因の候補をいくつか挙げ、1つずつ検証する
  • 修正方法を複数考え、影響範囲を比べて1つを選ぶ
  • 「この関数は他からも呼ばれているが、今回は問題ないだろう」といった仮定を置く

ところが、取調室で出てくる供述はたいていこうです。

〇〇の null チェックが漏れていたのが原因でした。
△△.ts に null チェックを追加し、テストが通ることを確認しました。

簡潔で、筋も通っています。しかし刑事の勘が告げます。「……それだけか?」🕵️

返信が短いこと自体は悪くありません。毎回すべてを書かれたら読むのが大変です。問題は、供述に出てこなかった情報の中に、作業者の判断を左右するものが含まれていることがある ことです。

  • 🤔 なぜ別の修正方法を選ばなかったのか
  • ⚠️ どんな仮定を置いたのか(その仮定は本当に正しいのか)
  • 🔍 調べたけれど関係なかったこと、調べきれなかったこと
  • 📌 ついでに気づいた別の問題

ホシ(LLM)は返信以上のことを知っている 🧠

ポイントは、LLMはこれらの情報を「知らない」のではなく「話していないだけ」 だということです。

とはいえ、LLMに黙秘のつもりはありません。検討した選択肢も、置いた仮定も、作業中のコンテキストにはちゃんと残っています。「読む人の負担にならないように」と気を利かせて要約した結果、表に出てこないだけです。

つまり、刑事(作業者)が見ている情報と、容疑者(LLM)が持っている情報の間には、常にギャップがあります。

人間なら問い詰めるのは簡単。LLMだとコストがかかる 💸

人間の場合 👥

同僚から「直しておきました」と報告を受けたら、「ちなみに他の方法も考えた?」「そこ、他の画面に影響ない?」と気軽に聞き返せます。相手の頭には経緯が残っているので、すぐに答えが返ってきます。追加で質問するコストはほぼゼロです。

LLMの場合 🤖

LLMにも同じように追加で質問できます。ただし、問い詰めるたびにコストがかかります。

  • トークン・料金: 質問のたびに、それまでの会話全体を含めたリクエストが送られる
  • 時間: 返答が生成されるのを待つ必要がある
  • コンテキスト: 会話が長くなるほどコンテキストを消費し、要約(コンパクション)が走ると細部の情報が失われることもある
  • 問い詰める側の負担: そもそも「何を聞けばいいか」を作業者が思いつかなければ質問できない

特に最後の点が重要です。供述に出てこない情報は、存在すること自体に気づけない ので、問い詰める糸口すら見つかりません。

指示のたびに「調書」を取る 📄

そこで、取調べの基本に立ち返ります。話を聞いたら、調書を取る のです。

具体的には、1回の指示ごとに、詳細をmdファイルへ出力させます。チャットの返信は要約のままでかまいません。そのかわり、要約の元になった情報をファイルにすべて吐き出してもらいます。

調書(出力ファイル)の例

docs/logs/20261014_0930_fix-null-error.md
# 〇〇画面で発生するエラーの修正

## 調査したこと
- src/foo/bar.ts, src/foo/baz.ts を確認
- エラーは `user.profile` が null のときに発生(再現手順: ...)

## 検討した選択肢
1. 呼び出し元で null チェック → 呼び出し元が5箇所あるため不採用
2. `getProfile()` 内で null チェック(採用)
3. API側で必ず profile を返すようにする → 影響範囲が大きいため見送り

## 置いた仮定・未確認事項
- profile が null になるのは新規登録直後のみと仮定(未確認)

## 気づいたこと・懸念点
- 同様のパターンが src/hoge.ts にもあるが、今回は未修正

この調書があれば、刑事(作業者)はチャットの要約だけでは分からなかったことを知れます。

  • 「選択肢3も検討していたのか。実はそっちが本筋だな」
  • 「その仮定は違う。既存ユーザーでも null になる」
  • 「src/hoge.ts も直しておいてくれ」

といった、供述(要約)からは出てこなかった判断 ができるようになります 💡

取調べのコツ 🛠️

  • CLAUDE.md などに書いておく: 毎回「吐け!」と言わなくても調書が出てくるようにする
  • 出力先とファイル名のルールを決める: タイムスタンプ付きにすると、時系列で追いやすい
  • 聞く項目を決めておく: 「調査したこと」「検討した選択肢」「仮定」「懸念点」など、要約で落ちやすい項目を指定する
  • 調書を全部読まなくてもいい: 気になったときや、重要な判断の前だけ読むという使い方でも十分効果がある

調書を取るコスト vs 知らないまま進めるコスト ⚖️

もちろん、調書を取るにはコストがかかります。

  • 出力トークンが増える(料金がかかる)
  • 書き出す分だけ、1回の作業時間が延びる
  • 作業者が調書を読む時間もかかる

それでも、作業者が知らないまま作業を進めるより、トータルのコストは安くなる可能性があります。

LLMが置いた誤った仮定や、作業者の意図とずれた選択に気づかないまま次の指示を重ねると、後で大きな手戻りが発生します。数ステップ先で問題に気づいたときには、そこまでの作業をやり直すことになり、調書にかけたコストよりずっと大きな時間とトークンを失いかねません。いわば 誤認逮捕 のまま捜査を進めてしまうようなものです。

調書を取る 調書を取らない
1回あたりのコスト 多い 少ない
ずれに気づくタイミング 早い(その場で気づける) 遅い(数ステップ後に気づく)
手戻りの大きさ 小さい 大きくなりがち

複数の事件を抱えるなら「1回の判断の正しさ」がより効く 🔀

複数のタスクを並列で進めている場合、この効果はさらに大きくなります。いくつもの事件を同時に抱える刑事のようなものです。

並列作業では、作業者は複数のエージェント(セッション)を行き来しながら、それぞれに指示を出していきます。このとき、

  • 1つのタスクで判断を誤ると、手戻りのためにそのタスクへ何度も戻る必要がある
  • 戻るたびに「このタスクはどこまで進んでいて、何が問題だったか」を思い出すコンテキストスイッチが発生する
  • その間、他のタスクへの指示が止まり、全体の進みが遅くなる

つまり、並列作業では 1回1回の判断が正しいことが、トータルの作業時間に直結 します。

調書が残っていれば、タスクに戻ってきたときも経緯をすぐに把握でき、判断の精度も上がります。1回の出力にかかる時間が多少増えても、判断を誤って何度も往復するより、トータルの作業時間は短くなる可能性があります ⏱️

まとめ 🎯

  • LLMのチャット返信は供述の要約にすぎず、LLMはそれ以上のことを知っている
  • 人間相手と違い、LLMへの追加の質問にはトークン・時間・コンテキストのコストがかかり、そもそも何を聞けばいいか気づけないこともある
  • 指示のたびにmdファイル(調書)へ詳細を出力させれば、要約の外側にある情報も作業者が知れる
  • 調書を取るにはコストがかかるが、知らないまま進めて手戻りするより安くなる可能性がある
  • 並列作業では1回の判断の正しさがトータルの作業時間を左右するので、特に効果的

カツ丼は要りません。CLAUDE.md に「作業ログをmdファイルに出力する」というルールを1つ追加して、LLMに 知っていることをすべて吐かせて みてください 🍚👀

参考リンク 🔗

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?