AIコーディングの省トークン術|Claude Code・Copilot・Cursor

AIコーディングの省トークン術|Claude Code・Copilot・Cursor プログラミング・開発

AIコーディングでは、AIに多くの情報を渡せば必ず効率が上がるとは限りません。不要なファイルや長いログを毎回読み込ませると、トークンを消費し、回答速度や精度にも影響する場合があります。

この記事では、AIコーディングをより速く、省トークンで進めるための基本原則を解説します。Claude Code、VS Code、GitHub Copilot、Cursorを使う場合に共通する考え方に加え、ツールごとの使い分け、設定時の注意点、実務で使えるプロンプト例を紹介します。

なお、利用できるモデル、料金、コンテキスト上限、設定項目はプランやアップデートによって変わる可能性があります。具体的な仕様は、利用中の公式ドキュメントやアプリの設定画面で確認してください。

AIコーディングのトークン浪費を防ぐ結論

トークンを節約する基本は、AIに渡す情報を減らすことではなく、必要な情報だけを、目的に合わせて段階的に渡すことです。

  • 最初からリポジトリ全体を読ませず、対象ファイルと目的を絞る
  • 調査、設計、実装、テストを一つの長い指示に詰め込まない
  • 毎回説明するルールはプロジェクトの指示ファイルに整理する
  • 長い会話を継続しすぎず、作業単位で新しいセッションに分ける
  • ログや生成コードを必要以上に貼り付けない

この方法は、Claude Code、GitHub Copilot、Cursorなど、コードベースを参照して回答するAIツール全般に応用できます。

なぜAIコーディングでトークンが浪費されるのか

トークンとは何か

トークンは、AIが入力や出力を処理する単位です。日本語、英語、記号、ソースコードでは分割のされ方が異なります。一般的には、入力するコードや会話が長いほど、必要な処理量も増えます。

トークン消費は単純な料金だけでなく、次のような問題につながることがあります。

  • 回答が返るまで時間がかかる
  • 重要な指示が会話の中で埋もれる
  • コンテキスト上限に達し、古い情報が参照されにくくなる
  • 不要なコード修正や過剰な説明が増える
  • 従量課金のサービスでは利用コストが増える

代表的な浪費パターン

浪費パターン 問題点 改善方法
リポジトリ全体を毎回参照する 無関係な情報まで処理される 対象ディレクトリやファイルを指定する
長い会話を一つのセッションで続ける 過去のやり取りが蓄積する 作業の区切りで要約または新規セッションにする
エラーログを全文貼り付ける 関係ないログも入力される エラー周辺と再現条件を抜き出す
依頼を一度に詰め込む 実装範囲が曖昧になる 調査、実装、テストを分ける
毎回同じルールを長文で説明する 入力が重複する プロジェクトの指示ファイルにまとめる

省トークンで進める基本手順

1. 作業の目的と完了条件を先に決める

AIにコードを書かせる前に、変更の目的、対象範囲、完了条件を明確にします。たとえば「認証機能を改善して」と依頼するよりも、「src/auth内の期限切れトークン処理を修正し、既存テストを通過させる」と指定した方が、調査範囲を絞りやすくなります。

実務では、次の形式が使いやすいでしょう。

  • 目的:何を改善するか
  • 対象:どのファイル、ディレクトリ、機能か
  • 制約:変更してはいけない部分や使用するライブラリ
  • 完了条件:テスト、型チェック、動作確認など

2. 調査と実装を分ける

最初から「調査して修正してテストして説明して」と依頼すると、AIが広い範囲を読み込むことがあります。まず関連ファイルと原因候補を確認し、その後に実装を依頼する方が、やり取りを制御しやすくなります。

  1. 対象ディレクトリと関連ファイルを確認する
  2. 原因候補と修正方針を短くまとめてもらう
  3. 方針を確認してから実装を依頼する
  4. 変更差分を確認する
  5. 必要なテストだけ実行する

3. 必要なファイルだけをコンテキストに入れる

AIコーディングツールには、開いているファイル、選択範囲、ワークスペース、検索結果などを参照する機能があります。ただし、どの範囲が実際に参照されるかはツールや設定によって異なります。

依頼文では、次のように明示すると安全です。

対象は src/api/user.ts と tests/user.test.ts です。まず user.ts のエラー処理だけを確認し、他のファイルは変更しないでください。

対象外を明示することは、トークン節約だけでなく、意図しないファイル変更の防止にも役立ちます。

4. 長い出力を要求しない

回答は詳しいほどよいとは限りません。「変更したコードをすべて再掲してください」と指示すると、すでに存在するコードが大量に出力されます。差分、変更箇所、実行したテスト、残っている課題だけを求めると、出力を抑えられます。

たとえば、次のように依頼します。

回答は、変更ファイル、変更理由、実行したテスト、未解決の課題を箇条書きで示してください。コード全体は再掲せず、必要な差分だけ提示してください。

ツール別の使い方とポイント

Claude Code

Claude Codeのようなターミナル型のAIコーディングツールでは、リポジトリの調査からファイル編集、コマンド実行までを連続して依頼できます。その分、権限や対象範囲を意識せずに使うと、不要な探索や大きな変更につながる可能性があります。

  • 作業ディレクトリを明確にしてから開始する
  • 最初は読み取り中心の調査を依頼する
  • 編集前に変更対象と方針を確認する
  • テストやビルドの実行範囲を指定する
  • プロジェクト固有のルールは指示ファイルに整理する

自動実行やファイル編集を許可する場合は、必ずGitのブランチ、コミット、差分確認などの復元手段を用意してください。

VS CodeとGitHub Copilot

