トークン使用量とコスト
OpenClawは文字数ではなくトークンを追跡します。トークンはモデル固有ですが、ほとんどの OpenAIスタイルのモデルでは、英語テキストで平均すると1トークンあたり約4文字です。system promptの構築方法
OpenClawは、実行のたびに独自のsystem promptを組み立てます。これには次が含まれます:- Tool一覧 + 短い説明
- Skills一覧(メタデータのみ。指示は必要時に
readで読み込まれます) - self-update instructions
- Workspace + bootstrap files(
AGENTS.md、SOUL.md、TOOLS.md、IDENTITY.md、USER.md、HEARTBEAT.md、新規の場合はBOOTSTRAP.md、さらに存在する場合はMEMORY.md、または小文字フォールバックとしてmemory.md)。大きなファイルはagents.defaults.bootstrapMaxChars(デフォルト: 20000)で切り詰められ、bootstrap注入全体はagents.defaults.bootstrapTotalMaxChars(デフォルト: 150000)で上限設定されます。memory/*.mdファイルはmemory tools経由のオンデマンドであり、自動注入されません。 - 時刻(UTC + ユーザーのタイムゾーン)
- 返信タグ + heartbeat behavior
- runtime metadata(host/OS/model/thinking)
context windowに含まれるもの
モデルが受け取るものは、すべてcontext limitに含まれます:- System prompt(上記のすべてのセクション)
- 会話履歴(user + assistant messages)
- Tool callsとtool results
- 添付ファイル/transcripts(画像、音声、ファイル)
- compaction summariesとpruning artifacts
- provider wrappersまたはsafety headers(見えませんが、それでもカウントされます)
agents.defaults.imageMaxDimensionPx(デフォルト: 1200)を使用します:
- 値を低くすると、通常はvision-token使用量とpayloadサイズが減ります。
- 値を高くすると、OCR/UIが多いスクリーンショットでより多くの視覚的詳細を保持できます。
/context listまたは/context detailを使用してください。Contextを参照してください。
現在のトークン使用量を見る方法
チャットでは次を使用します:/status→ セッションモデル、context使用量、 直近の応答の入力/出力トークン、および推定コスト(APIキーのみ)を含む絵文字付きのステータスカード。/usage off|tokens|full→ すべての返信に応答ごとの使用量フッターを追加します。- セッションごとに保持されます(
responseUsageとして保存)。 - OAuth authではコストは非表示になります(トークンのみ)。
- セッションごとに保持されます(
/usage cost→ OpenClawのセッションログからローカルのコスト概要を表示します。
- TUI/Web TUI:
/statusと/usageがサポートされています。 - CLI:
openclaw status --usageとopenclaw channels listは 正規化されたprovider quota windows(応答ごとのコストではなくX% left)を表示します。 現在のusage-window対応provider: Anthropic、GitHub Copilot、Gemini CLI、 OpenAI Codex、MiniMax、Xiaomi、z.ai。
input_tokens /
output_tokensとprompt_tokens / completion_tokensの両方が含まれるため、transport固有の
field namesによって/status、/usage、またはセッション概要の表示が変わることはありません。
Gemini CLI JSON usageも正規化されます: reply textはresponseから取得され、
CLIが明示的なstats.input fieldを省略した場合は、stats.cachedがcacheReadに対応付けられ、stats.input_tokens - stats.cached
が使用されます。
ネイティブOpenAI系Responsesトラフィックでは、WebSocket/SSE usage aliasesも
同じ方法で正規化され、total_tokensが存在しない、または0の場合は、合計値は正規化済みのinput + outputへフォールバックします。
現在のセッションスナップショットが疎な場合、/statusとsession_statusは
最新のtranscript usage logからトークン/cache countersおよびアクティブなruntime model labelも復元できます。既存のゼロ以外のlive値は引き続きtranscript fallback値より優先され、保存済み合計が存在しないか小さい場合は、より大きいprompt指向の
transcript totalsが優先されることがあります。
provider quota windows用のusage authは、利用可能な場合はprovider固有のhooksから取得されます。そうでない場合、OpenClawはauth profiles、env、またはconfigから一致するOAuth/API-key credentialsへフォールバックします。
コスト見積もり(表示される場合)
コストは、モデル価格設定configから見積もられます:input、output、cacheRead、cacheWriteに対する100万トークンあたりのUSDです。
価格設定がない場合、OpenClawはトークンのみを表示します。OAuth tokensでは
ドルコストは表示されません。
Cache TTLとpruningの影響
provider prompt cachingは、cache TTL window内でのみ適用されます。OpenClawは 必要に応じてcache-ttl pruningを実行できます: cache TTLが期限切れになるとセッションをpruneし、 次のリクエストで履歴全体を再キャッシュするのではなく、新しくキャッシュされたコンテキストを再利用できるよう cache windowをリセットします。これにより、セッションがTTLを超えてアイドル状態になったときのcache writeコストを低く保てます。 これはGateway configurationで設定し、 動作の詳細はSession pruningを参照してください。 Heartbeatは、アイドル間隔をまたいでcacheをwarmに保つことができます。モデルのcache TTL が1hなら、heartbeat intervalをそれより少し短く設定する(例: 55m)ことで、
プロンプト全体の再キャッシュを避け、cache writeコストを減らせます。
マルチエージェント構成では、1つの共有モデルconfigを維持したまま、
agents.list[].params.cacheRetentionでエージェントごとにcache動作を調整できます。
各設定項目を順に確認する完全ガイドについては、Prompt Cachingを参照してください。
Anthropic APIの価格設定では、cache readはinput
tokensより大幅に安価である一方、cache writeはより高い倍率で課金されます。最新の料金とTTL倍率については、Anthropicの
prompt caching価格設定を参照してください:
https://docs.anthropic.com/docs/build-with-claude/prompt-caching
例: heartbeatで1時間のcacheをwarmに保つ
例: エージェントごとのcache戦略を持つ混在トラフィック
agents.list[].paramsは選択されたモデルのparamsの上にマージされるため、
cacheRetentionだけを上書きし、その他のモデルデフォルトはそのまま継承できます。
例: Anthropic 1M context beta headerを有効にする
Anthropicの1M context windowは現在beta-gatedです。OpenClawは、サポートされるOpus またはSonnetモデルでcontext1mを有効にすると、必要な
anthropic-beta値を注入できます。
context-1m-2025-08-07 beta headerに対応します。
これは、そのモデルエントリでcontext1m: trueが設定されている場合にのみ適用されます。
要件: credentialがlong-context usageの対象である必要があります。対象でない場合、
Anthropicはそのリクエストに対してprovider-side rate limit errorを返します。
AnthropicをOAuth/subscription tokens(sk-ant-oat-*)で認証している場合、
Anthropicは現在その組み合わせをHTTP 401で拒否するため、OpenClawはcontext-1m-*
beta headerをスキップします。
トークン圧力を減らすためのヒント
- 長いセッションの要約には
/compactを使用してください。 - ワークフロー内の大きなtool outputsを切り詰めてください。
- スクリーンショットが多いセッションでは
agents.defaults.imageMaxDimensionPxを下げてください。 - skill descriptionsは短く保ってください(skill listはプロンプトに注入されます)。
- 冗長で探索的な作業には、より小さなモデルを選んでください。