Skip to content

修正:thinkingブロックとtool_useブロックのトークン過剰カウントを解消

原文(日本語に翻訳)

thinkingおよび tool_use ブロックのトークン推定過剰カウントを修正し、不必要なコンテキストコンパクションを防止

原文(英語)

Fixed token estimation over-counting for thinking and tool_use blocks, preventing premature context compaction

概要

Claude Code v2.1.75で、thinkingブロック(拡張思考)と tool_use ブロックのトークン数が過剰にカウントされていたバグが修正されました。この問題により、実際のコンテキスト使用量よりも多いトークン数が表示され、不必要なコンテキストコンパクション(文脈の圧縮)が早期に発生していました。修正後は、より正確なトークン数が表示され、コンパクションが必要なタイミングで適切に発生します。

基本的な使い方

この修正はバックグラウンドで自動的に適用されます。ユーザーは特別な操作不要で、より正確なトークンカウントが確認できます。

bash
# トークン使用量の確認(Ctrl+O でトランスクリプトモード、または /stats コマンド)
/stats

# より正確なカウントにより、コンパクションが早まらなくなります

実践例

拡張思考(Extended Thinking)を使った長時間セッション

bash
# 拡張思考を有効にした状態での複雑な問題解決
claude --model claude-opus-4-6

> このアーキテクチャの問題を深く分析して、最善の解決策を提案してください
# → Claudeがthinkingブロックを使用して思考
# 修正前: thinkingブロックのトークンが過剰にカウントされ、早期にコンパクションが発生
# 修正後: 実際のトークン数が正確にカウントされ、コンパクションのタイミングが適切に

ツール呼び出しを多用するエージェントタスク

bash
# 多数のツール呼び出しを含む複雑なタスク
> このリポジトリ全体をリファクタリングして、テストカバレッジを80%以上にしてください

# → Bashツール、Readツール、Editツールなど多数のtool_useブロックが生成される
# 修正前: 各tool_useブロックのトークンが過剰カウントされ、途中でコンパクションが発生
# 修正後: 正確なカウントにより、タスクが適切に完了するまでコンパクションが遅延

トークン使用量のモニタリング

bash
# セッション統計で正確なトークン数を確認
/stats
# → 修正後はthinkingブロックとtool_useブロックが正確にカウントされる

# スピナーに表示されるトークンカウンターも正確になった

注意点

  • コンパクションへの影響: 修正前よりもコンパクションが発生しにくくなります。これは正常な動作であり、実際のコンテキスト使用量に基づいた適切なタイミングになります
  • 拡張思考: claude-opus-4-6 などのモデルでextended thinkingを使用している場合に特に効果があります
  • ツール多用: 多数のファイル読み書きや外部コマンド実行を行うエージェントタスクで特に恩恵を受けます
  • 表示の変化: 修正前と比べてトークン使用量が少なく表示される場合がありますが、これは正しい動作です

関連情報