プログラミング入門

コードベースはコンテキストウィンドウに収まる?トークン数を事前に計測して賢くトリミングする方法

「とりあえずリポジトリ全体をAIに貼り付けよう!」と思ったことはありませんか?🤔

実はこれ、かなり危険な操作なんですよね。コンテキストウィンドウの上限を超えると、AIは先頭のファイルを黙って切り捨てて回答します。エラーが出るならまだしも、「一部しか見ていない状態で答えが返ってくる」というのが一番怖いパターンです。

今回は「貼り付ける前にトークン数を計測して、必要なら削ぎ落とす」という実践的なアプローチをご紹介します 💡

そもそもコンテキストウィンドウって何?

イメージとしては「AIが一度に読める原稿用紙の枚数」です。GPT-4oなら128,000トークン、Claude 3.5 Sonnetなら200,000トークンといった上限があります。1トークンはざっくり英語で4文字、日本語だと1〜2文字が目安です。

ソースコードはコメントや変数名など英数字が多いので、日本語テキストよりはトークン消費が少なめです。ただ大規模なリポジトリになると、すぐに数十万トークンを超えることも珍しくありません。

Step 1: APIを使わずにトークン数を推定する

実はネットワーク通信なしでもかなり正確に推定できます。Pythonの tiktoken ライブラリを使えば、OpenAI系モデルのトークン数をローカルで計算可能です 🛠️

# pip install tiktoken
import tiktoken
import os

def estimate_tokens(directory: str, model: str =

📚 関連商品・おすすめ書籍

スッキリわかるPython入門 第2版 (スッキリわかる入門シリーズ)

もしも

スッキリわかるPython入門 第2版 (スッキリわかる入門シリーズ)

初心者に定番のPython入門書

Amazonで見る

実践Claude Code入門―現場で活用するためのAIコーディングの思考法

もしも

実践Claude Code入門―現場で活用するためのAIコーディングの思考法

AIコーディングの現場活用法を学ぶ一冊

Amazonで見る

Python Web開発実践入門 ―― FastAPIによるWebAPI開発と非同期処理

もしも

Python Web開発実践入門 ―― FastAPIによるWebAPI開発と非同期処理

FastAPIでWebAPI開発を実践的に学ぶ

Amazonで見る

※本記事にはアフィリエイトリンクが含まれます。

ABOUT ME
やまちゃん
これまで学生と社会人を合わせて5000人以上にプログラミング学習を指導。 ゼロからイチをわかりやすく解説する専門家として活動しており、本業ではArduinoを用いたIoT開発とロボットプログラミングが専門。 Pythonを用いたアプリ開発、ウェブアプリケーションの開発で業務の効率化をサポートしています。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です