AIエージェントシステムの費用はどう決まる?API利用料から運用費まで

AIエージェントシステムの費用は、LLM APIの利用料だけでは決まりません。検索やデータ保存などのツール、実行状態の管理、ログや評価、人による確認といった複数の費用で構成されます。

その中でもLLM APIの利用料は、モデルを呼び出した回数、一回の呼び出しで処理した文章量、入力と出力に適用される単価などによって変わります。利用者には一回の操作に見えても、内部ではLLMとツールが何度も呼び出されることがあります。

この記事では、AIエージェントシステムの費用がどの範囲から成り、その中でLLM APIの費用がどのように決まるのかを説明します。

AIエージェントシステムは複数の要素で構成される

LLM(Large Language Model)は、入力された文章などをもとに、回答、要約、分類、情報抽出といった処理を行うモデルです。会話サービスだけでなく、問い合わせ対応、文書検索、議事録作成などのシステムにも組み込まれています。

API(Application Programming Interface)は、あるソフトウェアの機能やデータを、別のソフトウェアから決められた方法で利用するための接点です。受け取るデータ、返すデータ、認証方法、エラーの表し方などの約束事を含みます。APIという言葉自体が、AIや従量課金を意味するわけではありません。

LLM APIはAPIの一種で、アプリケーションからLLMへ入力を送り、生成結果を受け取るために使われます。AIエージェントシステムは、このLLM APIを中心に、検索、外部サービスの操作、状態管理、権限確認などを組み合わせたシステムです。たとえば、社内文書を検索して回答する処理は、次のように構成されます。

利用者が質問する

社内システムが権限を確認する

検索APIで関連文書を探す

質問と検索結果をLLM APIへ送る

生成された回答を画面に表示する

この中で、LLM APIが担うのは質問と検索結果を受け取り、回答を生成する部分です。権限確認、文書検索、画面表示は、別のプログラムやサービスが担います。AIエージェントが検索結果を見て追加検索を行う場合は、この一連の処理が複数回繰り返されます。

ChatGPTなどの会話サービスと、システムへ組み込むLLM APIも別のサービスです。会話サービスの月額契約とAPIの従量料金は、通常、異なる契約・請求として扱われます。

一回の利用者操作と一回のAPI呼び出しは別の単位

費用の仕組みでは、利用者から見える処理と、システム内部の処理は別の単位です。

単位 意味
利用者の依頼 利用者から見た一回の操作や仕事
API呼び出し アプリケーションがAPIへ一回のリクエストを送ること
LLM呼び出し システムがLLMへ一回の生成処理を依頼すること
ツール呼び出し LLMやアプリケーションが検索など別の機能を実行すること

利用者から見える一回の操作が、システム内部では複数のLLM呼び出しになることを示す図

単純な要約機能では、一回の利用者の依頼が一回のLLM呼び出しに対応することがあります。一方、調査エージェントは、検索語の生成、検索結果の判定、追加調査、回答の生成、回答の検査を別々の処理として行います。この場合、利用者には一回の操作に見えても、内部では複数回のLLM呼び出しが発生します。

失敗時の再試行、出力形式が合わない場合の再生成、複数モデルによる検査なども呼び出し回数を増やします。利用者の依頼が内部で複数の処理へ展開される関係は、しばしばファンアウトや呼び出し増幅と表現されます。

トークンはモデルが文章を処理する単位

LLMは、入力された文章を「トークン」という単位へ分割して処理します。トークンは文字や単語と完全には一致しません。同じ文字列でも、利用するトークナイザーによって分割結果が異なる場合があります。

日本語の費用を大まかに概算するときは、1文字をおおむね1トークンとして扱うと桁をつかみやすくなります。たとえば、一回の処理で約4,000文字を送り、月に1万回実行する場合、概算は月間約4,000万入力トークンです。

約4,000文字 × 1万回 ≒ 約4,000万入力トークン

これは予算規模を把握するための概算です。実際のトークン数は、モデル、文章、英数字、記号、URL、コードなどの割合によって変わります。APIのレスポンスや利用記録に含まれるトークン数は、実際の請求に対応する値を示します。

