😊

LLM機能の仕様で考えること - コスパの観点

2024/12/01に公開

この記事は、Progate Path コミュニティ Advent Calendar 2024 の1日目の記事です。

https://qiita.com/advent-calendar/2024/progate-path


1. はじめに

こんにちは。Progate Path/Prospects グループのプロダクトマネージャー、@nakedtatsuyaです。

今回は、LLM(大規模言語モデル)機能をプロダクトに取り入れる際に意識しているポイントについて書いてみます。特に、コストと利益のバランスを考えることが重要であるため、その視点をメインに解説します。


2. LLMにはお金がかかる

LLMを利用する際、特に外部サービスのAPIを使う場合は従量課金制が主流であり、利用コストが無視できません。例えば、OpenAIのAPIを利用すると、トークン数や呼び出し回数に応じて料金が発生します。

コストを軽視したまま機能を導入すると、期待する利便性を実現できても赤字を生む可能性があります。そのため、事業モデル全体を考慮しつつ、機能の仕様を慎重に設計することが不可欠です。


3. コストの理解

LLMのコスト試算

LLMのAPI利用料金は「トークン」という単位で計算されます。例えば、2024年12月時点でのgpt-4oのAPI料金は以下の通りです:

  • $2.50 / 1M input tokens
  • $1.25 / 1M cached input tokens
  • $10.00 / 1M output tokens

トークン数はテキストの長さによって変わります。英語では平均1トークンあたり約4文字、または0.75ワードですが、日本語では1文字あたり2~3トークンになることがあります。この違いを理解し、試算に反映させることが重要です。

トークン計算ツール

OpenAIが提供するトークナイザー「tiktoken」を使用すると、テキストのトークン数を正確に計算できます。これにより、プロンプトの設計段階からコストを試算できるため、ぜひ活用してください。


4. ビジネスモデルの理解

LTVと売上の関係

仮に、月額課金モデル(1ユーザーあたり月1,000円)を採用している場合を考えます。平均継続期間が10ヶ月とすると、LTV(ライフタイムバリュー)は以下のように計算されます:

  • LTV = 月額料金 × 平均継続期間
  • LTV = 1,000円 × 10ヶ月 = 10,000円

LLM機能を導入することで課金ユーザー数や継続率が向上すれば利益に貢献します。しかし、コストが増えるだけでLTVが変わらなければ逆効果です。

また、単純化のために今回は下記を考慮せずに考えてみます。

  • 無料ユーザー
  • アップセルプランなどの単価
  • 流入や課金率向上による課金ユーザー数の増加

つまり、1ユーザー単体で見たときに効果があるかを見て判断することになります。


5. 仕様を考える

(1) アウトカムの設計

コスパを重視するあまり、ユーザーへの価値提供を忘れると本末転倒です。まずは、次のような問いを検討しましょう:

  • ユーザーにどのような価値を生みたいのか?
  • その価値をLLMを使うことでどのように実現できるのか?

:
AIによるサジェスト機能を備えたチャットボットで、ユーザー体験を向上させる仮説を立てる。

(2) コストの制約

価値提供を前提に、コストをコントロールする仕組みを設計します。

  • コスト試算:
    • 1回あたりのトークン数(入力+出力)を計算。
    • 例: 平均1回0.1ドル × 月10回 = 月1ドル/ユーザー。
  • 制約を決める方法:
    • 利用回数に上限を設定。
    • 入力文字数やトークン数に制限をかける。

(3) 試算例

1ユーザーあたり月1,000円のプランで、以下の2パターンを比較:

  • Before(LLM機能なし)

    • 売上: 月1,000円
    • コスト: 月0円
    • 利益: 10,000円(LTV)
  • After(LLM機能あり)

    • NGケース: LTVが変わらない場合
      • 売上: 月1,000円
      • コスト: 月100円
      • 利益: 9,000円(LTV)
    • OKケース: LTVが12ヶ月に増加
      • 売上: 月1,000円
      • コスト: 月100円
      • 利益: 10,800円(LTV)

6. 仕様への落とし込み

実際にLLM機能を設計する際には、次の点を意識すると良いでしょう:

  • コスト管理の仕組み
    • 利用回数やトークン数に制限をかける。
    • 特定の条件でのみ呼び出す仕様を検討。
  • 成果の計測
    • ユーザー体験がどの程度向上したかをトラッキング。
    • A/Bテストを活用して、LTVや継続率への影響を検証。

7. まとめ

LLMを使った機能は無限大の可能性を持っており、プロダクト開発に必須の要件になることは間違いなさそう。ただ、何も考えずに入れるのではなく事業とコストのことを理解したうえで仕様を決めていく必要があります。

海外のプロダクトマネージメントでは一定LLMに関するTipsも固まってきていそうなのでキャッチアップしていけたらなと思っています。

Progate Path コミュニティ

Discussion