すべての記事
Gemini 2.5/3 で本文が空なのに finish_reason が MAX_TOKENS になるときの原因と対処
プロンプトはほんの数行なのに、maxOutputTokens を絞った gemini-2.5-flash が空文字を返し finish_reason が MAX_TOKENS になる — 犯人は思考トークンです。原因と3通りの対処を実装コードで整理します。
アプリ説明文のローカライズで Gemini 2.5 Flash と Flash-Lite を使い分けた所感
壁紙アプリの説明文を多言語へ展開する作業で、Gemini 2.5 Flash と Flash-Lite を同じ素材に通して比べた運用ログです。コスト差、崩れる場面、ロケールごとの使い分けの落とし所まで、現場でつまずいた点を淡々と記録しました。
Gemini を組み込んだ機能の採算を、機能単位で見る設計 — 残す・直す・畳むを判断するために
Gemini API のコストはアカウント単位では見えても、機能単位の採算までは見えてきません。リクエストに機能タグを付けてコスト台帳を作り、AdMob や課金の収益シグナルと突き合わせて貢献利益を算出し、残す・直す・畳むを判断する設計を、実際に運用しているコードとともにまとめました。
Gemini APIで「Unsupported MIME type」エラーが出るときの原因と対処
画像や音声をGemini APIに渡したときに発生する『Unsupported MIME type』エラーを、MIMEタイプの綴り間違い・octet-stream問題・非対応フォーマットの3つの観点から切り分けて、確実に動くコードで解決します。
429を出さずにバルク処理を速くする:Gemini APIの適応的並行度制御
数万件をGemini APIに流すバルク処理で、固定並行度はほぼ必ず429と取りこぼしを生みます。429のフィードバックで並行度を自動調整するAIMD方式を、有界ワーカープールとデッドレター、再開可能なチェックポイントのコード付きで本番設計します。
Gemini 2.5 Flash で App Store のキーワード欄を多言語最適化した1ヶ月の所感
App Store Connect の100文字キーワード欄を、40本の壁紙アプリ×複数ロケールで Gemini 2.5 Flash に下書きさせた1ヶ月の運用ログです。CJK の文字数、タイトル重複の排除、禁止語の落とし穴、ロケールごとの効きどころの違いまで、現場でつまずいた点を淡々と記録します。
Gemini 3 の thought signatures を保持してマルチターン function calling を壊さない本番設計
Gemini 3 の思考モデルで function calling を組むと、2 ターン目以降に推論が浅くなる現象に当たります。原因は thought signature の欠落です。署名を保持する本番実装と検証手順をまとめました。
Gemini 2.5 Pro で thinkingBudget を 0 にすると INVALID_ARGUMENT になる原因と対処
Gemini 2.5 Pro で thinkingBudget を 0 にすると 400 INVALID_ARGUMENT が返る原因を、モデルごとの思考予算レンジの違いから解説します。Pro でレイテンシを抑える正しい書き方と Flash への切り替え判断を Python・JavaScript のコード付きで紹介します。
Gemini 2.5 Flash で App Store Connect の日次売上をSlack要約に変えて2ヶ月運用した所感
App Store Connect の Sales/Trends API から落とした日次レポートを、Gemini 2.5 Flash で短いSlack要約に変える運用を2ヶ月続けた所感をまとめます。Pro との使い分け、AdMob 収益と並べて読むときの工夫、要約が滑った日の対処を運用ログから残します。
Gemini API の多段パイプラインに『残り時間予算』を伝播させる設計 — 4 秒 SLA を守りながら品質を段階的に落とす実装メモ
個人開発のヘルプ検索機能で多発した DEADLINE_EXCEEDED を、リクエスト単位の締め切り予算を埋め込み・検索・生成の各段に伝播させる設計で解消した記録です。残り時間に応じて maxOutputTokens を縮め、フォールバック予算を確保する実装を TypeScript でまとめています。
Embedding APIでアプリレビュー1万件を意味クラスタリングして改善優先度を割り出す設計
貯まり続けるアプリレビューを Gemini Embedding で意味クラスタに束ね、改善優先度を割り出す設計です。HDBSCAN による粗いクラスタリング、Gemini によるクラスタ主訴の要約、優先度スコアリングという3層パイプラインとコスト設計の勘所を残します。
Gemini API キーに HTTP リファラー制限をかけたら本番サイトから 403 エラーになる原因と対処
Google Cloud Console で API キーに HTTP リファラー制限を設定したら、ブラウザから叩く本番サイトでも 403 エラーが返るようになった、というつまずきの原因と対処を、リファラー文字列の書式・SDK 別の挙動・サーバー側プロキシへの逃し方、さらにブラウザ直叩きで起きる CORS エラーとの切り分けまで含めて整理します。