RL RanceLee Tutorials
← Tutorialsへ戻る

APIとトークンの基本解説

多くの経験者はAPI、トークン、Temperatureなど、難しく聞こえる専門用語をよく使います。この章では、これらの核となる概念をわかりやすく説明します。理解すれば、AIの仕組みを本当に把握し、より効果的に活用できるようになります。


APIとは?

APIを平易な言葉で

API = Application Programming Interface(アプリケーション・プログラミング・インターフェース)

この定義は専門的に聞こえるので、別の言い方をしましょう。

AIをレストランに例えると:

  • Web版 = レストランで食事をする
    • 素敵な内装(Webインターフェース)
    • ウェイター(ボタン、入力フィールド)
    • 注文し、シェフが調理し、ウェイターがサーブする
  • API = テイクアウトを電話で注文する
    • 内装はなし、キッチンと直接話す
    • ウェイターなし、シェフと直接話す
    • 欲しいものを伝え、シェフが準備して渡してくれる

主な違い:

  • Web版:インターフェースがあり、人間にとって便利
  • API:インターフェースがなく、プログラムにとって便利

なぜAPIを使うのか?

Web版がこんなに便利なら、なぜわざわざAPIを使うのでしょうか?

理由1:自動化

AIに1,000の文書を処理させ、1,000の要約を書かせるとします。

  • Web版:1,000回コピペして、1,000回送信ボタンを押す
  • API:スクリプトを書けば、コーヒーを飲んでいる間にすべて自動処理

理由2:自分のアプリへの組み込み

自動返信ボット、コンテンツ生成ツール、スマートカスタマーサービスエージェントを作りたい場合:

  • Web版:不可能
  • API:AIを自分のプログラムに直接組み込める

理由3:低コスト

  • Webサブスクリプション:ChatGPT Plus 月額20ドル、Claude Pro 月額20ドル
  • API従量課金:使った分だけ支払う。軽い利用なら月額数ドルで済むことも

理由4:柔軟性が高い

  • AIパラメータの微調整(Temperature、最大長など)
  • バッチ処理
  • カスタム入出力形式

API呼び出しの例

以下は簡単な例です(見慣れなくても心配しないでください。後で詳しく説明します):

# Call the latest GPT-5.2 API with Python
response = openai.chat.completions.create(
    model="gpt-5.2",
    messages=[
        {"role": "user", "content": "Hello,Introduce yourself"}
    ]
)
print(response.choices[0].message.content)

たった数行のコードで、ブラウザ不要でAIが質問に答えてくれます。

2026年1月30日時点の公式APIモデル識別子:

  • OpenAI:gpt-5.2gpt-5.2-chat-latestgpt-5.2-pro
  • Anthropic Claude:claude-opus-4-5claude-sonnet-4-5
  • Google Gemini:gemini-3-pro-previewgemini-3-flash-preview

Web版 vs API 比較

項目 Web版 API
使い方 ブラウザでクリック操作 コードを書いて呼び出す
学習曲線 低い、誰でも使える 高い、プログラミングが必要
最適な用途 日常的なチャット、記事作成 自動化、バッチ処理、アプリ連携
コスト 月額サブスクリプション(20ドル/月) 従量課金(使った分だけ支払う)
柔軟性 Web機能に制限される 高度にカスタマイズ可能
速度 平均的 通常は高速(UIレンダリングなし)

トークンとは?

トークンの概念

トークン = AIが理解するテキストの最小単位

人間は単語や文をそのまま読むのに対し、AIはテキストを小さな断片に分割する必要があります。その一つ一つをトークンと呼びます。

例:

中国語:

  • 「你好」≈ 1~2トークン
  • 「今天天气不错」≈ 4~8トークン(モデルによる)

英語:

  • 「Hello」= 1トークン
  • 「How are you today?」≈ 5トークン

簡単な目安:

  • 英語:1単語 ≈ 1トークン(約4文字)
  • 中国語:1文字 ≈ 0.5~2トークン(AIモデルによる)
  • 数字、句読点:通常1記号 = 1トークン

重要な発見:AIモデルによってトークンの定義が異なる!

