AIコーディングサービスを選ぶとき、最初に見えるのは月額料金です。しかし、月額が同じでも、完成まで進められる作業数は同じとは限りません。長い文脈を何度も読み直す仕事、複数ファイルを直す仕事、テストで失敗して再試行する仕事では、モデル、利用枠、計測単位、道具の使い方によって消費の速さが変わります。
利用者が本当に困るのは「月20ドルか40ドルか」だけではありません。「同じ月額なのに、こちらは何本も完成したのに、別のサービスは数本で枠が苦しくなった」「修正の途中で利用上限に達し、再開時に説明し直した」「安いと思ったが、人が差分を読む時間まで含めると高かった」といったずれです。ここには、料金表だけでは比較できない需要があります。
そこでこの記事では、製品の性能順位を決めません。主役は料金表の転載ではなく、あなた自身の作業を使って「合格した完成品1件に、結局いくらかかったか」を測る方法です。OpenAI、Anthropic、GitHub、Cursor、Googleの公式情報は、測定条件を決めるための入口として確認します。比較不能な「トークン」「クレジット」「リクエスト」「共有利用枠」は、無理に一つの単位へ換算しません。
結論を先に言うと、見るべき数字は次の一つです。
完了単価 = その比較期間に投入した総費用 ÷ 合格条件を満たした完了作業数
ただし、総費用には月額だけでなく、追加課金、人の検品時間、やり直し、途中停止からの復旧、最後まで完成しなかった作業へ使った時間も含めます。分母には「AIが回答した回数」ではなく、事前に決めた合格条件を通過した作業だけを入れます。
月額比較が仕事の実態から外れる理由
月額料金は、契約の入口を知るには役立ちます。一方、仕事の費用を知るには情報が足りません。主に五つのずれがあるからです。
1. 1回の依頼の重さが違う
短い関数の説明と、20ファイルを調べて不具合を直し、テストまで通す作業は、どちらも画面上では「1回の依頼」に見えます。ところが、読み込む文脈、生成するコード、道具の実行、再試行の量は大きく違います。リクエスト数だけを比べると、重い仕事を処理した側が不利に見えることがあります。
2. 各社の枠の単位がそろっていない
あるサービスは共有利用枠、別のサービスはAIクレジット、別のサービスはモデルのAPI価格に連動した利用量、さらに別のサービスは1日当たりのリクエスト上限を示します。単位の意味が違うため、「1クレジットは何リクエスト」と一律に換算すると、かえって実態から遠ざかります。
3. 回答と完成は違う
コードが出力されても、ビルドに失敗する、既存機能を壊す、要件の一部を落とす、安全上の確認が足りない、といった状態なら完成ではありません。回答回数を分母にすると、未完成を大量に出すほど安く見える逆転が起きます。
4. 人の時間が見えなくなる
AIが10分で変更案を出しても、人が90分かけて差分を読み、テストを直し、説明不足を補ったなら、その90分は費用です。反対に、生成に時間がかかっても、人の付き添いが少なく、合格条件まで自動で検証できたなら、業務全体では安い可能性があります。
5. 枠切れは未完成と復旧時間を生む
途中で利用上限に達すると、単に待ち時間が増えるだけではありません。再開後に文脈を説明し直す、作業状態を確認する、別のモデルへ渡す、手作業へ戻す、といった復旧費用が発生します。月額だけを見ると、この費用はゼロとして扱われます。
まず「完了」を定義する
完了単価を測る前に、作業ごとの合格条件を固定します。比較後に条件を変えると、気に入った製品だけを合格にしやすくなります。
たとえば「小さな不具合修正」なら、次のように決めます。
- 指定した不具合が再現しなくなった。
- 対象の自動テストが通った。
- 既存テストに新しい失敗がない。
- 指示していないファイルを変更していない。
- 秘密情報、不要な通信、危険な権限変更がない。
- 人が差分を読み、採用可能と判定した。
「説明文の追加」なら、ビルド成功、リンク切れなし、既存の書式に一致、事実の出典あり、指定文字数を満たす、といった条件に変えます。合格条件は製品ごとに変えず、同じ作業カードへ保存します。
ここで重要なのは、部分成功を完了数へ入れないことです。途中まで有用だった作業は「未完成」として残し、有用だった点は別の観察欄へ書きます。厳しく見えますが、未完成へ使った料金と時間は総費用に残るため、途中停止の影響を正しく反映できます。
完了単価に入れる費用
比較期間の総費用は、次の式でまとめます。
総費用
= 配賦した固定料金
+ 追加従量料金
+ 人の検品費
+ 人の修正費
+ 途中停止からの復旧費
+ 比較のためだけに発生した環境費
完了単価
= 総費用 ÷ 合格した完了作業数
「配賦」とは、月額料金のうち今回の比較に使った分を割り当てることです。契約をAIコーディングだけに使うなら、比較期間分の月額を日割りして使えます。チャット、文書作成、画像生成などにも同じ契約を使うなら、AIコーディングへ使った時間比率や利用明細の比率で分け、配賦方法をCSVへ残します。
比較期間の固定料金
= 税込み請求額 × 比較日数 ÷ 請求期間の日数
AIコーディングへの配賦額
= 比較期間の固定料金 × AIコーディング利用比率
人件費
= 人が使った分数 ÷ 60 × 自分で決めた時間単価
自分の時間単価が決めにくい場合は、金額へ無理に変換せず「人の分数」を独立指標として併記します。その場合、完了単価は現金費用だけで計算し、「完了1件当たりの人時間」を別に出します。
現金完了単価
= (配賦固定料金 + 追加料金 + 環境費)÷ 完了数
完了1件当たりの人時間
= (検品分 + 修正分 + 復旧分)÷ 完了数
この二本立てなら、時間単価の仮定で結果が大きく変わる問題を避けられます。経営判断で一つの金額が必要なときだけ、合意した時間単価を掛けて総合完了単価にします。
やり直しと未完成をどう数えるか
やり直しは分母へ足しません。同じ作業を3回やり直して最後に合格したなら、完了数は1です。3回分の追加料金と人時間は分子へ入ります。最後まで合格しなければ完了数は0で、その作業に使った費用だけが総費用へ残ります。
製品ごとの差を見つけるため、次の補助指標も計算します。
初回合格率 = 初回で合格した作業数 ÷ 着手作業数
最終完了率 = 合格した完了作業数 ÷ 着手作業数
平均再試行回数 = 再試行の総回数 ÷ 着手作業数
途中停止率 = 利用枠やサービス都合で止まった作業数 ÷ 着手作業数
未完成率 = 比較期間内に合格しなかった作業数 ÷ 着手作業数
検品時間単価 = 人の検品分数 ÷ 合格した完了作業数
途中停止は原因を分けます。「利用枠到達」「サービスエラー」「接続問題」「利用者が安全のため停止」「依頼時間の上限到達」を同じ障害にしません。利用枠到達だけを製品の枠切れとして集計し、安全停止は正しい挙動として別に扱います。
5社の公式情報は「換算表」ではなく測定条件として読む
以下は2026年7月24日に確認した公式情報です。金額は、公式ページが米ドルで示しているものを米ドルのまま記載します。日本円へは換算しません。為替、消費税、カード会社の手数料、アプリストア経由の価格、地域別価格は利用者ごとに異なるため、実測では必ず購入画面または請求書の税込み実額をCSVへ入れてください。
| 提供元 | 公式ページで確認できる料金・枠の例 | 枠切れ・追加利用 | 実測時の確認場所 |
|---|---|---|---|
| OpenAI | ChatGPTの公式料金ページはPlusを月20米ドルとして掲載。Codexの利用はプランの利用枠とクレジットの仕組みに関係する | PlusまたはProでCodexのプラン枠に達すると、対象アカウントでは追加クレジットを購入できる。機能・プラン・アカウントで利用可否が異なる | Codex SettingsのUsage Dashboard。残量、利用履歴、クレジット設定を記録する |
| Anthropic | 個人向けはProが月20米ドル、Max 5xが月100米ドル、Max 20xが月200米ドル。地域により現地通貨や税の表示が異なる | ClaudeとClaude Codeは利用枠を共有する。上限後は待機、プラン変更、利用クレジットなどの選択肢がある | Claude Codeの/usageまたは/statusと、ClaudeのSettings内Usage。APIキー利用へ切り替わっていないかも記録する |
| GitHub | Copilot Proは月10米ドル、Pro+は月39米ドル、Maxは月100米ドル。公式ページでは各プランの月間AIクレジット総額も示される | AIクレジットを使い切った後、追加の有料利用を許可するには予算設定が関係する。1 AIクレジットは0.01米ドルだが、処理ごとの消費量はモデルとトークン量で変わる | GitHubのCopilot settingsとBilling and licensing。利用量、更新日、追加利用予算を記録する |
| Cursor | 個人Proは月20米ドル。公式ドキュメントはProに20米ドル相当のAPIエージェント利用と追加のボーナス利用が含まれると説明する | 含まれる利用量を超えたときはエディタで通知され、追加利用の購入または上位プランの選択肢が表示される。モデル選択で消費速度が変わる | Cursor Dashboardのusageとtoken breakdown、エディタの上限通知、spend limitを記録する |
| Gemini Code Assistの法人向けStandardとEnterpriseは、公式料金ページが月契約・12か月契約の時間単価を米ドルで掲載する。Standardの月契約表示は1時間0.031232877米ドル、Enterpriseは1時間0.073972603米ドル | StandardのエージェントモードとGemini CLIは合算で1ユーザー1日最大1,500リクエスト、Enterpriseは2,000。1プロンプトが複数のモデルリクエストになる場合がある | Google Cloud consoleのQuotas、Gemini Code Assistの利用画面、Cloud Monitoringを記録する |
ここで横並びにできるのは、あなたが実際に支払った金額と、合格した作業数です。OpenAIのクレジット、GitHubのAIクレジット、CursorのAPI価格連動利用、Googleのリクエスト上限は、名前が似ていても同じ量ではありません。Anthropicの「Proの5倍」「20倍」も、他社の月間クレジットへ換算できません。
また、Googleの公式資料では、エージェントモードやCLIの1プロンプトが複数リクエストになる場合があると明記されています。したがって、1,500という上限を「1,500作業」と読み替えてはいけません。GitHubでも、短い質問と複数ファイルを扱う長いエージェント作業ではAIクレジットの消費が異なります。比較の共通単位を「完成して合格した自分の作業」に戻す理由がここにあります。
同じ自分の作業を7日ずつ記録する
5社を比べるなら、各サービスを同じ条件で7日ずつ使います。合計35日の比較になります。契約期間や仕事の都合で同時に試す場合も、一つの作業を複数サービスへ同時に任せず、作業カードを事前に割り当てます。
比較前日: 作業カードを作る
普段の仕事から、難易度と種類が偏らない作業を集めます。たとえば次の組み合わせです。
- 小さな不具合修正
- 既存機能への入力検証追加
- テストの追加
- 小規模な整理
- ドキュメント更新
- 原因調査だけを行う診断
完全に同じ不具合を5回解かせると、2回目以降は利用者自身が答えを覚え、指示が上手になります。そこで「同じ種類、同じ難易度、同じ合格条件」の姉妹課題を用意します。過去の所要時間、変更ファイル数、テスト数を使って、できるだけ釣り合う組にします。
各カードには、開始状態、依頼文、変更可能な範囲、禁止事項、合格条件、作業1件の時間上限を書きます。時間上限は全サービスで同じにします。上限へ達した作業は未完成として止め、気に入ったサービスだけ延長しません。
1日目: 設定と計測方法を固定する
使用モデル、自動選択の有無、推論の強さ、エージェント権限、ネットワーク利用、同時実行数を記録します。可能なら同じ設定を7日間維持します。サービスごとに機能が違う場合は無理に同一化せず、「そのプランで通常使う設定」を固定し、差をCSVへ残します。
比較のために新しい追加課金は有効にしません。自動追加、従量課金、予算超過が無効であることを各社の確認画面で確かめます。すでに有効な場合は、比較前に状態を記録し、課金設定を勝手に変えず、測定対象から追加利用を除外するか、所有者が決めた上限内で別試験にします。
2日目から6日目: 同じ手順で作業する
各作業について、次の順序を変えません。
- 作業カードの依頼文を渡す。
- AIが最初の成果を出すまでの待ち時間を測る。
- AIが実行したテストと、実行できなかったテストを記録する。
- 人が差分を検品する時間を測る。
- 不合格なら理由を一つ選び、同じ修正方針で再試行する。
- 合格、時間上限、利用枠到達、安全停止のいずれかで終了する。
- 利用画面の残量と、追加料金の発生有無を記録する。
途中で利用枠に達したら、その日の残りを別の有料経路へ逃がしません。「枠切れで停止」として時刻、作業段階、失われた時間、公式画面に表示された再開時刻または選択肢を記録します。翌日に再開できたら、状態確認と説明し直しに使った時間を復旧時間へ入れます。
7日目: 新規作業を減らし、取りこぼしを確認する
最終日は、未完成を無理に完成扱いする日ではありません。前日までと同じ時間上限の中で、未完成作業を再開し、合格条件を再確認します。利用枠の都合で再開できない場合は、そのまま未完成にします。
最後に、公式の利用画面、請求明細、CSVの追加料金を照合します。画面表示のクレジットと請求額が対応しない場合、推測で補正せず「照合不能」と記録します。
記録するCSV列
表計算ソフトへ貼れる最小構成は次のとおりです。列名は英数字にしておくと、後で集計しやすくなります。
trial_id,provider,product,plan,currency,tax_status,region,trial_date,billing_cycle_start,task_id,task_type,difficulty,acceptance_criteria,model,model_selection,effort_level,agent_mode,parallel_count,start_time,end_time,ai_elapsed_min,human_review_min,human_fix_min,recovery_min,retry_count,status,fail_reason,limit_hit,limit_message,reset_time,usage_before,usage_after,usage_unit,fixed_fee_allocated,extra_charge,environment_cost,hourly_labor_rate,cash_cost,labor_cost,total_cost,files_changed,tests_run,tests_passed,unauthorized_changes,security_stop,notes,evidence_url
特に重要な列は次のとおりです。
| 列 | 入れる内容 |
|---|---|
status | passed、incomplete、stoppedのいずれか |
retry_count | 最初の出力後にやり直した回数 |
human_review_min | 差分、テスト結果、説明を人が確認した分数 |
human_fix_min | AIの成果を人が直接直した分数 |
recovery_min | 枠切れや中断後、元の状態へ戻るための分数 |
limit_hit | 利用枠へ達した場合はtrue |
usage_unit | credits、requests、tokens、shared_limitなど公式表示の単位 |
fixed_fee_allocated | 比較期間へ割り当てた税込み固定料金 |
extra_charge | 追加従量料金。発生していなければ0 |
evidence_url | 公式料金ページ、利用画面の保存先、社内証跡の場所 |
usage_beforeとusage_afterは会社間の直接比較には使いません。同じサービス内で、どの仕事が枠を多く使ったかを見るための列です。たとえばCursorの表示が米ドル相当、GitHubがAIクレジット、Googleがリクエストなら、その単位を保ったまま保存します。
集計シートの計算式
CSVから製品ごとに集計するときは、次の順で計算します。
着手数 = task_idの件数
完了数 = statusがpassedの件数
未完成数 = statusがincompleteまたはstoppedの件数
現金費用
= fixed_fee_allocatedの合計
+ extra_chargeの合計
+ environment_costの合計
人の総分数
= human_review_minの合計
+ human_fix_minの合計
+ recovery_minの合計
総合費用
= 現金費用
+ 人の総分数 ÷ 60 × hourly_labor_rate
現金完了単価 = 現金費用 ÷ 完了数
総合完了単価 = 総合費用 ÷ 完了数
完了1件当たり人時間 = 人の総分数 ÷ 完了数
完了数が0のとき、0で割って金額を出してはいけません。「算出不能、完了0件」と表示します。これは都合の悪い結果ではなく、比較期間と合格条件のもとでは完成まで到達しなかった、という重要な結果です。
平均だけでなく中央値も見ます。1件だけ極端に重い作業があると平均が引っ張られるためです。作業種類ごとに、完了単価、最終完了率、検品時間、途中停止率を分けると、「短い修正では人時間が少ない」「大きい変更では再試行が増える」といった条件差が見えます。
プランを上げない停止条件
比較中に枠が足りなくなると、上位プランへ変えたくなります。しかし、それをすると当初プランの完了単価を測れません。開始前に次の停止条件を決めます。
- 比較期間中は上位プランへ変更しない。
- 追加クレジット、従量課金、自動追加を新たに有効化しない。
- 公式画面で利用枠到達が表示されたら、そのサービスの新規作業を止める。
- 枠切れ後にAPIキー、別アカウント、別製品の有料枠へ自動で切り替えない。
- 1作業の時間上限または再試行上限へ達したら、未完成として止める。
- 意図しない広範囲変更、秘密情報の露出、危険なコマンド、権限逸脱があれば、利用枠に余裕があっても安全停止する。
- 請求画面と利用画面を照合できない場合、追加作業を始めず、結果を要確認にする。
- 7日分の測定が終わるまで、便利そうな新機能や新モデルへ途中変更しない。
この停止条件は「上位プランは悪い」という意味ではありません。まず現行プランの限界を測り、何件の未完成と何分の復旧時間を減らせるなら差額を回収できるかを計算するためです。
上位プランを検討するのは、比較が終わった後です。たとえば、枠切れ以外の合格率が高く、利用枠到達だけが未完成の主因であり、減らせる人件費がプラン差額を安定して上回る場合には、上位枠を別の7日間で再測定する価値があります。反対に、未完成の主因が要件の取り違えやテスト失敗なら、枠を増やす前に作業カードや検品方法を直す方が先です。
「安かった」を誤判定しないための注意点
無料枠と有料枠を混ぜない
キャンペーン、ボーナス、無料クレジットがある場合は、通常料金と分けて記録します。今回は安くても、更新後に再現できない可能性があるためです。「請求実額での完了単価」と「通常条件に戻した参考単価」を別々に示します。
月初と月末を混ぜない
月間枠の残量が多い時期と少ない時期では、途中停止の出方が変わります。開始時の残量と更新日を必ず保存します。Anthropicのように複数の画面や製品で利用枠を共有する場合は、比較外の利用も記録しないと原因を誤ります。
モデル自動選択を隠さない
自動選択は実用上の利点になり得ますが、同じ名称の作業でも内部のモデルが変わる可能性があります。自動選択を使った結果として測り、固定モデルの試験と混ぜません。性能順位ではなく、その設定一式の完了単価として扱います。
AIの待ち時間と人の拘束時間を分ける
AIが20分動いていても、人が別の仕事をできたなら、人件費20分とは限りません。ai_elapsed_minには経過時間、human_review_minなどには実際に人が使った時間を入れます。付き添いが必要だった時間だけを人件費へ入れます。
安全停止を失敗と決めつけない
危険な操作の前で止まり、承認を求めたなら、それは望ましい場合があります。安全停止を通常の未完成とは分け、作業カードで「どの操作は自動で進め、どこで止まるべきか」を先に定義します。止まるべき所を勝手に進めるサービスを、完了数だけで高く評価してはいけません。
比較結果の読み方
最終表では「総合1位」を作らず、用途ごとの条件を示します。
| 観察結果 | 読み方 |
|---|---|
| 現金完了単価は低いが検品時間が長い | 個人の趣味では許容できても、人件費が高い組織では逆転し得る |
| 完了率は高いが途中停止が多い | 成果の質より利用枠がボトルネックの可能性がある |
| 初回合格率は低いが最終完了率は高い | 対話で直しやすい一方、短時間の仕事では割高になり得る |
| 小修正は安いが複数ファイル変更は高い | 用途を分けて使う方が合理的な可能性がある |
| 月額は高いが人の修正が少ない | 人件費込みでは安くなる可能性がある |
| 完了0件 | その条件では単価を算出できず、採用判断の前に原因分析が必要 |
7日間の結果は、世界共通の性能を証明するものではありません。あなたのリポジトリ、言語、依頼の書き方、検品基準、使える道具、契約プランを含む「作業システム全体」の実測です。だからこそ、他人の順位表より、自分の購買判断に使えます。
また、差が小さい場合は無理に勝者を決めません。完了単価が近く、作業ごとのばらつきが大きいなら「今回の件数では差を判断しない」が正しい結論です。次の7日試験では、最も費用差が出た作業種類だけを増やし、同じ条件で再測定します。
料金ページを見る順番
実際に比較するときは、各社の料金表を次の順で読みます。
- 自分が契約している正確なプラン名と請求周期を確認する。
- 表示通貨、地域、税の扱い、請求書の実額を確認する。
- 含まれる利用枠が、チャットや他機能と共有されるか確認する。
- 利用枠の計測単位と更新時刻を確認する。
- 枠切れ時に停止するか、低価格モデルへ移るか、追加料金へ移るか確認する。
- 追加利用が自動で有効になる設定と、予算上限の場所を確認する。
- 利用量を確認できる画面またはコマンドを記録する。
- 7日試験の終了時に、利用履歴と請求明細をもう一度照合する。
料金表は頻繁に変わります。スクリーンショットだけを正本にせず、確認日と公式URLを残します。後から結果を読み返したとき、当時の条件と現在の条件を区別できます。
まとめ
AIコーディングの費用は、月額を並べただけでは分かりません。比較の分母を「メッセージ数」や「リクエスト数」ではなく、同じ合格条件を通過した完了作業数にします。分子には固定料金、追加課金、人の検品と修正、途中停止からの復旧、未完成へ使った費用を入れます。
そして、各サービスを同じ種類と難易度の作業で7日ずつ測ります。途中でプランを上げず、枠切れをそのまま記録し、単位の違うクレジットやリクエストを無理に換算しません。これで初めて、「月額はいくらか」ではなく「自分の仕事を1件、採用できる状態まで終えるのにいくらか」という判断ができます。
料金表は契約候補を絞る道具です。完了単価は、仕事に残すサービスを決める道具です。
公式出典
以下はすべて2026年7月24日に確認しました。料金は特記がない限り米ドル表示です。地域別価格、税、為替、アプリストア経由の金額は、各利用者の購入確認画面と請求書を優先してください。
- OpenAI「ChatGPT Pricing」: https://openai.com/chatgpt/pricing/
- OpenAI Help Center「Using Credits for Flexible Usage in ChatGPT」: https://help.openai.com/en/articles/12642688
- OpenAI Help Center「Codex rate card」: https://help.openai.com/en/articles/20001106-codex-rate-card
- Anthropic Help Center「Choose a Claude plan」: https://support.claude.com/en/articles/11049762-choose-a-claude-plan
- Anthropic Help Center「Use Claude Code with your Pro or Max plan」: https://support.claude.com/en/articles/11145838-use-claude-code-with-your-pro-or-max-plan
- Anthropic Help Center「How do usage and length limits work?」: https://support.claude.com/en/articles/11647753-how-do-usage-and-length-limits-work
- GitHub Docs「GitHub Copilot licenses」: https://docs.github.com/en/billing/concepts/product-billing/github-copilot-licenses
- GitHub Docs「GitHub Copilot billing」: https://docs.github.com/en/billing/concepts/product-billing/github-copilot-billing
- GitHub Docs「Models and pricing for GitHub Copilot」: https://docs.github.com/en/copilot/reference/copilot-billing/models-and-pricing
- Cursor「Pricing」: https://cursor.com/pricing
- Cursor Docs「Models & Pricing」: https://docs.cursor.com/account/pricing
- Google Cloud「Gemini for Google Cloud pricing」: https://cloud.google.com/products/gemini/pricing
- Google Cloud「Quotas and limits」: https://docs.cloud.google.com/gemini/docs/quotas
最終更新日: 2026年7月24日