0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIコスト削減の実例 Cloudflareが1回2.43ドルを0.77ドルにした方法

0
Last updated at Posted at 2026-10-25

2026年10月23日 日本時間16時時点の情報です。数字はすべてCloudflareのブログ(2026年10月19日公開)とAnthropicの公式ドキュメントによります。

3行まとめ

CloudflareのAIコードレビューの費用は1回あたり平均2.43ドルから0.77ドル(68%減)、待ち時間の中央値は4分9秒から1分32秒。最初に確かめるのは、最初のリクエストがキャッシュを読めているかと、今の設定で本物の問題を見つけられているかの2つ。

  • CloudflareはAIによる社内のコードレビューの費用を、1回あたり平均2.43ドルから0.77ドルに下げました(68%減)。待ち時間の中央値も4分9秒から1分32秒に縮んでいます。
  • 一番効いたのは、新しいモデルではなく「AIの会話の最初のリクエストが、使い回せるはずの部分を本当に使い回せていたか」を確かめて直したことでした。
  • Cloudflareは、AIエージェントを数多く動かしているなら「最初のリクエストがキャッシュを読めているか」「払っている設定で本物の問題を見つけられているか」の2つを最初に確かめる、と書いています。

一言でいうと何の話か

Cloudflareは社内で、プログラムの変更をAIに確認させる仕組み(AIコードレビュー)を動かしています。4月の時点で1回あたり平均1.19ドルだった費用が、8月末には約2.46ドルと、ほぼ倍になっていました。

Cloudflareは、どこでお金を使っているかを1件ずつ調べ、無駄を削りました。その結果が1回あたり0.77ドルです。

AIコードレビュー1回あたりの平均費用の推移。4月は1.19ドル、8月末は約2.46ドル、10月の記事時点は0.77ドル。

冒頭の2.43ドルは、取り組み前で最も高かった2週間の平均です。ブログによると、削減分の約40%はレビューの仕組み側の修正、残りは使うモデルと設定の見直しによるものです。

以下の施策と数字は、Cloudflareのブログ「Cutting our inference bill by 68% by being obsessive about optimization」に書かれているものだけです。

先に知っておく言葉

この記事でよく出る言葉を、先に説明します。

トークン、プロンプト、プロンプトキャッシュ、effortの4つの言葉の説明。

トークンは、AIが文章を読み書きするときの単位です。AIの利用料は「AIに送ったトークンの量」と「AIが書いたトークンの量」で決まります。

プロンプトは、AIに送る指示や資料の全体です。AIは1回やりとりするたびに、それまでの会話をまるごと送り直して読み直します。会話が長くなるほど、1回ごとに送る量が増えます。

プロンプトキャッシュは、何度も送る「最初の同じ部分」をAI提供元のサーバーに一時的に保存し、次から安く読み出す仕組みです。Anthropicの公式ドキュメントでは、次のように決まっています。

  • 使い回せるのは先頭から続く部分だけで、保存した範囲の中身が100%同じときだけ読み出せる
  • 保存するとき(書き込み)は通常の1.25倍の料金、読み出すときは通常の0.1倍の料金(Opus 5.5とSonnet 5.5は0.05倍)
  • 保存は初期設定で5分間。読み出されるたびに5分延びる

つまり、毎回同じ先頭部分を読み出せていれば安くなり、毎回保存し直していると逆に高くつきます。

エフォート(effort)は、AIにどれだけ考えさせるかの設定です。CloudflareはこれをmediumやhighといったレベルでAIの担当ごとに変えています。

Cloudflareのレビューの仕組み

4月のブログによると、取りまとめ役のAIエージェント(指示を受けて自分で作業を進めるAI)が、セキュリティや性能、コードの質などを見る専門のエージェントに仕事を割り振ります。変更の大きさで3段階に分け、大きい変更ほど多くのエージェントが見ます。

10月時点では、取りまとめ役がClaude Opus 5.5(effortはmedium)、コードの質・セキュリティ・性能の担当がClaude Sonnet 5.5です。コードの質だけeffortがhigh、残り2つはmediumです。

