LLM課金の新常識:「1業務操作=1 APIコールログ」パターンで直感的な従量課金を実現
本記事は、SaaS「たすきば Knowledge Relay」が採用した、大規模言語モデル(LLM)の利用に伴う従量課金の設計パターンについて詳細に解説している。従来の課題として、内部処理では複数のAPI呼び出しが発生するにもかかわらず、これをそのままユーザーに見せると、「なぜこれほど多く使ったのか?」という直感的な違和感や不安を招く点が挙げられる。
この問題を解決するため、たすきばは「1業務操作=1 ApiCallLog」に集約するという方針を採用した。具体的には、プロジェクト作成(Anthropicタグ抽出+Voyage埋め込みの計2回API呼び出し)であっても、ユーザーには「1件の操作」としてのみ課金ログを記録する仕組みである。
この設計を実現するために、「withMeteredLLM」というヘルパ関数が導入されている。このパターンでは、コールバック関数(`callback`)内で内部的に何回APIを呼び出しても、外部から見える「ApiCallLog」の記録は1件に限定され、同時にテナントの使用カウンターも+1される。これにより、ユーザーの体感的な操作単位と請求件数を完全に一致させている。
また、CSVインポートのようなバルク処理においても、100件のデータ埋め込み(Voyage embedding)を内部で実行しても、課金ログは「1件」として集約される。さらに、入力テキストがすべて空の場合にはAPI呼び出し自体を行わず、コストとログの両方を発生させない最適化も行われている。
この設計判断の核は、「ユーザーに見える課金単位」と「内部のAPI呼び出し回数」を明確に分離することにある。これにより、ユーザー体験を損なうことなく、柔軟で直感的なLLM従量課金システムを構築することが可能となる。
背景
近年、SaaSにおけるAI機能の導入が進む中で、利用料金(従量課金)の設定が大きな課題となっている。特にLLMは内部で複数のAPIコールや複雑な処理を伴うため、そのコストとユーザーへの請求単位をどう一致させるかが設計上の難点となる。
重要用語解説
- withMeteredLLM: 本記事で紹介されるヘルパ関数であり、外部から見える課金ログ(ApiCallLog)の記録を1回に集約する役割を持つ。内部処理が複雑でも、ユーザーには単一の操作として体感させるための仕組みである。
- 従量課金: 利用した分だけ料金を支払う支払い方式のこと。LLMサービスでは、API呼び出し回数やトークン使用量に基づいて費用が発生する形態を指す。
- ApiCallLog: システムが外部API(例:Anthropic, Voyage)を呼び出した履歴を記録するログデータ。本記事の設計では、このログの件数をユーザーへの課金単位として利用している。
今後の影響
この「業務操作=課金単位」というパターンは、LLMを活用したSaaS開発における標準的なベストプラクティスとなり得る。これにより、技術的複雑さ(内部API回数)とビジネス上の直感性(ユーザー体感)のギャップを埋め、より高いユーザー満足度を持つ料金体系設計が可能となる。