Gemini に渡す前に表が壊れる場所は結合セルと2行ヘッダ
スプレッドシートの表をそのまま Gemini に渡すと、結合セルと2行ヘッダで行の所属が失われます。抽出時点で何が消えるかを実測し、平坦化と集計行の検出までを Python で組みます。
Gemini の訳文で %1$s が消えても、レビューでは気づけません。文字列リソースへ戻す前の検査
Gemini に訳させたアプリの文字列から書式指定子が抜けたり全角になったりする事象を、実運用の中で拾い続けています。壊れ方を4種類に整理し、生成時に守らせる書き方と、受け取った直後に弾く短い検査を紹介します。
Gemini に書かせたレビュー返信を、送信前に止めるための最小の検査
ストアのレビュー返信は下書きより送信後が怖い作業です。守れない約束・連絡先の混入・文体崩れを送信前に機械で止める Python の検査を、実際に走らせた結果と誤検出の修正まで含めて置いておきます。
gemini-flash-latest への追従をやめた日 — モデルの静かな置き換えに耐えるバッチ設計
発表を伴わないモデル更新で、安定していたバッチの拒否率が一晩で4倍を超えました。gemini-flash-latest への追従をやめ、ピン留めとカナリア昇格の二段構えに移行するまでの実測と設計判断をまとめております。
分類ラベルの近ミスはリトライで直らない — 閉じた語彙を正規化する層を挟んだ実測ノート
responseSchema の enum を外したラベルをリトライで直そうとすると同じ近ミスが返ります。壁紙アプリの30分類バッチで外れ方の分布を測り、別名表と埋め込み最近傍で正規化する受け入れ層を挟んだ実装と実測値をまとめました。
構造化出力のストリーミングで、完成したフィールドから順に画面へ出す — 不完全なJSONを安全に読む部分パース
responseSchema でストリーミングすると、JSONが閉じるまで画面は真っ白なまま待たされます。不完全なJSONを安全に補完して読む部分パースと、一度出した値を後退させない逆流防止を組み、最初のフィールドまでの体感を実測とともに縮める設計を残します。
長尺の音源を Gemini に「聴かせて」章立てを作る — タイムスタンプ付き構造化抽出の実装
1時間を超えるヒーリング音源を手作業で章立てしていた作業を、Gemini の音声理解でタイムスタンプ付きの構造化データに置き換えた実装記録です。Files API での長尺アップロード、response_schema での JSON 固定、そして実際にハマったタイムスタンプのずれ・幻の無音区間を検証で潰すところまで、動くコードで残します。
Gemini の構造化出力でJSONのフィールド順がブレる — propertyOrdering で固定する実装メモ
responseSchema で型を縛っているのに、出力JSONのキーの並びが呼び出しごとに変わる。スナップショットテストが理由なく赤くなる原因はこれでした。propertyOrdering でフィールド順を固定し、few-shot の順序も揃え、差分ノイズを消すまでをコード付きでまとめます。
日英2版を1回の構造化出力でまとめて生成し、用語の対訳ブレを止める運用設計
日本語版と英語版を別々に生成すると用語の訳が記事ごとにブレます。Gemini 3.5 Flash の構造化出力で日英をペアにして1コールで生成し、用語集をピン留めしてブレを機械検出する運用を、実測値とともにまとめます。
App Store 審査リジェクト対応に Gemini API を組み込む — 通知の構造化から Resolution Center 返信までの運用記録
App Storeの審査リジェクト通知をGemini APIで3層のJSONに構造化し、ガイドライン照合・Resolution Center返信ドラフト・提出前セルフチェックへつなげた個人開発の運用記録です。
AdMob レポートの判定は Gemini にやらせない — 構造化出力を「抽出」に限定する設計
AdMob レポートからフロア(eCPM 下限値)を決めるとき、Gemini に判定そのものをやらせるのは危険です。構造化出力は「乱れたレポートを型付きデータに抽出する」工程だけに限定し、しきい値判定は決定論的なコードに置く——その設計理由と実装を、実際の 42 グループ運用の判定ルールとともにまとめました。
Gemini API でアプリのローカリゼーションを自動QAする: 翻訳ドリフトを早期検出する構造化出力パイプライン
累計5,000万DLの個人開発アプリで多言語ローカリゼーションを運用するなかで見えた、翻訳ドリフトを早期検出する Gemini 2.5 Pro × 構造化出力の評価パイプラインを設計から実装まで整理します。