レビューの流れ。プログラムの変更を取りまとめ役(Opus 5.5)が受け取り、コードの質・セキュリティ・性能の担当(Sonnet 5.5)に割り振り、指摘をまとめて1件のコメントとして投稿する。

なぜ費用が倍になっていたか

ブログによると、費用が増えた大部分は、この数か月のモデルの変更によるものでした。8月初めに全担当をAnthropicのモデルに移したとき、1件あたりの費用は1.38ドルから2.03ドルに上がっています。性能の比較で、この作業にはAnthropicのモデルのほうが成績がよかったためです。

あわせて、1レビューあたりのトークン数は91万から299万へと3倍以上に増えていました。取り組み直前の支出の内訳は、AIが書いた分が約23%、キャッシュの書き込みが43%、キャッシュの読み出しが34%です。払っているお金の4割以上が「保存し直し」に使われていたことになります。

取り組み直前の費用の内訳。AIが書いた分が約23%、キャッシュの書き込みが43%、キャッシュの読み出しが34%。

コードの質の担当は、1レビューでAIを平均16.6回呼び出し、そのたびに会話全体を送っていました。Cloudflareは方針を2つに絞ります。各会話の最初のリクエストで保存済みの部分を読み出すことと、呼び出し回数を減らすことです。

何をしたら費用が下がったのか

費用を下げた5つの施策と効果。共通部分だけを保存、資料を最初から渡す、呼び出しの無駄を削る、最初のリクエストをそろえる、モデルとeffortを見直す。

1. 共通部分がキャッシュされていなかったのを直した(一番効いた施策)

どのリポジトリ(プログラムの保管場所)でも、会話の先頭には同じツールの説明と同じ指示文、1万1千〜2万1千トークン分が並びます。本来なら毎回キャッシュから読み出せる部分です。

ところが調べると、会話の最初のリクエストがキャッシュを読めていたのは14〜26%だけでした。使っていた道具(OpenCode v1)が、共通の指示文の直後に作業フォルダ名と日付を足して1つのかたまりにし、その末尾でだけ保存していたためです。日付は毎回変わるので、かたまり全体が毎回別物になり、共通部分だけでは保存されていませんでした。

Cloudflareは指示文の末尾に目印を入れてかたまりを2つに分け、共通部分だけで保存されるようにしました。リポジトリごとに変わるものを先頭に置かない、ツールの説明をジョブごとに変えない、といった調整もしています。9月16日の変更後、最初のリクエストがキャッシュを読めた割合は91〜99.5%に上がりました。ブログはこれを単独で最大の削減と書いています。

直す前は共通部分と日付をまとめて保存しており、最初のリクエストがキャッシュを読めた割合は14〜26%。直した後は共通部分だけを保存し、91〜99.5%になった。

公式ドキュメントにも、毎回変わる内容(タイムスタンプなど)を保存位置より前に置くと「毎回書き込みの料金を払い、読み出しは一度も起きない」という失敗例が載っています。Cloudflareの状態はこれにあたります。

2. 毎回読みに行っていた資料を最初から渡した

社内の開発ルールを見る担当は、毎回、最初の3往復を使ってルールの資料をツールで読みに行っていました。資料を最初から指示文に入れたところ、1回あたりの呼び出しが15.9回から9.6回に、費用が1.12ドルから0.72ドルに下がりました。1と2を合わせて、1レビューあたり2.47ドルが2.02ドルになっています。

3. 呼び出しの無駄を細かく削った

9月21日と23日の変更は、1つずつは小さいものの、合わせて1レビューあたり約0.20ドルを減らしました。主なものは次のとおりです。

  • 使えないツールを外した。下位の担当が、使えない投稿用ツールを57〜76%の会話で呼ぼうとしていた
  • 必要なファイルを1回でまとめて読むようにした。コードの質の担当は、64%の回で1回に1つしかツールを使っていなかった
  • 2回目以降のレビューでは、要らない担当を省くようにした。ジョブの約3分の2が2回目以降のレビューだった
  • 結果を投稿したら止めるようにした。誰も読まない要約のために会話全体を読み直していた(1ジョブあたり約0.07ドル減)

ほかに、時間切れを障害と区別して同じ条件で再実行しないようにした変更や、取り消したジョブを止める変更もあります。取り消されたジョブ446件のうち358件が、最後までレビューを続けていました。