VS CodeとGitHub Copilotは、エディター内でのコード補完、チャット、修正提案などを使い分けやすい組み合わせです。補完では短い関数や局所的な処理、チャットでは複数ファイルにまたがる調査など、目的によって依頼を分けると効率的です。

  • 補完は関数名、型、コメントで意図を明確にする
  • チャットでは対象ファイルや選択範囲を限定する
  • 生成結果をそのまま受け入れず、差分を確認する
  • プロジェクトのコーディング規約をリポジトリ内で管理する
  • 機密情報を含むファイルの扱いを組織のポリシーで確認する

GitHub Copilotの利用可能な機能やプラン、データ設定は変更されることがあるため、導入時は公式の管理画面とポリシーを確認しましょう。

Cursor

Cursorのようにコードベース検索や複数ファイルの編集を重視するエディターでは、便利さとコンテキスト範囲のバランスが重要です。関連ファイルを自動的に探せる場合でも、変更対象を限定しなければ、意図しないファイルが候補に含まれる可能性があります。

  • コードベース全体の質問と、単一ファイルの修正を使い分ける
  • 参照してほしいファイルを明示する
  • 除外設定や無視するファイルの設定を確認する
  • 大きなリファクタリングは小さな単位に分割する
  • 生成された変更は必ず差分とテストで検証する

除外設定の名称や動作はエディターのバージョンによって異なる場合があります。設定後は、意図したファイルが参照対象から外れているかを確認してください。

プロジェクト指示ファイルを整える

AIに毎回同じ説明を入力しているなら、プロジェクトのルールを文書化する価値があります。ファイル名や読み込まれる条件はツールによって異なるため、利用中の公式仕様に合わせて配置してください。

記載する内容は、次のような短いルールで十分です。

  • 使用する言語、フレームワーク、パッケージ管理方式
  • ディレクトリ構成と変更してはいけない領域
  • テスト、Lint、型チェックの実行コマンド
  • 命名規則やエラー処理の方針
  • 回答の形式や、コード全体を再掲しないルール
  • 秘密情報や本番環境へアクセスしないこと

指示ファイルを長大にすると、今度はそれ自体がコンテキストを圧迫します。必須ルールと参考情報を分け、重複や古い記述を定期的に整理しましょう。

速度と品質を両立するプロンプト例

バグ調査

目的:ログイン後にユーザー情報が表示されない原因を調査する。
対象:src/auth、src/user、tests/auth。
制約:まず調査のみ。ファイル変更は禁止。
出力:原因候補を最大3つ、根拠となるファイルと行、追加で必要な確認を示す。

小規模な修正

対象:src/api/user.ts のエラー処理。
変更:HTTP 404と500を既存のエラー形式へ変換する。
制約:公開APIの型と他ファイルは変更しない。
完了条件:関連テストを追加または更新し、実行結果を報告する。コード全体は再掲せず、差分の要点だけ説明する。

コードレビュー

選択した差分だけをレビューしてください。観点は、バグ、セキュリティ、性能、保守性です。重要度の高い順に、該当箇所、理由、修正案を示してください。問題がなければ、確認できた範囲と未確認の範囲を分けてください。

注意点と安全な使い方

トークン削減を優先しすぎない

入力を減らしすぎると、AIが必要な前提を推測し、誤った修正を提案することがあります。特に認証、決済、個人情報、データ削除に関わる処理では、関係する仕様とテストを十分に確認してください。

秘密情報を入力しない

APIキー、パスワード、アクセストークン、顧客情報、非公開のソースコードなどをAIサービスへ入力する前に、組織のルールとサービスのデータ取り扱いを確認してください。環境変数や秘密情報ファイルは、参照対象から除外する設定も検討します。

生成コードを必ず検証する

AIは存在しないAPI、誤ったライブラリの使い方、脆弱な実装を提案することがあります。次の確認を自動化すると、品質を保ちやすくなります。

  • ユニットテストと統合テスト
  • Lintとフォーマッター
  • 型チェック
  • 依存関係と脆弱性の確認
  • Gitの差分レビュー
  • ステージング環境での動作確認

料金と利用上限を確認する

AIツールの料金、モデルごとの利用制限、追加料金の条件はサービスやプランによって異なります。省トークン化が必要な理由がコスト削減である場合は、管理画面の使用量、請求設定、チームの利用ポリシーを定期的に確認してください。

よくある質問

トークンを減らせば、必ず回答が速くなりますか?

必ず速くなるとは限りません。ネットワーク、モデル、サービスの混雑、処理内容なども影響します。ただし、不要な入力と出力を減らすことは、処理対象を整理する基本的な対策です。

リポジトリ全体をAIに読ませるのは問題ですか?

全体像を把握したい場合には有効なことがありますが、毎回必要とは限りません。まず構成を調査し、実装段階では関係するファイルに範囲を絞ると、誤変更とトークン浪費を抑えやすくなります。

Claude Code、Copilot、Cursorのどれを選ぶべきですか?

ターミナル操作や自動化を重視するならClaude Code、VS Code内の補完やチャットを重視するならGitHub Copilot、コードベース検索やエディター統合を重視するならCursorが候補になります。ただし、利用可能なモデル、組織のセキュリティ要件、料金、既存環境を比較して選んでください。

まとめ

AIコーディングを速く、省トークンで進めるには、AIへ渡す情報を適切に設計することが重要です。特に効果が期待できるのは、対象ファイルを限定する、調査と実装を分ける、短い出力を求める、プロジェクトルールを文書化するという4つの方法です。

まずは小さなタスクで、目的・対象・制約・完了条件を明示して試してください。そのうえで、会話の長さ、生成コードの修正回数、テスト結果、利用量を確認し、チームに合う運用へ調整しましょう。速度やコストだけでなく、差分レビューとセキュリティ確認まで含めて運用することが、AIコーディングを安全に定着させるポイントです。

コメント

タイトルとURLをコピーしました