約1年前から、夜に趣味でいじっていたサイドプロジェクトのためにAI APIを使い始めました。商用の本番規模ではありません。
3か月目には、月の請求額が約80ドルになっていました。大きくはないのですが、内訳を分解すると、必要以上にお金を使っていました。やっていたことの半分は、安いモデルであれば1リクエスト数セントで済んだはずです。単に怠けていました。
実際に変えたことはこちらです:
まず、すべてにフラッグシップを使うのをやめました。デフォルトはClaude 3.5 SonnetとGPT 4oでした。どちらも優秀です。ただ、私が求めていたことの半分には明らかに過剰でした。
テキストのごちゃごちゃした塊をきれいなタイトルに変える小さなユーティリティがありました。段落を入力して、1文を返します。Sonnetを使っていて、1,000,000トークンあたりの入力量が3ドル、出力量が15ドルでした。もっと単純なモデルでも処理できるタスクでした。
そこで、この1回の呼び出しをGemini 2.5 Flash Lite(入力量$0.10、出力量$0.40)に替えたところ、1リクエストあたりのコストが約30倍分下がりました。出力品質は同一でした。
今も守っているルールです。「このテキストを少し変換して」といったタスクなら、まずは低価格モデルを試します。予算モデルが本当に失敗したときだけフラッグシップに手を伸ばします。
次に、システムプロンプトをキャッシュして短くしました。主要な提供元はどこも、今はプロンプトキャッシュを提供しています。Anthropicはキャッシュ済みトークンが90%オフです。OpenAIは、プロンプトが1,024トークンを超えたら自動で対応してくれます。
システムプロンプトが600トークンで月3,000回呼ぶと、そのプロンプトだけでSonnet上で5.40ドルかかっていました。キャッシュすると54セントです。
ついでに、数か月ぶりに自分のプロンプトを実際に読みました。ひどい内容でした。「レスポンスを提供してください」。「もし可能なら〜だと助かります」みたいな丁寧語が延々続く。こういう配慮はトークンを食います。600から300に削りました。入力コストが永続的に50%節約できます。
システムプロンプトを声に出して読んでください。カバーレターみたいに聞こえるなら、長すぎます。
3つ目。計算するのに疲れました。試したい新しいモデルが出るたび、同じスプレッドシートを回していました。入力トークン×100万あたりの価格。出力トークン×100万あたりの価格。合計して、キャッシュ可否も確認して……。時間がかかりすぎるので、結局は適当に選んで、うまくいくことを祈っていました。
そこで、それをツールに組み込みました。quantacost.comにあります。テキストを貼り付けてモデルを選ぶと、コストが分かります。39モデルを横並びで比較できます。無料で、サインアップ不要です。価格は毎朝、公式の料金ページと照合して検証しています。というのも、前に「他人の電卓」を使ったら、数字が1年前のままでやられたことがあったからです。
ほとんどのタスクにおける正しいモデルは、いちばん賢いものではありません。失敗しない範囲でいちばん安いものです。


