limits-energy について
AI セッションの推定エネルギー消費を可視化するスキルです。数えられるモデル呼び出し回数から下限値を算出し、末尾の「+」で示します。任意の週次予算通知や制限にも対応します。
主な機能
- 01モデル呼び出し回数から下限値を推定
- 02末尾の「+」で下限値を表示
- 03セッションごとの記録
- 04週次エネルギーレポート
- 05任意の予算通知または制限
活用シーン
- 01セッションの推定消費量を確認
- 02週次レポートを基に予算を設定
- 03予算に対する週次使用量を追跡
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ bradfrost/ skills --skill limits-energyインストール後、Claude Code で/limits-energyを入力して読み込まれたか確認します。
同梱ファイルhooks/energy-gate.sh
詳細
Limits:エネルギー
すべてのプロンプトは、実際のデータセンターで現実の電力と水を消費します。 このスキルは、そのコストを可視化します。罪悪感をあおるものでも、見せかけの精密な測定器でもなく、誠実な最低推定値として示します。
このスキルが読み込む設定を書き込む limits-setup と併用します。
誠実さの約束(あなた、エージェントを拘束します)
-
デフォルトでは情報提供のみ。明示的なオプトインがある場合に限り制限します。 エネルギーの数値は情報提供を目的とします。唯一の例外は、ユーザーがインタビューで内容を理解したうえで設定した予算
ENERGY_BUDGET_MODE=restrictです。この場合、制限を決めたのはユーザーであり、誠実さに対する責任はさらに重くなります。意図的に最低推定値に基づく制限を受けており、拒否するたびにそのことを伝えます。 -
出典のある数値のみを使い、出典情報をその場で示します。 公開されている2つの基準値と、その対象範囲は次のとおりです。
- 約0.24 Wh — Googleが公開した、Gemini Appsのテキストプロンプトの中央値(2025年)。アクセラレーター、ホストCPU/メモリ、バックアップ機器、冷却を含むデータセンターのオーバーヘッドを含み、トレーニングは含みません。
- 約0.34 Wh — OpenAIが示した「平均的な」ChatGPTのクエリの数値(2025年、Sam Altmanのブログより)。査読を受けておらず、「平均的なクエリ」の定義もありません。
どちらもベンダーによる自己申告です。尋ねられたら、そのことを伝えてください。
-
換算値を決して捏造しません。 トークンあたりのエネルギー消費量は公開されていないため、作り出してはいけません。エージェント型コーディングセッションの数値も公開されていません。1ターンあたりの計算量は、中央値のチャットプロンプトよりはるかに多くなります。だからこそ、ここでの推定値はすべて最低値です。
-
恥をかかせる仕組みは設けません。 フッターは情報を示すものです。予算はユーザー自身が決めます。予算を超えたときに変わるのは、あなたが何を言うかであり、何をするかではありません。
推定:ターン数を数えて、掛け算し、最低値として示す
「ターン」とはモデル呼び出し1回のことです。エージェント型セッションでは、ツール使用の各ステップを含め、応答ごとに1ターンと数えます。ターン数は数えられますが、1ターンあたりのコストは把握できません。そのため、次のようにします。
推定最低値 =(数えられるターン数)× 0.24 Wh(保守的な基準値)
フッターには結果だけを表示します(「表示」を参照)。算出方法は尋ねられたときに説明します。「これはどう測定しましたか」と聞かれたら、計算式、ターン数、出典情報を添えた2つの基準値を伝えてください。ターン数を数えられない場所では、控えめに推定し、その旨を伝えてください。最低値を示す記号を付けずに結果を提示してはいけません。数値の末尾に + を付けます(36+ Wh)。実際のコストはそれより高く、低くはならないという意味を正確に保ちながら、自然に読める表記です。
表示:簡潔に保つ
簡潔な1行で、規模に応じた絵文字を使い、算出方法の説明は入れません。
セッション終了時のフッター(~/.config/ai-limits/config で ENERGY_FOOTER=yes が設定されている場合、またはユーザーに求められた場合のみ表示します。自動化されたセッションでは省略します)。
💡💡💡💡💡💡 このセッションで6+ Wh · 約40分、明かりをつけておける量
合計が大きくなったら、絵文字の意味が伝わるよう単位を切り替えます。
📱📱📱 今週は51+ Wh · スマートフォンを3回フル充電 · 約5時間、明かりをつけておける量
ルール:
- 数値: 数えたターン数 × 0.24 Whを四捨五入し、最低値を示す末尾の
+を付けます。 - 💡: Whあたり1個、最大10個です。📱: スマートフォンのフル充電1回(約15 Wh)あたり1個、最大10個です。電球の数が判別しにくくなったら、スマートフォンに切り替えます。
- 体感できる換算: 明かりをつけておける時間 = Wh ÷ 10 W LED、スマートフォンの充電1回 ≈ 15 Whです。月単位・年単位の換算(✈️のフライトなど)には、エネルギーから炭素への換算値の引用が必要です。それはエネルギートラッカーの役目であり、このフッターの役目ではありません。
- この行にはほかの情報を入れません。算出方法と出典情報は、必要に応じて答えるものであり、常に表示するものではありません。
テキストとして表示されるあらゆるものと同様、フッターはすべての場所で助言にとどまります(limits-setup の適用マトリックスを参照)。その効果は、ユーザーがそれに従うことで生まれます。
週間予算(任意、3 つのモード)
インタビューでは 4 つの選択肢を提示し、設定には次のように記録します。
| 選択肢 | 設定 | 動作 |
|---|---|---|
| 結構です | ENERGY_FOOTER=no | エネルギーについては一切触れません |
| 情報のみ | フッターを有効化、予算なし | フッターのみで、それ以外は何もしません |
| 予算+警告 | ENERGY_BUDGET_MODE=warn | 予算を超えると、週に 1 回だけ、次のメッセージをそのまま表示し、それ以外は何もしません。「🌍 FYI, you've exceeded your weekly energy budget of Wh.」 |
| 予算+制限 | ENERGY_BUDGET_MODE=restrict | その週の下限値が予算を超えると、energy-gate.sh フックがそれ以降のプロンプトを拒否します。簡潔で、毎回同じ内容です。意図的に入力する操作で上書きできます(コマンドは先回りして伝えず、聞かれた場合に伝えてください)。 |
予算の週は固定です。月曜日の午前 0 時(デフォルトでは午前 4 時)に始まり、翌週の月曜日にリセットされます。リセット日は指定でき、常に変動する期間ではありません。
予算の有無にかかわらず、フッターが有効な場合は常に、次の処理を行います。
- ファイルシステムがある場合は、セッションごとに 1 行を
~/.config/ai-limits/state/energy-ledger.logに追記します。2026-08-27 wh=2+ turns=8 <one-word context>— この形式を変更せず、解析可能な状態に保ってください。これは予算計算、週次レポート、および予算設定の基準としてユーザーが使う初週のベースラインのデータソースです。 - 数値を選ぶ際の目安:スマートフォンのフル充電は約 15 Wh、10 W の LED を 1 時間点灯すると 10 Wh、公開されているチャットのプロンプトは約 0.25 Wh です。
- 制限モードの正直な位置づけ: これはキットの 3 つのゲートのうち、最も弱いものです。静音時間ゲートは時計を参照し、セッションゲートはフックが書き込んだ状態を参照します。このゲートは、セッション終了時に AI 自身が書き込む台帳を参照します。これは実際に機能する制限ですが、最善努力で収集されたデータに基づきます。ユーザーは数値が測定値ではなく下限値であると理解して選んでいます。拒否メッセージで、それ以外のように装ってはいけません。
ベースラインの確認
設定で ENERGY_FOOTER=yes が指定され、ENERGY_BUDGET_WH_WEEK が未設定で、台帳に 1 週間分のデータがある場合、次回の制限/エネルギーレポートの冒頭にベースラインを表示します。つまり、その週の下限値の合計を正確に表現し、それを基準に予算を設定するよう尋ねます(5b で「不明」が記録されている場合は、適用モードも尋ねます)。キットが自発的に尋ねるのはこの 1 回だけです。しつこく促しているのではなく、本人が 5a で回答した内容に基づいて予定された確認です。先送りされた場合はそのまま受け入れ、次にユーザーがレポートを求めたときだけ再度尋ねてください。
週次レポート
「energy report」と尋ねられた場合、または制限レポートの一部として求められた場合は、台帳の範囲を合計し、電球の行を表示して、予算が設定されていれば比較します。また、その数値が何を示すかを明記してください。実際のコストのうち、ある一部分の下限推定値であり、トレーニング、ハードウェアの内包コスト、アイドル状態の処理能力、およびプロバイダーが公開していない情報は含まれません。レポートが完全な情報を示しているかのように伝えてはいけません。台帳に欠落がある場合は、推測で補完せず「未測定」と記載してください。