GEMINI LABEN
FLASH35 — Gemini 3.5 Flashが一般提供となり、gemini-flash-latestが指す実体になりました。日常的な生成を速く安価にこなせますAGENTS — Gemini APIのManaged Agentsがpublic previewに。Google管理の隔離Linuxサンドボックスで自律的なエージェントを構築できますMEDIA — Nano Banana 2 Lite(画像)とGemini Omni Flash(動画・会話的編集)がAI Studio・API・Enterprise Agent Platformで利用可能にTTS — gemini-3.1-flash-tts-previewの音声生成がstreamGenerateContent経由でストリーミング対応になりましたTRANSLATE — 新しい音声モデルが70以上の言語を自動判別し、話者の自然な抑揚を保ったままライブ音声翻訳を行いますSPENDCAP — AI Studioにプロジェクト単位の費用上限が導入され、支出を安全側に抑えられるようになりましたFLASH35 — Gemini 3.5 Flashが一般提供となり、gemini-flash-latestが指す実体になりました。日常的な生成を速く安価にこなせますAGENTS — Gemini APIのManaged Agentsがpublic previewに。Google管理の隔離Linuxサンドボックスで自律的なエージェントを構築できますMEDIA — Nano Banana 2 Lite(画像)とGemini Omni Flash(動画・会話的編集)がAI Studio・API・Enterprise Agent Platformで利用可能にTTS — gemini-3.1-flash-tts-previewの音声生成がstreamGenerateContent経由でストリーミング対応になりましたTRANSLATE — 新しい音声モデルが70以上の言語を自動判別し、話者の自然な抑揚を保ったままライブ音声翻訳を行いますSPENDCAP — AI Studioにプロジェクト単位の費用上限が導入され、支出を安全側に抑えられるようになりました
記事一覧/API / SDK
API / SDK/2026-06-12中級

Gemini 機能の「使われ方」を測る — 受け入れ率・再生成率・編集距離で見る製品計測の設計

トークン消費やエラー率だけでは、Gemini で作った機能がユーザーに受け入れられているかは分かりません。生成のライフサイクルを5つのイベントに分解し、受け入れ率・再生成率・編集距離を Swift と BigQuery で計測してプロンプト改善につなげた設計と実測値をまとめました。

gemini-api276プロダクト分析計測設計Firebase AnalyticsBigQuery個人開発85

プレミアム記事

6月11日に Gemini API の大規模障害が起きたとき、私はエラー率のグラフを眺めながら復旧を待っていました。翌朝、すべてが平常に戻ったダッシュボードを確認していて、ふと別のことが気になったのです。エラー率は正常、レイテンシも正常、トークン消費も想定どおり。では、この機能は本当に「使われている」のか。その問いに答えられる数字が、手元に1つもありませんでした。

私が個人開発で運営している癒し系アプリには、朝の起動時に短いメッセージを生成して表示する「今日のひとこと」という機能があります。Gemini を組み込んだ小さな機能ですが、リリースから2週間、私が見ていたのは API 側の健全性だけで、ユーザーがその出力を保存したのか、すぐに作り直したのか、それとも黙って画面を閉じたのかを示すデータは何も取っていませんでした。この記事は、その反省から組み直した「製品側の計測」の設計記録です。

トークンの消費量は「価値」を測ってくれない

API のダッシュボードが教えてくれるのは、リクエスト数、エラー率、レイテンシ、そしてトークン消費量です。これらは運用の健全性を測る指標としては不可欠ですが、すべて「供給側」の数字であって、「需要側」の数字ではありません。

実際、私のアプリでは生成回数が1日およそ 1,900 回で安定しており、供給側だけ見れば順調でした。ところが後述する計測を入れてみると、生成された文章のうちユーザーが保存ボタンを押したのは 41% に過ぎず、28% は「再生成」タップで捨てられていました。トークンは消費されているのに、その半分近くがユーザーにとって外れだったわけです。供給側の数字がきれいなまま、需要側で静かに失敗している。これが AI 機能の怖いところだと、身をもって学びました。