あまり知られていない秘密:同じテキストでも、AIモデルが違えばトークン数がまったく異なることがあります!

なぜか?各AI企業が独自のトークナイザーを持ち、テキストの分割方法が異なるからです。

実際の例:

同じ文:「AI is revolutionizing market research.」

  • GPT-3:11トークン
  • GPT-3.5とGPT-4:9トークン
  • GPT-4oとGPT-5.2:8トークン

どうでしょう?同じ文でもモデル間で3トークンも違います!

別の中国語の例:

「人工智能正在改变世界」(「人工知能が世界を変えている」)

  • GPT-4o:おそらく10トークン
  • Claude Sonnet 4.5:おそらく12トークン
  • Gemini 3:おそらく8トークン

なぜ違いが生じるのか?

各企業はモデルを訓練する際に異なるトークナイズ手法を使用しています:

  • OpenAI(GPTシリーズ):BPE(Byte-Pair Encoding)を使用
  • Anthropic(Claude):独自の最適化トークナイザーを使用
  • Google(Gemini):Geminiのドキュメントでは「1トークン ≈ 4文字」
  • DeepSeek:中国語に最適化されたトークナイザー

これがあなたにどう影響するか?

1. コスト比較は単純ではない

1,000文字の中国語があるとします:

  • GPT-5.2では1,500トークンになるかもしれない
  • Claude Sonnet 4.5では1,600トークンになるかもしれない
  • Gemini 3では1,400トークンになるかもしれない

それぞれ「入力 $X/100万トークン」と言っていても、実際のコストは10~20%も異なる可能性があります!

2. すべてのモデルに同じトークン計算機は使えない

  • OpenAIの公式トークナイザー(https://platform.openai.com/tokenizer)はGPTシリーズにのみ有効
  • ClaudeのトークンはAnthropicの計算方法が必要
  • GeminiのトークンはGoogleの計算方法が必要

3. 非英語言語ではさらに差が大きい

中国語、日本語、アラビア語などの非英語言語では、トークン効率が30~40%も変わることがあります。ほとんどのAIモデルは主に英語で訓練されているため、トークナイザーも英語に最適化されています。

トークンが重要な理由

1. トークンがコストを決める

APIの料金は文字数ではなくトークンに基づいています。

例(2026年1月30日時点の公式価格):

  • GPT-5.2:入力 $1.75/100万トークン、出力 $14/100万トークン
  • Claude Opus 4.5:入力 $5/100万トークン、出力 $25/100万トークン
  • Gemini 3 Flash:入力 $0.50/100万トークン、出力 $3/100万トークン(標準ティア)

あなたが500トークンを送信し、AIが1,000トークンで返信した場合:

  • GPT-5.2の場合:(500 × 1.75 + 1000 × 14) / 1,000,000 = $0.01488(約1.5セント)
  • Gemini 3 Flashの場合:(500 × 0.50 + 1000 × 3) / 1,000,000 = $0.00325(約0.3セント)

2. トークンがコンテキスト長を決める

すべてのAIモデルにはトークン制限があります:

  • GPT-5.2(API):最大400,000トークン
  • GPT-5.2-chat-latest:最大128,000トークン
  • Claude Sonnet 4.5:最大200,000トークン
  • Gemini 3 Pro Preview:最大1,048,576トークン(約100万)

この制限には、あなたのプロンプト+AIの応答+会話履歴が含まれます。

制限を超えるとどうなるか?

  • AIは会話の最初の部分を「忘れる」
  • またはエラーが発生して続行できなくなる

トークンの数え方

方法1:概算(速いが不正確)

  • 中国語:文字数 × 1.5
  • 英語:単語数 × 1.3

方法2:対応するオンラインツールを使う

  • OpenAI(GPTシリーズ):https://platform.openai.com/tokenizer
  • 汎用トークンカウンター:https://token-counter.app(複数モデルの比較に対応)
  • Gemini:Google AI Studioのcount_tokensメソッドを使用

重要な注意: モデル間で見積もる場合は、必ずそのモデル専用のツールを使ってください。GPTのトークン数を使ってClaudeのコストを見積もってはいけません!

入力トークン、出力トークン、キャッシュトークン

APIの課金はトークンを3種類に分けています:

1. 入力トークン

  • AIに送信する内容
  • プロンプト、アップロードした文書を含む
  • 比較的安い

2. 出力トークン

  • AIが返す内容
  • AIの応答を含む
  • 通常、入力トークンの2~10倍の価格

なぜ出力の方が高いのか? AIが「考える」(テキストを生成する)には、「読む」(入力を処理する)よりも多くの計算リソースを使うからです。

例(GPT-5.2):

  • 入力:$1.75/100万トークン
  • 出力:$14/100万トークン(入力の8倍!)

3. キャッシュトークン

これはコスト削減のテクニックです!

同じプロンプトを繰り返し使う場合、AIはそれをキャッシュし、次回の再処理を回避できます。

例: 1,000トークンのプロンプトで10回質問する場合:

  • キャッシュなし:毎回1,000トークン処理 → 合計10,000トークン
  • キャッシュあり:初回1,000トークン(通常価格)、残り9回は1,000トークン(キャッシュ価格、90%割引)

キャッシュをサポートするモデル:

  • Anthropic Claude(Prompt Caching)
  • OpenAI GPT-5.2(キャッシュ対応、90%割引)

キャッシュの課金ルール:

  • 初回読み取り:通常価格
  • キャッシュヒット:価格が50~90%割引
  • キャッシュの有効期限:通常5~10分

Temperature(温度)とは?

Temperatureの概念

Temperature = AI応答の「ランダム性」または「創造性」を制御する

AIは基本的に「確率を計算」していることを思い出してください。「空は何色?」と尋ねると、AIは次のように見ます:

  • 「青」の確率80%
  • 「灰色」の確率10%
  • 「赤」の確率5%

Temperatureは、AIがこれらの選択肢の中からどのように選ぶかを調整します。

Temperatureの値

Temperatureは通常0から2(またはプラットフォームによって0から1)の範囲です:

Temperature = 0(最も保守的)

  • AIは常に最も確率の高い答えを選ぶ
  • 非常に安定し、予測可能な応答
  • 同じ質問 → 毎回ほぼ同じ答え
  • 最適な用途:事実に関する質問、コード生成、データ分析

Temperature = 1(バランス)

  • AIは確率に従ってランダムに選ぶ
  • 応答は多少変わるが、妥当な範囲
  • ほとんどのプラットフォームのデフォルト
  • 最適な用途:日常会話、一般的な使用

Temperature = 2(最も積極的)

  • AIは多くの可能性を試す
  • 非常に多様で創造的な応答
  • 不正確または無意味になる可能性あり
  • 最適な用途:創作、ブレインストーミング、芸術的な作業

実用的な例

質問:私のコーヒーショップの名前を考えて

Temperature = 0:

  • 「スターバックスコーヒー」(最も一般的で安全な答え)
  • 毎回ほぼ同じ

Temperature = 1:

  • 「モーニングライトカフェ」
  • 「アロマタイム」
  • 「ビーン&コージー」
  • 変わるが、どれも妥当

Temperature = 2:

  • 「量子コーヒーディメンション」
  • 「時空泡ラボ」
  • 「コズミックラテターミナル」
  • 非常に創造的だが、奇妙すぎる可能性も

Temperatureを調整するタイミング

低いTemperature(0~0.5):

  • コード作成、デバッグ
  • データ分析、数学の問題
  • 翻訳、要約
  • 正確さが必要なタスク

高いTemperature(1.5~2):

  • 小説、詩の作成
  • 命名、スローガン作成
  • ブレインストーミング
  • 創造性が必要なタスク

各モデルは公式サイトで推奨Temperatureを掲載しています。例えば、DeepSeekのウェブサイトには次のように表示されています:

シナリオ Temperature
コード生成 / 数学問題解決 0.0
データ抽出 / 分析 1.0
一般的な会話 1.3
翻訳 1.3
創作 / 詩 1.5

Web版で調整できるか?

  • ほとんどのWeb版では直接調整できない
  • しかしAPIでは正確に制御できる

コンテキスト長

コンテキスト長とは?

コンテキスト長 = AIが一度に「記憶」できる内容の量

人間と違い、AIには長期記憶がありません。各会話において、AIは限られた量の内容しか記憶できません。この制限をコンテキスト長と呼び、トークンで測定されます。

なぜAIは「忘れる」のか?

こんな経験はありませんか?

  • AIと長時間チャットしている
  • 突然、最初に話した内容をAIが覚えていない
  • 記憶喪失のようになる

理由:コンテキスト長の制限を超えたからです。

例:

  • GPT-5.2のコンテキスト長 = 128,000トークン
  • あなたとAIが50回のやり取りをし、合計130,000トークン使用
  • 制限を超えたため、AIは最初の部分を「忘れる」

コンテキスト長の実用的な影響

1. 会話の長さに影響

  • 短いコンテキスト:数十回のやり取りのみ
  • 長いコンテキスト:数百回のやり取り

2. 文書処理に影響

  • 短いコンテキスト:短い文書のみ
  • 長いコンテキスト:本全体

3. コストに影響

  • コンテキストが長い → 処理が遅い
  • トークンが多い → コストが高い

コンテキスト制限への対処法

方法1:定期的に会話をクリアする

  • 重要な情報を保存
  • 新しい会話を開始
  • AIに背景を再度伝える

方法2:会話履歴を要約する

  • AIに以前の内容を要約させる
  • その要約を新しい会話の開始として使う
  • トークンを節約

方法3:大きなコンテキストを持つモデルを選ぶ

  • 長い文書の場合:Gemini 3 Proを使用
  • 長い会話の場合:Claude Sonnet 4.5を使用

その他の重要な概念

Max Tokens(最大トークン数)

Max Tokens = 1回のAI応答の最大長を制限する

  • Max Tokens = 100に設定:AIは最大100トークンで応答
  • Max Tokens = 2000に設定:AIは最大2000トークンで応答

なぜ制限するのか?

  • コストを制御(出力トークンは高価)
  • 過度に冗長な回答を避ける
  • 短い返信のみが必要なシナリオもある

Top P(核サンプリング)

Top P = ランダム性を制御する別の方法

Temperatureと似ているが、動作が異なる:

  • Top P = 0.1:最も確率の高い選択肢の上位10%のみを考慮
  • Top P = 0.9:最も確率の高い選択肢の上位90%を考慮

通常:

  • TemperatureかTop Pのどちらかを調整すれば十分
  • ほとんどの場合、Temperatureの方が直感的

Frequency Penalty(頻度ペナルティ)とPresence Penalty(存在ペナルティ)

繰り返しを減らすために使用

  • Frequency Penalty:頻繁に使われる単語にペナルティを課し、同じ単語の繰り返しを減らす
  • Presence Penalty:すでに出現した単語にペナルティを課し、AIが新しい話題を導入するよう促す

範囲:-2.0 ~ 2.0

  • 正の値:繰り返しを減らす
  • 負の値:繰り返しを許容
  • 0:介入なし

まとめ:これらの概念をどう使うか?

日常利用(Web版)

Web版だけを使う場合、これらのパラメータを気にする必要はありません。デフォルトで問題なく動作します。

しかし、これらの概念を理解することで:

  • AIが時々会話の最初の部分を「忘れる」理由(コンテキスト制限)がわかる
  • APIユーザーが自分にはできないことをできる理由(パラメータ制御)がわかる
  • 将来APIを使う準備ができる

APIを使う場合

APIを使うことにした場合、これらのパラメータは非常に重要になります:

基本設定(毎回):

  • model:モデルを選択(例:gpt-5.2claude-sonnet-4-5
  • max_tokens:応答の長さを制限

必要に応じて調整:

  • temperature:事実ベースのタスクでは0~0.5、創造的なタスクでは1~2
  • top_p:通常はデフォルトで問題ない
  • frequency_penalty:AIが繰り返しすぎる場合、0.5~1に設定

コスト最適化:

  • キャッシュを使って節約
  • max_tokensを制御して無駄を避ける
  • 適切なモデルを選ぶ(常に最も高価なモデルが必要とは限らない)
  • モデルによってトークンの定義が異なることを覚えておく