料金表や利用記録には、次のような区分が現れます。

区分 含まれるものの例
入力トークン 質問、指示、会話履歴、検索結果、ツール定義
キャッシュ済み入力 過去の計算結果を再利用できた入力部分
出力トークン LLMが生成した回答、要約、構造化データ
推論トークン 対応する推論モデルが回答生成のために内部で使用するトークン

推論トークンの表示方法や課金上の扱いは、APIとモデルによって異なります。文章量の単位であるトークンと、API認証に使われる「アクセストークン」も別の概念です。

単価は一種類とは限らない

テキストを扱うLLM APIでは、一般に入力と出力に別の単価が設定されます。キャッシュ済み入力に別単価が設定されるサービスもあります。単価は、多くの場合「100万トークン当たり」の金額で表されます。

入力費用 = 入力トークン数 × 入力単価
出力費用 = 出力トークン数 × 出力単価

実際の一回の料金は、入力、キャッシュ済み入力、出力などの内訳を、それぞれの単価で計算した合計です。モデルや提供経路によっては、長い入力に別の単価が適用されたり、処理方式によって料金が変化したりします。

すべてのAI APIがトークンだけで課金されるわけでもありません。画像生成では画像の枚数や解像度、音声では時間、検索やコンピューター操作などのツールでは呼び出し回数が料金の単位になることがあります。OpenAI APIの料金表も、テキストトークンのほか、画像、音声、動画、組み込みツールなどを別々の区分で掲載しています。

LLM APIの費用は四つの要素に分解できる

トークン課金のLLM APIについて、期間内の変動費は次の形で表せます。

利用者からの依頼数
× 一依頼当たりのLLM呼び出し回数
× 一呼び出し当たりのトークン数
× 適用される単価

これは概念を理解するために単純化した式です。実際には入力、出力、キャッシュ済み入力などを分けて計算し、ツール料金などを加えます。

LLM API費用が、依頼数、一依頼当たりの呼び出し回数、一呼び出し当たりのトークン数、単価の掛け算で構成されることを示す図

四つの要素は、別々の理由で変化します。

要素 値が変わる例
利用者からの依頼数 利用者数、利用頻度、対象業務の範囲
一依頼当たりの呼び出し回数 処理工程、再試行、再生成、エージェントの反復
一呼び出しのトークン数 会話履歴、検索結果、ツール定義、回答の長さ
適用単価 モデル、入力と出力の区分、キャッシュ、処理方式、提供経路

請求総額が同じ割合で増えていても、利用者の依頼が増えた場合と、一依頼当たりの内部処理が増えた場合では、システム内で起きていることが異なります。

入力には利用者の文章以外も含まれる

チャット画面に入力された質問だけが、入力トークンになるとは限りません。アプリケーションは、モデルへの指示、過去の会話、検索で取得した文書、出力形式の例、ツールの名前や引数の定義などを組み合わせてAPIへ送ります。

モデルへの指示
+ 利用者の質問
+ 会話履歴
+ 検索結果
+ ツール定義
= APIへ送られる入力

会話が続くたびに履歴全体を送り直す設計では、後半の呼び出しほど入力が長くなります。検索結果を複数件含めるRAGでは、利用者の質問より検索文書のほうが多くのトークンを占めることもあります。ツールを多数登録したエージェントでは、ツール定義が毎回の入力に含まれる場合があります。

そのため、画面に表示される文章量と、APIが処理する入力トークン数は一致しないことがあります。

キャッシュ、バッチ、ルーティングが変えるもの

LLM APIには、同じ結果や同じ入力部分の計算を再利用する仕組みがあります。キャッシュには、アプリケーションが完成した回答を保存する形と、API事業者が共通する入力部分の計算を再利用するプロンプトキャッシュがあります。

プロンプトキャッシュが成立すると、入力トークン自体が消えるのではなく、該当部分がキャッシュ済み入力として記録されます。通常の入力とは異なる単価や保持条件が設定される場合があります。

