アイドルエージェントが1日5000万トークンを消費した理由と改善方法

Reddit上のOpenClawユーザーが、LLM API使用量が6日間で1100万から5100万トークンに急増し、合計1億9600万トークンに達したと報告。そのほとんどがアイドル状態のエージェントによって無駄に消費されていた。原因は、OpenClawのハートビート機能が30分ごとに、忘れ去られた「main」というエージェントを呼び出し、22万5千トークンのセッション履歴を読み込んで「HEARTBEAT_OK」と返答していたことだった。
リークの兆候:cacheReadの支配
トランスクリプト分析から、2つの数字が浮かび上がった:
- トークンの95%がcacheRead — モデルが新しい作業をする代わりに、古い会話履歴を再読み込みしていた。
- 全トークンの56%が、もはや使用されていない「main」という単一のエージェントによるものだった。
ハートビートは1日48回実行され、そのたびに数ヶ月前のセッションを読み込んでいた。ハートビートを無効にするために意図された空のHEARTBEAT.mdですら、そのビルドでは効果がなかった。
修正方法:2つのステップ
- 肥大化したセッションをクリアする。 アイドルエージェントのセッションファイルを消去。次回のハートビートは白紙状態から開始される。不要なセッションだけを削除し、実際のDMやチャットセッションは保持すること。
- 再蓄積を防ぐ。 1回のクリアだけではハートビートがセッションに追加し続けるため効果が続かない。設定変更で対応:
heartbeat every: "0m"を設定してハートビート自体を完全にオフにする(エージェントが何もしない場合)、またはisolatedSession: trueとlightContext: trueを設定し、各ハートビートをフル履歴(約10万トークン以上)ではなく、新鮮で小さなコンテキスト(約2〜5千トークン)で実行する。
補足:他のエージェントも、セッションIDがそのビルドで実際には新しく開始されていなかったため、拡大し続けるセッションを再利用していた。ジョブ間でセッションをリセットすることで、各実行をクリーンに保つことができる。
教訓
- アイドルエージェントは無料ではない——肥大化したセッションでのハートビートは、実際の作業よりもコストがかかる可能性がある。
- ほとんどのトークンが
cacheReadなら、新しい作業ではなく履歴の再読み込みに支払っている。 - 「オフ」が実際にオフであることを確認せよ——報告されたビルドでは、空の
HEARTBEAT.mdはハートビートを止められなかった。 - ターンごとのトランスクリプトを読め;トークン使用量は入力/出力/cacheReadごとに記録されている。
ユーザーはこれらの設定変更によりトークン使用量を半分以上削減した。
📖 全文ソース: r/openclaw
👀 See Also

Anthropic、Claude Code採用のためのチャンピオンキットを公開
社内でClaude Codeを推進するエンジニアのためのプレイブック:再利用可能なプロンプトを共有し、公開チャンネルで回答し、週次のショーアンドテルスレッドを開催する——週合計約40分。

SOUL.mdルールは、長時間のAIエージェントセッションでドリフトする問題とその修正方法
SOUL.mdのルールは最初の10〜15メッセージでは完璧に機能しますが、会話のコンテキストが初期のシステムプロンプトを上書きするため、メッセージ20〜30あたりからずれ始めます。解決策は、個別のタスクごとにセッションをリセットするため、/newをより積極的に使用することです。

llama-server Web UIでのMCPサーバー設定:実践ガイド
Redditユーザーが、llama-serverのWeb UIでMCPサーバーを設定する具体的な手順を共有しています。これには、uvのインストール、サーバー定義を含むconfig.jsonファイルの作成、mcp-proxyの実行、および適切な統合のためのURLの変更が含まれます。

Qwen3.xモデルは、ストリーミング出力形式の不一致により、OpenClawでサイレントに失敗します。
ストリーミングモードでQwen3.xモデルが「content」フィールドではなく「reasoning」フィールドに出力するため、OpenClawがエラーを出さずにフォールバックモデルに切り替わる問題。APIフォーマットを変換し「think: false」を注入するプロキシで解決し、完全なツール呼び出し評価を可能にします。