1万行のコードは渡せない。AIに何を渡すか決めた

全部貼ることはできません。渡す順番と粒度を決めたら、返ってくるものが安定しました。

この記事の結論

  1. 全体は渡せないので、渡す順番を決める
  2. 先に渡すのは構造。コードは後
  3. 関連ファイルを足すと精度が上がる
  • 全体は渡せないので、渡す順番を決める
  • 先に渡すのは構造。コードは後
  • 関連ファイルを足すと精度が上がる

レガシー移行でAIを使うとき、最初に詰まるのが「どこまで渡すか」だった。

全部は渡せない

1万行を貼ることはできないし、できたとしても結果は良くならない。関係ない部分が多いほど、どこを見ればいいか分からなくなるのは人もAIも同じだ。

SPONSORED

渡す順番を決めた

  1. ディレクトリ構成(どこに何があるか)
  2. 棚卸し表(何が何箇所あるか)
  3. 対象ファイル1つ
  4. そのファイルが呼んでいる関数の定義

1と2を先に渡すと、3を渡したときの前提が共有されている。いきなり3から始めると、毎回ゼロから説明することになる。

構造は自動で出す

find . -name "*.php" | head -200
grep -rn "^function |^class " --include=*.php . | head -100

この2つの出力を貼るだけで、全体像の説明になる。自分で説明文を書くより正確で、速い。

呼んでいる関数を一緒に渡す

いちばん効いたのがこれだった。

対象ファイルだけ渡すと、中で呼んでいるcalc_tax()が何をするか分からない。AIは名前から推測して書くので、実際と違う前提で直してくる。

呼んでいる関数の定義を一緒に貼ると、推測が要らなくなる。grepで集めるだけなので手間も小さい。

共通ファイルは1回だけ渡す

設定ファイルや共通関数は、毎回貼ると場所を食う。最初に1回渡して、以降は「前に渡した共通関数を使っている」と書くだけにした。

長い会話では前提が抜け落ちるので、おかしな答えが返ってきたら貼り直す。抜けたことに気づく合図は、存在しない関数名を使い始めることだった。

古いコードはそのまま貼る

読みやすく整形してから渡したくなるが、やめた。整形した時点で、元のコードではなくなる。

インデントが崩れていること自体が、どこが後から足された処理かの手がかりになっている。そのまま貼って、「整形せずに読んで」と添える。

公式の数字

「渡せない」の線は、いまは思ったより遠い。Claudeの公式なモデル一覧では文脈が100万トークンで、100万トークンは約55万5千語、または約250万文字にあたると書かれている。1万行のコードなら、文字数では収まる場合が多い。

それでも全部渡さないほうがよい理由は別にある。ドキュメントは「トークン数が増えるにつれて、正確さと想起の質が落ちる」とし、「使える容量がどれだけあるかと同じくらい、文脈に何を入れるかを選ぶことが重要になる」と続けている。入らないから選ぶのではなく、入っても選ぶ。

出典: Anthropic「Models overview」(2026年10月12日確認)

渡さないものも決める

  • 接続情報やパスワードが書かれた設定ファイル
  • 個人情報を含むデータ
  • 取引先の名前が入ったコメント

渡す前に機械的に伏せる。毎回目視で確認するのは続かないので、貼る前に通す置換スクリプトを用意しておく。

出力の形を指定する

「直して」とだけ言うと、直したコード全体が返ってくる。長いファイルだと、どこが変わったか分からない。

「変更した行だけ、前後3行つきで」と指定すると、確認が速くなった。差分の形で返させるほうが、見落としが減る。

分からないと言わせる

古いコードには、意図の分からない処理が必ずある。

何も言わないと、AIはそれらしい説明を付けて書き換えてしまう。「意図が読み取れない箇所は、書き換えずに一覧にして」と先に頼むと、人が確認すべき場所が分かれて出てくる。

この一覧が、結果的にいちばん価値があった。移行で危ないのは、分からないまま触った箇所だからだ。

会話を分ける

1つの会話で何ファイルも扱うと、前のファイルの話が混ざってくる。

ファイルの系統が変わるところで会話を切り、構造と棚卸しを貼り直してから始める。貼り直す手間はあるが、混線して気づかないほうが高くつく。

逆に、同じ系統のファイルを続けて扱うときは会話を続けたほうがよい。前提の説明が一度で済み、2枚目以降が速くなる。

1ファイルずつにこだわらない

同じ形のファイルが50枚あるときは、1枚を丁寧に直して変換のルールを文章にしてもらう。

残り49枚は、そのルールをスクリプトにして機械的に流す。AIに50回頼むより速く、結果も揃う。

あわせて読む

SPONSORED

まとめ

レガシー移行でAIが効くかどうかは、渡すものを選べるかどうかで決まった。全部渡そうとすると詰まる。

構造 → 棚卸し → 対象ファイル → 呼んでいる関数、の順に渡す。これだけで、返ってくるものの質がはっきり変わった。

新しい記事が出たら、ブラウザの通知でお知らせします。

メールアドレスの登録は要りません。いつでも止められます。

AUTHOR

北海道のWEB屋

北海道を拠点に、Web業界14年・サポート実績1,000件以上。WordPressの復旧、サーバー移転、独自ドメインとメールの設定、PHP・JavaScriptの修正まで対応します。相談と見積もりは無料です。

SPONSORED

関連記事

RELATED