バッチ処理は、リクエストを即時に返す処理とは別の実行方式です。一定時間内にまとめて処理する代わりに、異なる料金やレート制限が設定されるサービスがあります。ここで変わるのは、モデルだけでなく、実行の時間条件です。

ルーティングは、入力や処理内容に応じて、接続先のモデルや推論事業者を変える仕組みです。一つの利用者の依頼の中で、分類、検索、回答生成などの工程に別々のモデルが使われる場合もあります。この場合、依頼一件の費用は複数モデルの利用料を合算したものになります。

AIエージェントシステムの総費用はAPI請求額より広い

AIエージェントシステムでは、LLM APIの利用料以外にも費用が発生します。

  • 文書検索やWeb検索
  • データベース、オブジェクトストレージ、ベクトル検索
  • ログ、トレース、評価、監視
  • ネットワーク通信
  • 専用の計算環境
  • 人による確認、修正、問い合わせ対応

LLM API利用料が、検索、データ保存、監視、ネットワーク、人による確認を含むシステム全体費用の一部であることを示す図

これらを含めた費用は、総保有コストやTotal Cost of Ownership(TCO)と呼ばれます。エージェントの実行を制御するアプリケーション、検索やブラウザ操作などのツール、処理途中の状態を保存する基盤も、この範囲に含まれます。ある処理をLLMから通常のプログラムへ移すと、LLM API費用が減る一方で、開発・運用費が増えることがあります。外部APIから自社運用のモデルへ移す場合も、トークン単価の代わりにGPU、推論サーバー、監視、障害対応などの費用が現れます。

したがって、APIの請求額とシステム全体の費用は、同じ数字を別の名前で呼んだものではなく、集計している範囲が異なります。

費用を何で割るかによって見える関係が変わる

総費用だけでは、利用量や処理結果との関係がわかりません。費用を別の単位で割ると、異なる側面を表せます。

指標 表している関係
依頼一件当たりの費用 総費用 ÷ 利用者からの依頼数 利用者の一操作に対応する平均費用
API呼び出し当たり費用 API費用 ÷ API呼び出し回数 一回の呼び出しに対応する平均費用
成功一件当たりの費用 総費用 ÷ 成功した依頼数 成果が得られた一件に対応する平均費用
利用者当たりの費用 総費用 ÷ 期間内の利用者数 利用者一人に対応する平均費用

たとえば、問い合わせを1,000件処理するために10万円かかり、800件が所定の解決条件を満たした場合、成功一件当たりの費用は125円です。

10万円 ÷ 800件 = 125円

ここでいう「成功」は、システムが扱う仕事ごとに意味が異なります。文書検索では、正しい内容、根拠の提示、権限の遵守などを組み合わせた条件として表されることがあります。要約では、必要な項目の保持や事実との一致が条件になることがあります。

成功件数を含む指標は、料金だけでなく処理結果も含むため、請求書だけからは算出できません。アプリケーション側の利用記録や評価結果と結びついた指標です。

まとめ

AIエージェントシステムの費用には、LLM API、ツール、データ保存、実行基盤、観測、人による確認などが含まれます。その一部であるLLM APIの費用は、利用者からの依頼数、一依頼当たりの呼び出し回数、一呼び出し当たりのトークン数、適用単価の組み合わせで形成されます。

利用者が入力した文章は、APIへ送られる入力の一部です。会話履歴、検索結果、ツール定義も入力トークンに含まれます。また、一回の利用者操作が複数のLLM呼び出しへ展開されるシステムでは、その回数も費用に反映されます。

APIの請求額、AIエージェントシステム全体の費用、依頼一件当たりの費用、成功一件当たりの費用は、それぞれ集計範囲や分母が異なります。これらは、同じシステムの費用を異なる範囲と単位で表したものです。

キャッシュ、モデルルーティング、エージェント、自社運用を含む費用構造の詳細は、『LLM APIコスト最適化 実践教科書』で説明しています。


AIエージェントLLM生成AIFinOps