4. 3つの担当で最初のリクエストをそろえた

コードの質・セキュリティ・性能の3つの担当は、最初に送る中身をまったく同じにしました。1つ目が保存し、残り2つはそれを読み出します。

ただしキャッシュは、保存したリクエストの返答が始まるまで読み出せません。これは公式ドキュメントにも書かれています。そこで2つ目と3つ目は、1つ目の返答が始まるのを最大20秒待ってから送ります。少し遅くなる代わりに、1担当あたり約9セント減りました。

5. モデルとeffortを見直した

取りまとめ役は、Opus 5.5のmediumにしても、Opus 5と比べてレビュー結果や重大な指摘に測れるほどの変化はありませんでした。Opus 5.5のhighはmediumより高く、指摘も意味のあるほどは増えませんでした。

3つの担当はSonnet 5からSonnet 5.5に切り替えました。半分ずつ振り分けて比べたところ、1回あたりの費用はコードの質で62%、性能で58%、セキュリティで47%安くなりました。ブログは、トークンの単価は同じなので、差はすべて使うトークンが減ったことによると書いています。

ブログによると、モデルの単価の差で説明できる削減は約0.20ドルだけで、残りはやりとりするトークンが減った分です。9月初めと比べて、1レビューあたりのキャッシュ読み出しは82%、書き込みは54%、AIが書いた分は67%減りました。

安くしたら、レビューの質は落ちたのか

質の確かめ方2つ。直された割合は34%から59%、別のAIの判定で重要な指摘は0.28件から0.30件。ただしmediumでは本物の指摘も減った。

費用が下がっても、見つけるべき問題を見逃していたら意味がありません。

重大・警告レベルの指摘の件数は、8月下旬と比べて減りました。コードの質(high)で40%、セキュリティと性能(medium)で56%と71%です。Cloudflareはこれを2つの方法で確かめています。

1つ目は、指摘を受けてプログラムを書いた人が実際に直したかどうかです。コードの質の担当の重大な指摘のうち、直された割合は34%から59%に上がりました。直された件数は1,000レビューあたり145件から132件で、誤差の範囲です。

2つ目は、提供元の違う2つのAIモデルに、657件の指摘を「どちらの期間のものか」を伏せて判定させる方法です。意見が割れたら3つ目のモデルが決めています。重要な指摘は1レビューあたり0.28件から0.30件で、ほぼ変わりませんでした。一方、重大度を大げさに付けていた指摘は70%減っています。

ただし、すべての担当で質が保てたわけではありません。

  • コードの質をmediumにすると、直された指摘はhighの約4分の1になった。そのためhighを選んでいる
  • 性能の担当(medium)は、重要な指摘が約64%減った。大きいレビュー24回に1件ほど、重要な指摘を見逃す計算になる
  • セキュリティの担当(medium)は約4分の1減ったが、統計的に意味のある差ではない

ブログは、この2つはhighでの検証を次に行うと書いています。また、「直した」ことは指摘が正しかった証拠ではない、判定役もAIである、比べた件数がグループごとに35〜66件しかない、「現在」の期間が1日だけ、という限界も自分で書いています。結論は「費用が下がっても質が自動的に落ちるわけではないが、自動的に大丈夫というわけでもない」です。

読者ごとの得

読む人ごとに持ち帰ること。企業は費用と質を両方見る、非エンジニアはキャッシュが効いているか聞く、エンジニアは届いた中身を記録する。

AIの費用を気にする企業の方

  • 費用はモデルの変更などで、気づかないうちに倍になりうる。Cloudflareでも4月から8月でほぼ倍になっていた
  • 下げ方は「安いモデルに替える」だけではない。Cloudflareの削減のうち、モデル単価の差は約0.20ドルで、大半は送る量と回数を減らした分だった
  • 削った後は質の確認が必要になる。Cloudflareは「指摘が直されたか」と「別のAIによる判定」で確かめ、mediumで質が落ちた担当はhighに戻している

非エンジニアの方

