コンテキストウェイト

エージェントが作業を開始する前に読み込むコンテキスト(CLAUDE.md、AGENTS.md、GEMINI.md、ルール、@imports、スキル一覧)のサイズと、セッションがどれだけ大きくなるかを測定し、指示ファイルをスリム化した上で、行が失われていないことを証明します。セッションが重く感じられるとき、コンパクションや使用量制限が早期に発生するとき、指示ファイルが肥大化し続けるとき、同一リポジトリでClaude CodeとCodexの動作が異なるとき、「コンテキストがパンパン」「トークン削減」「CLAUDE.mdが大きい」といった場面に使用します。実行中のコンテキストメーターではありません。

コンテキストウェイト とは?

Context Weightは、AIエージェント(Claude Code、Codex)の起動時に読み込まれるすべての指示ファイルと、セッションの履歴に基づいて、コンテキスト消費量を測定・分析するスキルです。エージェントは起動時に読み込んだすべてのファイルをリクエストごとに再送信するため、CLAUDE.mdなどのファイルが大きいと、作業が始まる前から大量のトークンを消費し、セッションが重くなったり、コンパクションや利用制限が早期に発生する原因となります。このスキルは、`scripts/cw.py`という単一のPythonスクリプトで動作し、ユーザーのファイルを一切変更せずに数値のみを出力します。`report`サブコマンドで起動時のトークン数、セッションの中央値開始トークン数、開始トークン割合、スキル予算の使用状況などを可視化し、`files`、`skills`、`sessions`などのサブコマンドで詳細を確認できます。分析結果に基づいて、指示ファイルのスリム化(`references/slimming.md`に手順あり)とセッション衛生の改善を推奨し、`--max-tokens`によるCIゲートや`verify-split`による検証で、スリム化が正しく行われたことを証明できます。

対応✓Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/ohm41321/context-weight/tree/HEAD/skills/context-weight

Installed? Explore more 生産性&コラボレーション skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Context Weight

起動時に読み込まれるものはすべて、セッション内のすべてのリクエストで再送信されます。 150kトークンのCLAUDE.mdは、作業が始まる前に、リクエストごとに150kトークンを消費します。このスキルはその負荷を測定し、削減し、削減を数値で証明します。

スクリプトはこのスキルのディレクトリ内の scripts/cw.py です。このファイルの場所から絶対パスを解決してください。Python 3.8以上が必要で、他に依存関係はありません。ユーザーのファイルを変更することは決してなく、数値(トランスクリプトの内容は含みません)を出力し、--svg または --open で指定された1つの画像ファイルを書き込むのみです。

実行中のメーター? 「今のコンテキストの使用率」を知りたい場合は、各プラットフォームのコマンド(Claude Code: /context、Codex: /status)を使用してください。このスキルはリポジトリと履歴に関するものです。

1. 計量(読み取り専用)

python3 <skill-dir>/scripts/cw.py report <repo> --days 30 --svg

--svg はレポートを1枚の画像としてシステムの一時フォルダに描画し、そのパスを最終行に出力します(Picture: ...)。ユーザーにそのパスを伝えれば、数値を一目で確認できます。ユーザーが画像の表示を希望した場合は --open も追加して開いてあげてください。--svg FILE で保存場所を指定できますが、ユーザーが明示的に要求しない限り、リポジトリ内のパスは使用しないでください。

テキスト出力は4つの部分で構成されます。

  • 各プラットフォームが起動時に読み込む指示ファイル(推定トークン数)
  • 各プラットフォームの予算に対するスキル一覧
  • このリポジトリの測定されたセッション数値
  • ランク付けされた所見

絞り込み表示:files <repo>、skills <repo>、sessions --top 20、sessions --project <name> --compare-at YYYY-MM-DD。任意のコマンドに --json を追加できます。

ユーザーに報告する際は、以下を提示してください。

  • プラットフォームごとの起動時トークン数
  • start(セッションの最初のリクエストにおけるコンテキストサイズの中央値)
  • start%(全入力に占める、その起動時負荷が再送信される割合)
  • >threshold tok の割合
  • 所見

