Skip to content

Measuring Energy Cost

Matt Konda edited this page Sep 21, 2026 · 4 revisions

Measuring Energy Cost

Conscience estimates the energy consumption (Wh) and CO2 emissions of your AI-assisted work, broken down by model, using published research.

Quick version

conscience report energy --days 30          # current project
conscience report energy --days 30 --all    # every project on this machine

Sessions with no timestamp can't be placed in the window; they're excluded from the estimate and counted in the coverage line.

What you get

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

Everyday comparisons

"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.

Adjusting comparisons for your region

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"

How the estimates work

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.

Overriding coefficients

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.0

Unset override fields keep the tier's default. See Configuration for all options.

Honest-measurement caveats

  • 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.

Where energy appears elsewhere

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

Related

Home

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; --tidy old snapshots

Command Reference

Guides

Reference

Clone this wiki locally