Repository navigation
Measuring Energy Cost
Conscience estimates the energy consumption (Wh) and CO2 emissions of your AI-assisted work, broken down by model, using published research.
conscience report energy --days 30 # current project
conscience report energy --days 30 --all # every project on this machineSessions with no timestamp can't be placed in the window; they're excluded from the estimate and counted in the coverage line.
A per-model breakdown showing sessions, tokens, estimated Wh with uncertainty ranges, and a total with:
- Estimated kWh
- Blended efficiency (Wh per 1K output tokens)
- Estimated CO2 and water (when grid carbon intensity and water intensity are configured; both have defaults)
- Per-day rates over the interval, so a 7-day and a 30-day report compare
- An Equivalent to block: everyday comparisons chosen for the size of the estimate
"21 kWh" means little to most people. The report translates each quantity into two comparisons chosen by scale, each naming its source, each carrying the estimate's uncertainty range:
Equivalent to (illustrative)
Energy ≈ 3 days of an EU household's electricity (1.5–4.5)
source: Eurostat, ~3,600 kWh per household per year
CO2 ≈ 32 miles of gasoline-car driving (16–47)
source: EPA average passenger vehicle, 404 g CO2 per mile
Water ≈ 27 days of one person's drinking water (14–41)
source: 2 L per day
A single session reads in phone charges and laptop hours; a month across projects reads in household-days and car miles. The built-in references are: phone charges, laptop hours, US and EU household-days, and electric-car miles for energy; gasoline-car miles and a US person's daily electricity emissions for CO2; bottles, showers, and a person's daily drinking water for water.
Comparisons are illustrative, never a score. They feed the proportionality reflection question. Trees absorbing CO2 and flights are deliberately left out: the figures are contested or depend heavily on assumptions.
Under thresholds.energy.comparisons in conscience.yaml, adjust a built-in by its key, disable one, or add your own. Values are Wh, kg CO2, or liters per one unit:
thresholds:
energy:
comparisons:
eu_household_day:
value: 8500 # Wh per day for your country
source: "Destatis 2023"
us_household_day:
disabled: true
train_km:
quantity: energy
value: 100
plural: "km of electric-train travel"
source: "team estimate"No AI provider publishes official per-model energy data. Conscience uses third-party research to map each model to an energy tier:
| Tier | Example models | Wh/1K output | Uncertainty |
|---|---|---|---|
| Frontier | Claude Opus, GPT-4.5, o3 | 3.0 | ±100% |
| Large | Claude Fable/Sonnet, GPT-4o/4.1 | 1.5 | ±50% |
| Medium | Claude Haiku, GPT-4o-mini | 0.5 | ±50% |
| Small | GPT-4.1-nano, Gemini Flash | 0.15 | ±50% |
| Reasoning | o1, o3, extended thinking | 5.0 | ±150% |
| Large (assumed) | GPT-5.x, GPT-6.x | 1.5 | ±100% |
| Unknown | Unrecognized models | 1.0 | ±200% |
Tiers marked (assumed) have no published measurement at all. They are treated as GPT-4-class with doubled uncertainty, the source note says so, and the report prints a line explaining the marker whenever such a row appears.
Sessions in which no model produced output (API errors, rate limits, empty sessions) cost nothing and are excluded from the table; the report says how many were left out. Codex sessions are included alongside Claude Code.
Key ratios: output tokens cost ~5x input tokens; cache reads cost ~0.1x input tokens.
Sources: Jegham et al. 2025 (arXiv:2505.09598), mdodkins 2026, Patterson et al. 2025 (Joule), IEA 2025.
If you know better energy data for a model you use, override it in conscience.yaml:
thresholds:
energy:
grid_carbon_intensity: 0.23 # kgCO2/kWh — EU average
overrides:
"my-custom-model":
wh_per_1k_input: 0.5
wh_per_1k_output: 2.0Unset override fields keep the tier's default. See Configuration for all options.
- All figures are estimates based on third-party research. Actual energy depends on hardware, data center, batch size, and serving optimization (2-5x variation within a model class).
- Uncertainty ranges reflect measurement confidence, not precision.
- CO2 estimates compound two uncertainties (energy × grid intensity). The default intensity (0.42 kg/kWh) is location-based; providers report market-based figures using renewable purchase agreements that can be near zero. Both views are defensible, and the report says which it uses.
- Water follows the scope of Li et al. 2023: on-site cooling plus off-site electricity generation.
- Everyday comparisons inherit the energy estimate's uncertainty range and are shown with it.
Energy estimates also enrich:
- The EnvironmentalCost signal in
conscience examine— "Significant token consumption" includes estimated Wh and the best-scaled everyday comparison - The digest from
conscience examine --all --markdown— one comparison per quantity in the headline - The proportionality reflection question in
conscience reflect— data context includes estimated energy alongside token counts -
conscience report history— energy per output token across snapshots, so growth in compute can be compared to growth in output
-
Command Reference — full
report energyflags - Configuration — grid carbon intensity and model overrides
- The Seven Principles — the EnvironmentalCost principle (MH 101)
The eight commands
-
setup— what's configured -
examine— analyze a project, PR, or all projects -
report— github · ai · energy · tokens · authorship · attention · history · automation -
reflect— retrospective questions -
retro— aggregate saved reflections -
push— send a snapshot to a dashboard -
prune— remove a launcher behind failing automation -
du— what conscience takes up on disk;--tidyold snapshots
Guides
- Simplest Possible Start
- Getting Started
- Running a Team Retrospective
- Evaluating a Pull Request
- Understanding Your Attention Patterns
- Measuring Energy Cost
- Setting Up CI-CD
- Tracking Trends with a Dashboard
Reference