前章で、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 は自分でファイルを読みにいけるということを信頼してよい。

使い分けの目安

厳密な使い分けである必要はないが、ざっくりとした適性はある。プロジェクト内のファイルならパス記述か @、エディタで開いているコードの特定箇所なら選択、プロジェクト外の情報なら貼り付け。日々使ううちに、自分の手に馴染む手段が決まってくる。


参考情報