LLM 運用の文脈では出力品質の自動評価やコスト監視の仕組みがよく語られますが、それらと「ユーザーが受け入れたか」は別のレイヤの話です。品質評価で満点の文章でも、ユーザーの気分に合わなければ捨てられます。製品としての AI 機能には、製品としての計測が必要です。

生成のライフサイクルを5つのイベントに分解する

計測を設計するにあたり、まず「今日のひとこと」機能でユーザーと生成物の間に起きることを時系列で書き出し、5つのイベントに分解しました。

  • ai_shown — 機能の入口が表示された(生成ボタンが見える状態になった)
  • ai_generated — 初回の生成が完了し、出力がユーザーに提示された
  • ai_regenerated — ユーザーが「作り直す」をタップし、別の出力に置き換えた
  • ai_accepted — ユーザーが保存・シェアなど「受け入れ」に相当する行動をした
  • ai_generation_failed — 生成がエラーで完了しなかった

「黙って閉じた」を表す abandoned はイベントとしては送らず、ai_generated があって ai_accepted も ai_regenerated もないセッションとして集計側で導出します。離脱は「何もしない」ことなので、クライアントから確実に送るのが難しく、導出値にした方が漏れなく数えられるからです。

全イベントに共通で付けるパラメータは次の4つに絞りました。

  • feature — 機能の識別子(例: daily_message)。複数の AI 機能を持つアプリで横断比較するための軸です
  • prompt_version — プロンプトのバージョン文字列。改善の効果測定はすべてこの軸で割ります
  • model_id — 呼び出したモデル名。モデル更新の影響を切り分けるために必須です
  • latency_ms — ユーザーが体感した待ち時間。API 側のレイテンシではなく、タップから表示までを測ります

ここで大切なのは、イベントの数を増やしすぎないことです。最初の設計では12イベントありましたが、集計で実際に使ったのは上の5つだけでした。計測は「集計クエリを書く自分」が顧客です。クエリに登場しないイベントは、ただの送信コストになります。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
生成ライフサイクルを5つのアナリティクスイベントに分解する設計と、Swift での計測ラッパーの完全実装
受け入れ率・再生成率・正規化編集距離の定義と、GA4 の BigQuery エクスポートを週次集計する SQL
受け入れ率 41% を 63% に引き上げた2週間の実測値と、数字が低いときの切り分け手順
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Gemini Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

API / SDK2026-07-14
並行して回す実験が共有予算を食い尽くす前に — AI Studio 費用上限をプロジェクト隔離の境界にする設計
個人開発で複数の Gemini 実験を同じ請求アカウントで並行させると、ひとつの暴走が他の全部を巻き添えにします。AI Studio に入ったプロジェクト単位の費用上限を隔離境界として使い、クライアント側のソフト天井と月次照合まで含めた設計を実装込みでまとめました。
API / SDK2026-07-04
一晩のバッチで静かに落ちた数十件をどう拾うか — Gemini Batch API の行単位リトライ台帳
Batch API の「完了」は「全件成功」ではありません。個人開発で夜間バッチを回し続けるなかで見えた、行単位の結果台帳・一時失敗と恒久失敗の切り分け・選択的リトライ・恒久失敗の無限リトライ防止を、SQLite で組んだ状態機械の動くコードとともに残します。
API / SDK2026-06-30
長尺の音源を Gemini に「聴かせて」章立てを作る — タイムスタンプ付き構造化抽出の実装
1時間を超えるヒーリング音源を手作業で章立てしていた作業を、Gemini の音声理解でタイムスタンプ付きの構造化データに置き換えた実装記録です。Files API での長尺アップロード、response_schema での JSON 固定、そして実際にハマったタイムスタンプのずれ・幻の無音区間を検証で潰すところまで、動くコードで残します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →