0Pricing
AI Agents · レッスン

ステップごとのトークン予算

各ノードの入力・出力トークン数に上限を設け、暴走したループで予算を使い果たさないようにします。

「ステップごとのトークン予算」はCoddyKit上の無料AI Agentsレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI Agents学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI Agentsコースには全4レッスンが含まれています。

トークンはお金です

送受信するすべてのトークンには、コストと時間がかかります。本番環境のエージェントでは、各ステップでトークン使用量を追跡し、上限を適用します。

すべての箇所でmax_tokensを設定する

すべての呼び出しで必ずmax_tokensを設定してください。設定しないと、バグのあるプロンプトによって10,000トークンの応答が生成される可能性があります。

response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=messages,
    max_tokens=1024,   # cap per response
)

エージェントループでステップごとに上限を設定する

ステップごとに必要な予算は異なります。

STEP_BUDGETS = {
    'planner': 512,
    'classifier': 64,
    'final_synthesis': 2048,
    'tool_call': 256
}

response = client.chat.completions.create(
    model=model,
    messages=messages,
    max_tokens=STEP_BUDGETS[step_name]
)

入力トークンを削減する

入力トークンにもコストがかかります。積極的に削減してください。

import tiktoken
enc = tiktoken.encoding_for_model('gpt-4o-mini')

def trim_to_budget(text, max_tokens=4000):
    toks = enc.encode(text)
    if len(toks) > max_tokens:
        return enc.decode(toks[:max_tokens])
    return text

実行ごとの総予算

すべてのステップの入力と出力を合計し、上限を超えたら中止します。

MAX_TOKENS_PER_RUN = 50_000
total = 0
for step in agent_steps:
    r = call_step(step)
    total += r.usage.total_tokens
    if total > MAX_TOKENS_PER_RUN:
        return 'Budget exhausted; partial result'

ドルでコスト上限を設定する

ドル単位で予算を設定したほうが、意味を捉えやすい場合もあります。

PRICES = {'gpt-4o-mini': {'in': 0.15e-6, 'out': 0.60e-6}}

for step in agent_steps:
    r = call_step(step)
    cost = r.usage.prompt_tokens * PRICES[model]['in'] + r.usage.completion_tokens * PRICES[model]['out']
    total_cost += cost
    if total_cost > MAX_COST_PER_RUN:
        break

適応型の予算

最も難しいステップに、より多くのトークンを使います。

if step_difficulty == 'easy':
    max_tokens = 256
elif step_difficulty == 'hard':
    max_tokens = 2048

出力長の見積もり

回答の長さをモデルに尋ねることが有効な場合もあります。

preview = llm.invoke(f'How many tokens (approx) does {question} need to answer?').content
budget = parse_int(preview, default=512)
final = llm.invoke(question, max_tokens=budget)

ツール出力を切り詰める

大きなツール出力(HTMLやログ)はコンテキストを圧迫します。モデルに送る前に切り詰めてください。

tool_result = run_tool(...)
text = json.dumps(tool_result)
if len(text) > 4000:
    text = text[:4000] + '\n...[truncated]'

履歴を圧縮する

長い会話では、トークンを節約するために古いターンを要約します。

if total_message_tokens(messages) > 8000:
    messages = compact(messages)

出力形式がトークン数に与える影響

JSONは冗長です。短い構造化レスポンスでは、次の形式を検討してください。

  • 単一のツール呼び出し引数
  • カンマ区切りのリスト
  • 簡潔なカスタム形式

トークンの分布を追跡する

ステップごとのヒストグラムから、どのステップを最適化すべきかがわかります。

metrics.observe('step.planner.tokens', r.usage.total_tokens, tags={'agent': 'qa'})

なぜmax_tokensなのか

すべてのLLM呼び出しでmax_tokensを設定するのはなぜでしょうか?

まとめ

すべての呼び出しでmax_tokensに上限を設定します。入力を削減します。ステップごとに予算を設定します。実行ごとの総量に上限を設けます。分布を追跡します。履歴を圧縮します。

よくある質問

「ステップごとのトークン予算」レッスンは無料ですか?

はい。「ステップごとのトークン予算」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI Agentsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI Agentsコースには全4レッスンが含まれています。

「ステップごとのトークン予算」で何を学びますか?

各ノードの入力・出力トークン数に上限を設け、暴走したループで予算を使い果たさないようにします。 ブラウザで直接実行するハンズオンコードでAI Agentsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

AI Agentsを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのAI Agentsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「ステップごとのトークン予算」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このAI Agentsレッスンでコードを書いて実行できますか?

はい。すべてのAI Agentsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. ステップごとのトークン予算
  2. モデルルーティング(安価 -> 高価)
  3. プロンプトと結果のキャッシュ(Anthropic、Vertex)
  4. 量子化と投機的デコーディング
← AI Agentsに戻る