トークン使用量とコスト
OpenClawは文字数ではなくトークンを追跡します。トークンはモデル固有ですが、ほとんどのOpenAIスタイルモデルは英語テキストで1トークンあたり平均約4文字です。
システムプロンプトの構築方法
OpenClawは実行ごとに独自のシステムプロンプトを組み立てます。以下が含まれます:
- ツールリスト+簡単な説明
- スキルリスト(メタデータのみ。指示はreadでオンデマンドで読み込まれる)
- 自己更新指示
- ワークスペース+ブートストラップファイル(AGENTS.md、SOUL.md、TOOLS.md、IDENTITY.md、USER.md、HEARTBEAT.md、新規時はBOOTSTRAP.md)。大きなファイルはagents.defaults.bootstrapMaxChars(デフォルト:20000)で切り詰められます。
- 時刻(UTC +ユーザータイムゾーン)
- 返信タグ+ハートビート動作
- ランタイムメタデータ(host/OS/model/thinking)
完全な内訳はSystem Promptを参照してください。
コンテキストウィンドウでカウントされるもの
モデルが受け取るすべてがコンテキスト制限にカウントされます:
- システムプロンプト(上記のすべてのセクション)
- 会話履歴(ユーザー+アシスタントメッセージ)
- ツール呼び出しとツール結果
- 添付ファイル/トランスクリプト(画像、音声、ファイル)
- コンパクションサマリーとプルーニングアーティファクト
- プロバイダーラッパーまたはセーフティヘッダー(表示されないが、カウントされる)
実用的な内訳(注入されたファイルごと、ツール、スキル、システムプロンプトサイズ)については、/context listまたは/context detailを使用してください。Contextを参照してください。
現在のトークン使用量を確認する方法
チャットで以下を使用:
- /status → セッションモデル、コンテキスト使用量、最後の応答の入力/出力トークン、推定コスト(APIキーのみ)を含む絵文字リッチステータスカード。
- /usage off|tokens|full → すべての返信に応答ごとの使用量フッターを追加。
- セッションごとに永続化(responseUsageとして保存)。
- OAuth認証はコストを非表示(トークンのみ)。
- /usage cost → OpenClawセッションログからのローカルコストサマリーを表示。
その他のサーフェス:
- TUI/Web TUI: /status + /usageがサポートされています。
- CLI: openclaw status --usageおよびopenclaw channels listは、プロバイダークォータウィンドウを表示します(応答ごとのコストではありません)。
コスト推定(表示される場合)
コストは、モデル価格設定から推定されます:
models.providers.<provider>.models[].cost
これらはinput、output、cacheRead、cacheWriteの100万トークンあたりのUSDです。価格設定が欠落している場合、OpenClawはトークンのみを表示します。OAuthトークンはドルコストを表示しません。
キャッシュTTLとプルーニングの影響
プロバイダープロンプトキャッシングは、キャッシュTTLウィンドウ内でのみ適用されます。OpenClawはオプションでcache-ttlプルーニングを実行できます:キャッシュTTLが期限切れになるとセッションをプルーニングし、キャッシュウィンドウをリセットして、その後のリクエストが完全な履歴を再キャッシュする代わりに新しくキャッシュされたコンテキストを再利用できるようにします。これにより、セッションがTTLを超えてアイドル状態になった場合のキャッシュ書き込みコストを低く保ちます。
Gateway configurationで設定し、動作の詳細はSession pruningを参照してください。
ハートビートは、アイドルギャップ全体でキャッシュをウォームに保つことができます。モデルキャッシュTTLが1hの場合、ハートビート間隔をそれよりわずかに短く設定する(例:55m)と、完全なプロンプトの再キャッシュを回避でき、キャッシュ書き込みコストを削減できます。
Anthropic API価格設定では、キャッシュ読み取りは入力トークンよりも大幅に安価ですが、キャッシュ書き込みはより高い倍率で請求されます。最新のレートとTTL倍率については、Anthropicのプロンプトキャッシング価格設定を参照してください: https://docs.anthropic.com/docs/build-with-claude/prompt-caching
例:ハートビートで1時間のキャッシュをウォームに保つ
agents:
defaults:
model:
primary: "anthropic/claude-opus-4-5"
models:
"anthropic/claude-opus-4-5":
params:
cacheControlTtl: "1h"
heartbeat:
every: "55m"
トークン圧力を減らすためのヒント
- /compactを使用して長いセッションを要約。
- ワークフローで大きなツール出力をトリミング。
- スキル説明を短く保つ(スキルリストはプロンプトに注入される)。
- 冗長で探索的な作業には、より小さなモデルを優先。
正確なスキルリストのオーバーヘッド式については、Skillsを参照してください。