短く収束したrequestの下限。通常予算の基準にはしません。
コスト目安と計測
公開済みの実測分布を初期目安にし、実運用ではrepository内のusage記録から自分の中央値と増加要因を確認します。
このページの内容
まず中央値を初期予算に使う
SpecRunnerの表示額はproviderの請求額ではなく、記録したtokenを内蔵価格表へ当てたUSD概算です。契約プラン、quota、割引、価格改定、未計測tokenはproviderの請求明細で確認します。
docs/cost.mdに記録された2026-06-10時点のスナップショットです。このproject自身のarchive 278 requestを、当時のAnthropic list rateで集計しています。
最初の見積もりに使う中心値。自分のrunが揃ったら置き換えます。
fixer loopを多く含む高コスト例。正常runの上限とはみなしません。
基準値。 初回は1 requestあたり$8.58前後を粗い基準にし、同じrequest typeを5〜10件実行した後にjob statsの自分の中央値へ更新します。
token総数だけで高い・安いを決めない
cache readは通常inputより安価です。総tokenだけでlist input rateを掛けると過大になります。
高コスト側にはfixer loopの反復が含まれます。costとconvergenceを同時に見ます。
同じtoken量でもmodelとcache種別で金額が変わります。slug合計だけでなくstep別に確認します。
follow-up、output repair、再実行で取得したusageもrunner内で加算されます。resumeは完了済みstepを飛ばしますが、再開後に発生したturnは新しいusageとして記録されます。
fresh inputを見るときだけcache readを引きます。 内部評価資料ではfresh input = inputTokens − cacheReadInputTokensとして読みます。これはcontextの再利用率を見る指標で、SpecRunnerが表示するUSD計算式そのものではありません。
main checkoutから3段階で確認する
# 1 runのstep別見積もり
npx specrunner job show <job-id>
# 1 requestのtoken内訳
npx specrunner usage my-feature
# 全runの分布と機械集計
npx specrunner job stats
npx specrunner job stats --json| command | 得られる値 | 使いどころ |
|---|---|---|
specrunner job show <jobId|slug> | 1 runのstep別cost | activeまたは特定jobを調べる |
specrunner usage <slug> | invocation別・model別token | activeを優先し、なければ最新archive |
specrunner usage | archiveのslug別・step別・model別tokenとcost | 過去runの内訳を比較する |
specrunner job stats | active + archiveのduration・convergence・cost | run単位の分布を見る |
specrunner job stats --json | 同じ統計の構造化データ | 外部集計・定期観測に使う |
- 01個別run
job showで高いstepとmodelを特定します。 - 02同種run
job statsでcost中央値、duration中央値、convergence平均を並べます。 - 03時系列
--jsonを保存し、request typeやmodel構成を変えた前後で比較します。
usage <slug>はtoken内訳、引数なしのusageはarchive集計とcost、job statsはactiveとarchiveを含むrun統計です。目的を混同しません。
4種類のtokenをmodel単価で合算する
estimated USD =
inputTokens / 1,000,000 × input rate
+ outputTokens / 1,000,000 × output rate
+ cacheReadInputTokens / 1,000,000 × cache-read rate
+ cacheCreationInputTokens / 1,000,000 × cache-write rate| model family | input | output | cache read | cache write | 根拠 |
|---|---|---|---|---|---|
| Claude Opus 4.5–4.8 | $15.00 | $75.00 | $1.50 | $18.75 | 実単価 |
| Claude Sonnet 4.5–4.6 | $3.00 | $15.00 | $0.30 | $3.75 | 実単価 |
| Claude Haiku 4.5 | $0.80 | $4.00 | $0.08 | $1.00 | 実単価 |
| o3 | $10.00 | $40.00 | $2.50 | $0 | 実単価 |
| GPT-5.1 / 5.2 Codex / 5.3 Codex / 5.4 / 5.5 | $10.00 | $40.00 | $2.50 | $0 | o3 tierによる近似 |
| GPT-5.4 mini | $1.50 | $6.00 | $0.375 | $0 | 近似 |
| GPT-5.3 Codex Spark | $3.00 | $12.00 | $0.75 | $0 | 近似 |
単位はUSD / 1M tokens。価格表の基準日はAnthropicが2026-06-07、OpenAIが2026-06-12です。[1m] variantは別keyとして解決されますが、現行表では対応するbase modelと同じflat-rate近似です。
OpenAIの複数modelは近似値です。 現行ソースは個別の公開価格がないmodelをo3 tierなどで近似しています。$?やnullだけでなく、数値が出ても近似かどうかをこの表で確認します。
認証方式と実際の支払いを分ける
| 実行方式 | SpecRunnerの表示 | 実際の確認先 |
|---|---|---|
| provider API key | token × 内蔵list rate | providerのusage・請求明細。価格日と割引を照合 |
| Claude Code / Codexの保存済み認証 | 取得できたtokenを同じ価格表で換算 | subscription quota。表示USDはlist-rate相当で、追加請求額とは限らない |
| managed | session usageをbest-effortで取得 | usageが取れなければcostは不明。managed側の記録を確認 |
credentialの解決順とruntime別の環境変数は権限・認証・環境変数を参照してください。
金額capではなく増加要因を制御する
現行SpecRunnerにmaxCostUsdのような金額上限はありません。provider側のspend alertを最終境界にし、SpecRunnerでは高コスト化する条件を狭めます。
- 01requestを絞る
受け入れ基準と非対象を明記し、不要なdesign・fixer往復を減らします。
- 02modelを役割で分ける
品質が必要なstepだけ高単価modelを使い、既知の軽作業は低単価modelを検証して使います。
- 03turnと時間を制限する
Claude localでは
steps.*.maxTurns、各runtimeではtimeoutMsを明示します。 - 04反復を観測する
cost急増時は
job statsのconvergenceとjob showのstep内訳を確認します。 - 05請求側で止める
providerのbudget・alert・quotaを設定し、SpecRunnerの推定値だけに依存しません。
model、maxTurns、timeoutMsの設定例は設定レシピで確認できます。
0・不明・部分集計を区別する
| 状態 | 表示 | 判断 |
|---|---|---|
usage.jsonなし | nullまたはno data | 0 USDではない。取得・保存されていない |
modelUsageなし | no usage data | managed等のbest-effort取得に失敗した可能性 |
| 価格表にないmodel | $?、null、または集計から除外 | tokenとprovider請求を手動確認 |
| priced / unpriced混在 | job statsはpriced分だけ数値化 | 表示額を全額とみなさない |
| Codex reasoning token | usage.jsonへ未マッピング | provider側と差が出る計測穴 |
pricing.tsは会計台帳ではありません。 価格表は静的で、請求条件を自動取得しません。月次予算ではjob stats --jsonを運用指標、provider明細を金額のsource of truthとして扱います。
参照ソース 10件
docs/cost.md278 requestの実測スナップショットsrc/core/usage/pricing.ts価格表・USD計算式src/core/usage/store.tsusage.jsonの保存形式src/core/command/usage-show.tsslug別usage表示src/core/command/usage-summary.tsarchive全体のusage集計src/core/command/job-stats.tsrun単位の統計src/cli/job-show.tsstep別cost表示src/adapter/codex/agent-runner.tsCodex token取得src/adapter/managed-agent/usage.tsmanaged usage変換docs/model-evaluation.mdcacheと計測上の注意