Claude Code vs OpenCode トークンオーバーヘッド分析

Claude Code vs OpenCode トークンオーバーヘッド分析

Claude Code は OpenCode よりも大幅に高いトークンオーバーヘッドを示す

Claude Code は、ユーザーのプロンプトが処理される前に、システムプロンプト、ツールスキーマ、およびスキャフォールディング(足場)として約 33,000 トークンを必要とします。一方、OpenCode は約 7,000 トークンを必要とします。このベースラインのオーバーヘッドは、モデルのコンテキストウィンドウの大部分を消費し、特にプロンプトキャッシュが非効率的である場合や、タスクがサブエージェントに分散される場合にコストを増大させます。

ベースライン・トークン消費量

両方のハーネスに 1 行の返答 ("OK") を求めた制御テストにおいて、以下のオーバーヘッドが測定されました:

コンポーネント Claude Code OpenCode
システムプロンプト ~6.5k tokens ~2.0k tokens
ツールスキーマ ~24k tokens ~4.8k tokens
スキャフォールディング ~2.5k tokens None
合計初回ターン・ペイロード ~32,800 tokens ~6,900 tokens

Claude Code のオーバーヘッドは、主に大規模なツール定義セット(OpenCode の 10 個に対し 27 個のツール)と、トーンのルールや安全性のガイダンスを含む、より広範な行動ドクトリンによって引き起こされます。ツールが無効化されている場合でも、Claude Code のシステムプロンプトは OpenCode の 3 倍以上の大きさになります。

設定マルチプライヤーの影響

実世界での使用では、ベースラインのオーバーヘッドを増幅させるトークン消費のレイヤーが追加されます:

指示ファイル

72KB の指示ファイル(例:CLAUDE.md または AGENTS.md)を追加すると、両方のハーネスにおいて、すべてのリクエストに対して約 20,000 トークンが追加されます。

MCP サーバー

各小型 Model Context Protocol (MCP) サーバーは、リクエストごとに 1,000 から 1,400 トークンの間を追加します。5 つのサーバーを使用する構成では、ベースラインに約 5,000 から 7,000 トークンが追加されます。

サブエージェント

サブエージェントへの委譲は、最も重要なトークン・マルチプライヤーです。すべてのサブエージェントは独自のブートストラップ・プロンプトを必要とし、親エージェントはサブエージェントのトランスクリプトを読み込む必要があるため、コストが爆発的に増加します。あるテストでは、直接実行した場合に 121,000 トークンを要したタスクが、2 つのサブエージェントに分散させた場合には 513,000 トークンを要し、4.2 倍の増加となりました。

パフォーマンスとコストのトレードオフ

Claude Code はベースラインが高いものの、複雑で多段階のタスクにおいて、合計トークン数を削減できる異なるオーケストレーション戦略を採用しています。

並列バッチ処理 vs. シリアル実行

write-run-test-fix ループにおいて、Claude Code は複数のツール呼び出しを 1 回の往復でバッチ処理しましたが、OpenCode は 1 ターンにつき 1 回のツール呼び出しを行いました。ベースラインはすべてのリクエストで再送または再読込されるため、Claude Code の積極的なバッチ処理により、総リクエスト数(3 対 10)が減少し、リクエストあたりのコストは高いものの、合計の消費トークン数で収束しました。

プロンプトキャッシュの効率性

プロンプトキャッシュは、繰り返される接頭辞(prefix)のコストを削減しますが、その効果は接頭辞の安定性に依存します。

  • OpenCode は、リクエスト間でバイト単位で同一の接頭辞を維持し、高いキャッシュヒット率と最小限のキャッシュ書き込みを実現しました。
  • Claude Code は、接頭辞の不安定性を示し、異なるリクエストクラス(ウォームアップ・プローブ、メイン会話、サブエージェント呼び出し)を生成し、最初のメッセージのスキャフォールディングを変化させました。これにより、キャッシュ書き込みが大幅に増加(OpenCode より 5.9 倍から 54 倍)し、これらは追加料金で請求されます。

コミュニティの洞察と反論

ユーザーや開発者は、これらのハーネスの価値提案について、いくつかの定性的な違いに気づいています:

"Claude Code は単なるハーネスではありません。それは異なる製品です... API を使用している場合、一方で、Claude Code を使用する理由は全くありません。"

一部のユーザーは、生のトークン数よりも、結果として得られる知能や作業の効率性が重要であると主張しています。他のユーザーは、Claude Code の高いオーバーヘッドは、Anthropic 社がユーザーをサブスクリプションへ誘導したり、API レビューを増大させたりするための戦略的な選択である可能性を示唆しています。

コミュニティで言及されている追加の代替案には、1,000 トークン以下を送信すると報告されている Pi や、ユーザーインターフェースと透明性から一部のユーザーに好まれる Cline があります。

Sources