前章で、Claude には「何を作っているか」を伝えることが大事だと書いた。本章ではその伝え方の具体的な手段を見ていく。
なぜファイル名で示すと効くのか
Claude Code はファイルを直接読める。だから「あのバグなんとかして」と漠然と頼むより、「src/api/users.ts のユーザー作成処理」と書いた方が、Claude が状況を掴むまでの距離が短くなる。
手段はいくつかあるが、目的は共通している。Claude にどのファイルを見てほしいかを示すことである。
主な手段
プロンプトにパスを書く
最も素朴な方法は、プロンプトに直接ファイルパスを書くことである。
src/auth/login.tsのログイン処理を見て、エラー時に 404 を返している箇所を 401 に直してほしい。
Claude はパスを認識し、必要に応じて自分で読みにいく。複数のファイルを並べてもよい。
@ で明示的に渡す
プロンプト中で @ を打つと、ファイル名の候補一覧が現れる。続けてファイル名の一部 (例: login) を入力すると、login.ts login.test.ts のようにマッチするファイルが、それぞれの所在パスと共に候補に並ぶ。候補から選ぶと、@src/auth/login.ts のような階層付きの参照がプロンプトに挿入される。
@src/auth/login.tsにバグがある。
絞り込みはファイル名に対するマッチで行われるため、@src のようにディレクトリ名から打ち始めても候補は出ない。覚えているのがディレクトリ構造だけのときは、前項のように普通にパスを書いてしまう方が早い。
前項のパス記述との一番の違いは、@ はその場でファイルを読み込んで文脈に入れることである。Claude は応答を考え始める前にファイルを手元に持っている状態になる。パスだけを書いた場合、Claude は必要だと判断したタイミングで後から自分で読みにいく。
「これを必ず読んでから考えてほしい」時は @、判断を Claude に任せてもよい時はパスを書くだけ、という使い分けになる。
IDE で選択する (VSCode)
VSCode 拡張を使っている場合、エディタで選択した範囲は文脈として自動的に渡る。
関数を選択した状態で「この関数を分割してほしい」とだけ書けば、Claude には「この関数」が何を指しているか伝わる。コードを目で追いながら相談する流れに自然に乗る方法である。
直接貼り付ける
プロジェクト外の情報を渡したい時は、貼り付けが手っ取り早い。別ターミナルで出たエラーメッセージ、仕様書の抜粋、他のリポジトリのコード片など、ファイルとして存在しないものに向いている。
画像も貼り付けられる。スクリーンショット、デザイン案、エラー画面など、文字で説明しづらい状況を見せたい時に使う。UI 作業や見た目の比較では、これが最も手早く正確な伝達手段になる。
シェルからのパイプという手段もある。cat error.log | claude のように、コマンドの出力を直接 claude に流し込んで起動できる。エラーログをまとめて最初の入力にしたい時などに便利である。
ただし、長すぎる貼り付けは避ける。コンテキストウィンドウを圧迫するし、本筋から逸れた部分まで Claude が真に受けてしまうことがある。必要な箇所に絞って貼るのが基本である。
渡しすぎないこと
「念のため全部入れておく」が必ずしも良い結果につながるとは限らない。Claude は渡された情報を「関係ある」として扱う傾向があり、ノイズが増えると判断が鈍る。
最初は薄く渡し、Claude が「こういう文脈が必要」と聞いてきたら追加する、という流れの方が結果として早い。Claude は自分でファイルを読みにいけるということを信頼してよい。
使い分けの目安
厳密な使い分けである必要はないが、ざっくりとした適性はある。プロジェクト内のファイルならパス記述か @、エディタで開いているコードの特定箇所なら選択、プロジェクト外の情報なら貼り付け。日々使ううちに、自分の手に馴染む手段が決まってくる。
参考情報
- Claude Code ベストプラクティス — 文脈の渡し方を含む実践指針
- IDE 連携 — VSCode 拡張での操作