AIの料金は「AIに読ませた量」と「AIが書いた量」で決まり、同じ資料を何度も読ませると、そのたびにお金がかかります。キャッシュは、同じ資料をまとめて安く読ませる仕組みです。ただし、資料の先頭に日付のような毎回変わるものが入っていると効きません。社内のAIツールの費用が高いと感じたら、エンジニアに「キャッシュは効いていますか」と聞くのが最初の一歩になります。

エンジニアの方

効いたのは、「最初のリクエストで実際に提供元へ届いた中身」を確かめたことでした。Cloudflareは担当ごとの最初の呼び出しのトークン使用量と、送ったシステム指示文の先頭部分のハッシュ(中身が同じかを見分けるための短い値)を記録して、キャッシュが効いていないことを見つけています。道具が裏で何を足しているかは、記録を取らないと分かりません。

自分の環境で確認するチェックリスト

自分の環境で確認するチェックリスト。まず確かめる2つと、キャッシュが効かないときと呼び出しの無駄の確認項目。

Cloudflareが「最初に確かめる」としている2つから見ます。

  1. 各会話の最初のリクエストが、キャッシュを読み出せているか。AnthropicのAPIなら、返答に含まれる cache_creation_input_tokens (書き込んだ量)と cache_read_input_tokens (読み出した量)で見られる
  2. 今のモデルとeffortで、本物の問題を見つけられているか。件数ではなく、指摘が実際に直されたかなどで確かめる

キャッシュが効いていなかったら、次を見ます(1つ目はCloudflareの事例、残りは公式ドキュメントの記述によります)。

  1. 日付や作業フォルダ名など、毎回変わるものが共通部分より前に入っていないか
  2. ツールの説明を途中で変えていないか。公式ドキュメントでは、ツールの定義を変えるとキャッシュ全体が無効になる
  3. effortの設定を途中で変えていないか。公式ドキュメントでは、effortを変えると会話部分のキャッシュが無効になる
  4. 同時に送るリクエストが、最初の返答が始まる前に送られていないか。その間はキャッシュを読み出せない

呼び出し回数については、Cloudflareで無駄になっていたものが参考になります。

  1. 毎回、同じ資料をツールで読みに行っていないか
  2. 使えないツールや要らないツールを渡していないか
  3. 作業が終わった後に、誰も使わない処理を続けていないか
  4. 取り消したジョブや時間切れのジョブが、裏で動き続けたり同じ条件で再実行されたりしていないか

注意点

  • 2.43ドルと0.77ドルは1レビューあたりの平均です。2.43ドルは取り組み前で最も高かった2週間の平均、0.77ドルはコードの質の担当をhighにした前提の数字です。ブログの中では、取り組み前の値が2.43ドル、2.44ドル、2.46ドル、2.47ドルと場面ごとに少しずつ違い、その理由は書かれていません。
  • 施策ごとの効果は、変更の前後の時間帯を比べたものです。ブログ自身が「統計的にきちんとした比較実験ではない」と書いています。
  • キャッシュの読み出し料金を、ブログは通常の0.1倍と書いていますが、Anthropicの公式ドキュメントではOpus 5.5とSonnet 5.5は0.05倍です。また、ブログはSonnet 5と5.5のトークン単価を同じと書いていますが、公式の料金表ではキャッシュ読み出しの単価だけ違います(100万トークンあたりSonnet 5が0.20ドル、5.5が0.10ドル)。料金は公式ドキュメントで確かめてください。
  • この事例はAnthropicのモデルとOpenCodeを使った社内の仕組みの話です。キャッシュの細かい決まりは提供元ごとに違うので、自分が使っているサービスのドキュメントで確認が必要です。

まとめ

Cloudflareの費用は、安いモデルに替えたことより、送る量と回数を減らしたことで大きく下がりました。きっかけは、使い回せるはずの先頭部分が毎回保存し直されていたのを、実際に届いた中身から見つけたことです。削った後は質を測り直し、mediumで指摘が減ったコードの質の担当はhighにしています。

自分のAIの費用が気になったら、まず最初のリクエストの使用量を1件見てみてください。毎回書き込みばかりで読み出しがゼロなら、公式ドキュメントが失敗例に挙げている状態で、Cloudflareが最初に直したのと同じ形です。

出典

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?