同じ gemini-flash-latest が、リージョンごとに違うモデルを指していた — 比較値が汚れる数日間の見つけ方
エイリアスの解決先はリージョン単位でロールアウトされます。同じ gemini-flash-latest を東京と us-central1 に投げると、数日だけ別のモデルが応答する。その間の比較値が無効になる理由と、1発のプローブで検知して比較を凍結する設計をまとめます。
難読化されたスタックトレースを Gemini に渡していました — retrace を前段に置くまで、診断はもっともらしく外れ続けます
release ビルドのスタックトレースは R8 で名前が潰れています。それをそのまま Gemini に渡すと、診断は落ち着いた文体のまま外れます。retrace を前段に置き、mapping を versionCode で突合し、復元できないときは断定させない。42件で数え直した記録です。
目標日を迎えても来なかったモデルに、設定を先に合わせない — 上限を実測から引くコンテキスト予算の設計
報道された 7/17 を迎えても Gemini 3.5 Pro の公式発表はありません。噂の数値を定数に焼き込む代わりに、モデルが公表する上限を実測から引き、超過時に落とさず縮退させるコンテキスト予算層を、動くコードで設計します。
日本語で引いた検索に、対訳の英語記事が出てこない — 埋め込みが内容より先に言語を見ている件
gemini-embedding-2 で日英の対訳ペアを埋め込むと、同じ内容なのに最近傍になりません。言語そのものが類似度を押し上げているためです。対訳ペアを正解として再現率を測り、言語重心を引く方法と翻訳ブリッジを比べた記録をまとめます。
途中で切れた Gemini のストリーミングを、引き直すか続きから書かせるか — 二重に払わないための分岐設計
モバイル回線でストリーミングが切れたあと、無条件に全部引き直していませんか。受信済み出力を続きに使う方式との費用差を式で出し、継ぎ目の壊れ方まで含めて分岐条件を決める設計をまとめます。
システム指示を何語で書くか — 現地語のプロンプトが多数になったアプリで3方式を測り直す
システム指示を英語で固定するか、ユーザーの言語に訳して渡すか。countTokens で言語別の入力トークンを実測し、出力言語の一致率とスキーマ遵守率を並べて、9トークンで足りる場所と訳すべき場所を切り分けます。
生成ログを丸ごと残すのをやめました — 3層の保持設計とプロンプト指紋で追跡性だけを残す
障害調査のために Gemini API のリクエストとレスポンスを丸ごと保存していました。3層の保持設計とプロンプト指紋に切り替え、本文を消しても原因を辿れる状態を保った記録です。
Gemini にスクリーンショットを採点させたら、全部78〜85点だった — 絶対スコアを捨ててペア比較に切り替えるまで
Gemini Vision に App Store スクリーンショットを100点満点で採点させると、良い案も崩した案も78〜85点に潰れます。弁別能を実測して絶対スコアを捨て、位置バイアスを除いたペア比較でランキングを作るまでの実装記録です。
=GEMINI() を420行に貼って気づいたこと — カスタム関数をやめ、値で書き戻すまでの実測
Sheets のカスタム関数から Gemini を呼ぶ構成は、動いた瞬間がいちばん美しく、そこから伸びません。30秒の壁・制御できない再計算・書き戻せない結果という3つの性質を実測で確かめ、値で書き戻す設計へ移すまでの手順とコードを残します。
表を渡したはずが、行と列の対応が消えていた — Docs の構造を保ったまま Gemini に渡す抽出層
Apps Script の getBody().getText() は Docs の表を段落の並びに潰します。42行×5列の運用台帳での取り違え実測と、要素ツリーを歩いて構造を残す抽出層の実装、その受け入れテストまでを記録しました。
すべての記事を見る (728) →