どの数値が推定値(files、skills)で、どの数値が実測値(sessions)かを明記してください。Claude Codeのスキル予算はモデルのコンテキストウィンドウに依存し、ログには記録されません。cw.py は200kを前提としており、その旨を表示します。ユーザーが1Mコンテキストのモデルを使用している場合は、--window 1000000 を指定して再実行してください。

2. 数値が示すレバーを選ぶ

シグナルレバー
リポジトリの指示が約5kトークンを超え、start% が高い指示ファイルをスリム化(ステップ3)
>threshold tok が50%超セッション衛生(ステップ4)
「プラットフォームごとに異なるルールに従っている」1つの正規のAGENTS.mdを作成(ステップ3)
Codexが「認識できない」警告を出すスリム化するか、一部をネストしたAGENTS.mdファイルに移動
スキル一覧が予算超過未使用のスキルやプラグインをアンインストール。まずは確認すること:それはユーザーの設定です

最も大きな数値から始めてください。数値が示していないものはそのままにしておいてください。

3. 指示ファイルをスリム化する

完全な手順は references/slimming.md にあります。編集する前に読んでください。簡易版:

  1. ファイルをバックアップし、cw.py files <repo> を記録します。
  2. すべてのセクションを5つの種類のいずれかに分類します:ルール(保持、簡潔に)、ポインター、リファレンス、ログ、または重複。
  3. リファレンスとログを docs/agent-notes/ に移動します。プレーンなパスを1行のポインターとして残します。@ は使用しないでください。Claude Codeは起動時に @imports を展開し、Codexは無視します。
  4. コア部分を200行未満、約5kトークンに抑え、Codexの32 KiBチェーン制限内に収めます。
  5. AGENTS.md を唯一の正規ファイルにします。CLAUDE.md には @AGENTS.md とClaude固有の行のみを記述します。
  6. 証明します:verify-split が終了コード0で終了すること、files で削減が確認できること、--max-tokens ゲートを通過すること。

テキストの移動は安全です。知識の削除はユーザーの判断に委ねられています:重複が証明されていない行を削除する前に、ユーザーに確認してください。

4. セッション衛生

ほとんどの入力トークンは、長いセッションの後半のリクエストから発生します。各リクエストは、それ以前のすべての情報を再送信します。

  • 1セッションに1つのタスク。
  • コンテキストがウィンドウの約半分を超えたとき、またはタスクが変更されたときに、短い引き継ぎメモ(目標、状態、次のステップ、触れたファイル)を書き、新しいセッションを開始します。Claude Codeでは /clear、Codexでは /new です。繰り返しのコンパクションよりもこれを優先してください。
  • 大きなツールの出力をコンテキストに入れないでください:フィルタリングする、先頭部分だけを取得する、またはファイルに書き出して必要な部分だけを読み込んでください。

5. 証明する

  • すぐに: cw.py files <repo> を変更前後で比較し、verify-split が終了コード0で終了することを確認します。
  • 再肥大化を防ぐ: python3 <skill-dir>/scripts/cw.py files . --max-tokens 6000 をCIまたはpre-commitに追加します。リポジトリの指示が制限を超えて増加した場合、またはCodexがそれらのいずれかを切り捨てる場合に終了コード1で終了し、パスが間違っている場合は終了コード2で終了するため、タイプミスが通過することはありません。
  • 実際に数日使用した後: cw.py sessions --project <name> --compare-at <変更日> を実行し、start と start% を変更前後で報告します。

最後のコマンドが変更後のセッションで実行されるまでは、実現された削減を主張しないでください。

終了コード

0 正常、1 チェック失敗(--max-tokens、verify-split)、2 不正な入力(パス欠落、ファイル読み取り不可、不正な日付)。エラーはstderrに出力されます。

参考資料

  • references/harnesses.md:各プラットフォームが何をいつ読み込むか、サイズ制限、スキルフォルダ、出典付き。
  • references/slimming.md:スリム化手順と検証。

関連スキル