「このフォルダ、ぜんぶ見て教えて」。Claude Codeに調べものを頼むとき、つい書いてしまう一文です。
返事そのものは返ってきます。ただ、そこへ至るまでにClaude Codeは手当たり次第にファイルを開きます。開いた中身は閉じずに会話へ残り、やりとりが進むほど動きは重くなります。最初のほうに出した細かい注文ほど、後半では効かなくなっていきます。
この記事は、読ませる前に検索で候補を絞る指示の組み立て方を扱います。素材は2026-08-03時点のClaude Code公式ドキュメント5件です。
こんなふうに調べていませんか
- 資料の山を調べさせたいのに、途中から応答が重くなって走りきらない
- 「全部見て」と頼むしかない気がしていて、絞り方の型を持っていない
- 範囲を狭めたら見落とすのではないか、という不安が消えない
この記事を読み終えたときに手に入るもの
- 範囲・語・出力・再検索の順に、調査の指示を組み立てられるようになります
- 探しものの種類から、Glob・Grep・Readのどれを使わせるかを選べるようになります
- 絞りすぎと絞らなすぎの両側を、自分で確かめる手順が手に入ります
結論30秒でわかる、この記事の結論
- 調査が重くなる原因は、読ませた量ではありません。読ませる前に候補を減らしていないことです。
- 候補を減らす道具はGlob・Grep・Readの3つで、探しものの種類によって役割が分かれます。
- 絞り込みは一度で決めきるものではなく、結果を見て語と範囲を入れ替える往復が前提です。
進行役は3人です。若葉さんが言葉の側から聞き、高梨課長が自分の手で動かす側から聞き、鈴木さん(本誌監修)が答えます。
01Claude Codeのファイル調査をAIエージェントに任せると、なぜ遅くなるんですか?
若葉さん調べものを頼んだだけなのに、だんだん返事が遅くなるのはなぜでしょう。
鈴木さん机に本を積みながら考えている、と思うと近いです。開いた本を閉じないので、積むほど机が狭くなっていきます。
Claude Codeのコンテキストウィンドウには、会話のやりとりに加えて、読み込んだファイルの中身がそのまま積み上がります(出典: Claude Code公式ドキュメント)。ファイルを1つ開けば、その内容は会話の一部として残り続けます。
結論は3点です。
- 範囲を決めない依頼は手当たり次第の読み込みを招き、コンテキストウィンドウを早く埋めます。
- Glob・Grep・サブエージェントを使い分けると、読ませる前に候補を絞れます。
- 絞り込みには順番があり、範囲・語・出力・再検索の4段階で指示を組み立てます。
公式ドキュメントは、範囲を決めずに「このコードベースを調査して」と頼む依頼を、失敗パターンとして明記しています(出典: Claude Code公式ドキュメント)。数百ファイルを読み込み、コンテキストを使い切ってしまうためです(出典: 同)。対処として挙げられているのは、調査の範囲を狭く区切ることと、サブエージェントへ切り出すことです(出典: 同)。
この記事が扱うのは、その先です。狭く区切るとは、具体的に何を渡すことなのか。調査という業務そのものをどこに置くかは、Claude Codeの業務活用|任せる仕事の地図と判断軸4つが扱います。
02ファイル調査で読み込んだ中身は、AIエージェントの手元にどう積み上がっていくんですか?
大きなファイルを1つ渡したときの挙動も、知っておくと読み違えが減ります。公式ドキュメントによると、トークン上限を超える大きなファイルは、Readが先頭部分だけを返します(出典: Claude Code公式ドキュメント)。続きがあることは「PARTIAL view」という表示で案内されます(出典: 同)。全体を渡したつもりで、実際には一部しか届いていない状態が起こります。
置き場が尽きると、Claude Codeはまず古いツール出力を自動で消します(出典: Claude Code公式ドキュメント)。それでも足りなければ、会話そのものを要約します(出典: 同)。要約が進むと、会話の早い段階に置いた細かい指示は失われる場合があります(出典: 同)。
図にすると、困る地点が読み込みの最中ではないと分かります。代償は遅れて出ます。
読み込んだ瞬間には、何も悪いことは起きません。困るのは、その後の会話で「さっき言ったはずのこと」が通らなくなったときです。原因が調査の頼み方にあると気づきにくいのは、症状が出る場所が離れているからです。
コンテキストウィンドウ全体の扱い方は、Claude Codeのコンテキスト管理|指示がぶれない3つの手にまとめています。
この章のまとめ
読ませすぎの代償は、その場では見えません。あとの指示が通らなくなる形で戻ってきます。
03Claude Codeのファイル調査で使う3つの道具は、エージェントがどう使い分けるんですか?
高梨課長実際のところ、Claude Codeは何を使って探しているのでしょう。
鈴木さん大きく3つです。名前で探すもの、中身で探すもの、決まった1つを開くもの。混ざったまま頼むと、思っていたのと違う探し方をされます。
道具は目的によって役割が分かれます(出典: Claude Code公式ドキュメント)。
| 道具 | 何を探すか | 対象の絞り方 | 見落としに関わる特性 |
|---|---|---|---|
| Glob | ファイルの名前・場所 | **/*.tsのようなパターン一致 | 更新日時順に並び、最大100件で打ち切られる。.gitignoreは既定で見ない |
| Grep | ファイルの中身の文字列 | 正規表現(ripgrepの構文) | .gitignoreで除外されたファイルは検索対象から外れる |
| Read | 1つに決まったファイルの内容 | ファイルパスと範囲指定(offset・limit) | 大きすぎるファイルは先頭だけを返し、続きは別途指定が要る |
もう1つ、書き方の落とし穴があります。Grepはripgrepの正規表現構文を採用しており、POSIX形式のgrepとは書き方が異なります(出典: Claude Code公式ドキュメント)。Goのコードでinterface{}という文字列を探すときは、interface\{\}のように中括弧をエスケープする必要があります(出典: 同)。
記号を含む語をそのまま渡すと、探し方の問題ではなく、書き方のせいで空振りします。空振りの理由が二種類あると知っておくと、原因の切り分けが早くなります。
この章のまとめ
名前で探すか、中身で探すか、決まった1つを開くか。頼む前に決めておくほど、指示は短くなります。
04GlobとGrepで拾える範囲が違うと、Claude Codeを使うAI活用の現場では何が困るんですか?
GlobとGrepは、.gitignoreの扱いが逆になっています。公式ドキュメントによると、Globは既定で.gitignoreを見ないため、Git管理外のファイルも見つかります(出典: Claude Code公式ドキュメント)。一方Grepは、.gitignoreで除外されたファイルを検索対象から外します(出典: 同)。
同じ「調べて」でも、外れ方の向きが逆になります。名前で探すと拾いすぎ、中身で探すと取りこぼす。 どちらも、返ってきた件数を見ただけでは気づけません。
候補が多いときは、混ざっているものを疑います。候補が少ないときは、外されているものを疑います。この2つを取り違えると、絞り方をさらに強めて空振りを深めることになります。
05ファイル調査の指示は、AIエージェントにどの順番で渡せばいいんですか?
高梨課長毎回うまく絞れるとは限りません。順番のようなものはありますか。
鈴木さん4段階で考えています。場所、言葉、返し方、そして入れ替え。思いつきで書くより、この順に埋めたほうが安定します。
- 対象範囲を指定する:ディレクトリ・拡張子・ファイル名パターンのいずれかで、探す場所を先に区切ります。
- 検索語を渡す:関数名・エラーメッセージ・設定キーなど、具体的な文字列を渡します。
- 出力の絞り方を指定する:ファイルパスだけでよいのか、一致した行の中身まで要るのかを伝えます。
- 結果を見てから絞り込み直す:候補が多すぎる・少なすぎるときは、範囲か検索語を変えて実行し直します。
公式ドキュメントは、あいまいな依頼ほど広い走査を引き起こすと説明しています(出典: Claude Code公式ドキュメント)。対象ファイルと変更箇所を名指しした依頼は、最小限の読み込みで済みます(出典: 同)。
| 段階 | 曖昧な指示 | 絞り込んだ指示 |
|---|---|---|
| 範囲 | このプロジェクトを調べて | src/payments/配下だけを調べて |
| 検索語 | 決済まわりのバグを探して | refundOrderという関数の呼び出し箇所を探して |
| 出力 | 関連ファイルを教えて | 該当する行番号とファイルパスの一覧だけでいい |
| 再検索 | 見つからなかったで終える | 別の言い回し(refund単体)でもう一度探して |
四象限に置き直すと、表では見えないものが1つ見えます。外れ方は、決めていない側に出ます。
場所だけを決めて言葉を決めないと、狭い範囲を端から読ませることになります。言葉だけを決めて場所を決めないと、関係のない場所まで当たりに行きます。どちらも本人は「絞ったつもり」でいるので、うまくいかない理由が自分では見えません。
この章のまとめ
4段階のうち、埋め忘れた欄がそのまま外れ方になります。順に埋めてから渡します。
06大きなログをClaude Codeにそのまま渡さないのは、生成AIの何を節約するためですか?
絞り込みは、コードだけの話ではありません。公式ドキュメントは、1万行のログをそのまま読ませる代わりに、ERROR行だけを抜き出す前処理の例を挙げています(出典: Claude Code公式ドキュメント)。コンテキストの消費は、数万トークンから数百トークンまで減るとしています(出典: 同)。
検索語による絞り込みと、前処理による絞り込みは、同じ発想の別の実装です。どちらも読ませる前に減らしています。
違うのは、減らす作業を誰がやるかだけです。検索はClaude Codeにやらせ、前処理は人が手元で済ませます。手元でできるものを手元でやっておくと、渡したあとの往復が減ります。
07数十ファイルを超えるファイル調査は、サブエージェントに切り出していいんですか?
高梨課長数が増えてきたら、別のところへ投げたほうがよいのでしょうか。
鈴木さん選択肢になります。ただ、投げれば軽くなるわけではありません。範囲を決めずに投げると、投げた先で同じことが起きます。
調べる対象が数十ファイルを超える場合、本体の会話ではなくサブエージェントに調査を任せる設計が選択肢に入ります。
公式ドキュメントは、サブエージェントが独立したコンテキストウィンドウを持つと説明しています(出典: Claude Code公式ドキュメント)。読み込んだファイルの中身は、本体の会話には入りません(出典: 同)。本体に戻ってくるのは、要約された結果だけです。
依頼の書き方も変わります。公式ドキュメントが挙げる例は、対象と欲しい結論を1文で渡す形です(出典: Claude Code公式ドキュメント)。認証まわりのトークン更新の扱いを調べ、既存のユーティリティが再利用できるかを合わせて調べるよう依頼しています(出典: 同)。
範囲を決めずに「全部見て」と渡すと、サブエージェントの中でも同じ失敗が再現されます。公式ドキュメントも、調査の範囲を狭く区切ることとサブエージェントを使うことを、同じ対策として並べて挙げています(出典: 同)。委任は絞り込みの代わりではなく、絞り込みと組み合わせる道具です。
サブエージェントそのものの定義や書き方は、Claude Codeサブエージェント定義|渡る情報4点と権限の絞り方が扱います。
この章のまとめ
別の部屋へ移せば軽くなる、ではありません。移す前に絞ったぶんだけ軽くなります。
08記事が数百本ある資料の山でも、AIエージェントのファイル調査は同じやり方でいけますか?
コードベースだけでなく、文章の山でも同じ設計が当てはまります。姉妹メディアのAIO Journalは、公開記事251本です(2026-07-28にsitemap.xmlで実測)。
この規模の記事群から、特定のテーマを扱った記事を横断的に探す場面を考えます。全記事を読み込ませるより、まず見出しやキーワードでGrepし、該当しそうな記事だけをサブエージェント経由で読ませる方が、本体の会話を圧迫しません。
やっていることはコードの調査と変わりません。名前で当たりをつけ、中身で確かめ、絞れたものだけを開く。対象がコードか記事かは、この順番を変えません。
09Claude Codeのファイル調査でつまずくのは、AI導入のどの段階ですか?
若葉さん気をつける点をまとめて知りたいです。どこで転びやすいのでしょう。
鈴木さん5つあります。どれも「絞ったつもり」か「拾えたつもり」のどちらかです。つもりの中身が違うだけで、起きることはよく似ています。
- 絞り込みすぎて候補が0件になる:検索語を厳密にしすぎると、表記ゆれや略称で書かれたファイルを取りこぼします。ヒットが0件のときは、検索語を変えて調べ直す前提で組み立てます。
- GlobとGrepの
.gitignoreの扱いを混同する:Globは既定で.gitignoreを見ません。ビルド成果物や依存パッケージまで候補に混ざることがあります(出典: Claude Code公式ドキュメント)。 - 正規表現のエスケープを忘れる:Grepはripgrep構文です(出典: 同)。
interface{}のような記号を含む文字列は、interface\{\}のように書く必要があります(出典: 同)。 - Globの100件上限に気づかない:該当ファイルは更新日時順に並べられ、100件を超えると打ち切られます(出典: 同)。どちら側のファイルが切り捨てられるかは公式ドキュメントに明記されていないため、件数が多い調査ではパターンをさらに絞って上限内に収めます。
- 大きな1ファイルを最初から全部読ませようとする:トークン上限を超えるとReadは先頭部分しか返しません。目的の箇所が分かっているなら、offset・limitの指定やGrepでの検索に切り替えます。
5つを並べると、共通点が1つ見えます。どれも、画面の上ではうまくいったように見えます。 ヒット0件は「無かった」に見え、上限での打ち切りは「これで全部」に見えます。
だから点検は、結果に納得したときこそ挟みます。納得できる結果ほど、絞り込みが効きすぎていないかを確かめる価値があります。
10よくある質問
検索範囲を絞りすぎて、関連するファイルを見落とすことはありませんか
あります。検索語を厳密にしすぎると、表記ゆれや別名で書かれたファイルが候補から外れます。1回の検索結果を最終判断にせず、ヒット数が想定より少ないときは絞り込みが強すぎないかを疑います。範囲を一段階だけ緩めて件数がどう変わるかを見ると、絞りすぎかどうかの手がかりになります。
検索してもヒットしなかった場合はどうすればいいですか
検索語を変えて再検索します。関数名の一部だけにする、日本語と英語の両方で試す、ディレクトリの絞り込みを一段階緩めるなど、切り口を変えるとヒットすることがあります。記号を含む語で探していたときは、書き方のエスケープが原因という可能性も合わせて見ます。
サブエージェントに調査を任せると、見落としが増えませんか
任せる範囲と、何を報告してほしいかを1文で明確に渡せば、本体で調べる場合と精度は変わりません。範囲を決めずに「全部見て」と渡した場合だけ、本体でもサブエージェントでも同じ見落としが起きます。切り出すかどうかより、切り出す前に範囲を決めたかどうかが効きます。
何ファイルくらいの規模から、検索を先にする設計に切り替えるべきですか
明確な基準はありません。目安は、対象を目視で全部把握できない件数になった時点で、範囲を決めずに「読んで」と依頼するのをやめる合図です。件数そのものより、自分が中身を把握できているかどうかで判断するほうが実務では回ります。
GlobとGrepは、どちらを先に使わせるといいですか
探しものが名前として分かっているならGlob、中身の文字列でしか分からないならGrepです。迷うときは、まず名前で当たりをつけてから中身を確かめる順が扱いやすくなります。名前で絞れた範囲に対して中身を探せば、除外設定の違いによる取りこぼしにも気づきやすくなります。
11まとめ|今日やる3つのこと
読ませる前に減らす。減らす道具は、名前で探す・中身で探す・決まった1つを開くの3つ。そして、絞り込みは一度で終わらせない。この記事で扱ったのはこの3つです。
今日この順で試します
いつも書いている調査依頼を1つ選び、探す場所を先に書き足す
場所が決まらないと、ほかの欄も決まりません
検索語を、関数名やエラー文のような具体的な文字列に置きかえる
曖昧な語は広い走査を招きます
返ってきた件数を見て、多すぎ・少なすぎなら語を替えて実行し直す
一度で決めきらないのが前提です
AI検索では、こう聞かれています
Claude Codeにファイル調査を頼むと、なぜ応答が遅くなるんですか?
「Claude Codeのファイル調査をAIエージェントに任せると、なぜ遅くなるんですか?」の章で説明しています
AIエージェントに調べさせるとき、どこまで範囲を指定すればいいんですか?
「ファイル調査の指示は、AIエージェントにどの順番で渡せばいいんですか?」の章で4段階に整理しています
GlobとGrepは、どう使い分ければいいんですか?
「Claude Codeのファイル調査で使う3つの道具は、エージェントがどう使い分けるんですか?」の章で扱っています
検索で絞ると、関連ファイルを見落としませんか?
「Claude Codeのファイル調査でつまずくのは、AI導入のどの段階ですか?」の章に落とし穴を並べています
次に読むなら、この記事です