すべての記事
止まるときは静かに止まる — 定期実行の Gemini 呼び出しに、タイムアウト・空出力・多重起動の殻をかぶせる
cron などで `gemini -p` を呼ぶ定期実行が、応答待ちで止まる・終了コード 0 で空を返す・前回分と重なる、の 3 つから身を守る外側のシェルスクリプトです。替え玉コマンドで測った終了コードと所要秒数、タイムアウトが子プロセスをどこまで止めるかも載せました。
クラッシュ報告を毎回ゼロから読ませない — 既知バグ早見表を先に grep して、GEMINI.md には索引だけ置く
アプリのクラッシュ報告を調べるとき、過去の不具合の全文を毎回読ませずに済ませる運用です。ID から 1 行を引く早見表と、GEMINI.md に置く範囲の決め方、そのまま使える grep 関数をまとめました。
Veo 3.1 の preview 3種が 10/22 に止まります。差し替えの前に、呼び出し箇所の棚卸しから始めました
Veo 3.1 の preview 3種は 10/22 に提供終了、移行先は gemini-omni-1.1-flash です。モデル名を置換する前に、リポジトリ内の呼び出し箇所を洗い出す検索スクリプトと、期日を過ぎたら黙って別モデルへ流れずに止まる設定の書き方をまとめます。
Gemini CLI に新しいキーを渡しても「API key not valid」。読まれていたのは三か所目の古いキーでした
Google ログインから有料 API キーへ Gemini CLI の認証を切り替えたのに、400 の「API key not valid」が消えませんでした。キーの出どころはシェル・作業ディレクトリの .env・ホームの .env・settings.json の四か所あり、順に照らす小さなスクリプトで原因を一つに絞ります。
つないだ MCP を初めて外した日 — 常時有効にするツールを選ぶ基準
MCP サーバーを足し続けると、API の上限である 512 個の関数宣言に当たる手前で応答の質が落ちます。Gemini CLI の includeTools と excludeTools を使い、常時有効にするツールを選ぶ基準と外し方をまとめます。
承認ルールを書いたのに一度も一致していませんでした — policy を点検して回った記録
Gemini CLI の policy に書いた承認ルールが一度も一致していませんでした。照合対象が JSON 文字列だったこと、置き場所の階層が無効だったこと、無人実行で ask_user が deny になること。点検を機械化したスクリプトまで書き残します。
浮世絵カタログの表記ゆれ照合を、正規化と候補列挙の二層で組む手順
同じ絵師名が三通りに散らばったカタログを揃えるとき、Gemini に同一判定をさせると世代違いが混ざります。正規化を先に置き、モデルには候補の列挙だけを頼む二層構成を、動くコードと費用の見積もりつきでお伝えします。
アイコンだけのボタンは、翻訳が揃っていても読み上げでは無言になります
翻訳ファイルが揃っていても、読み上げラベルの穴は残ります。iOS と Android からアイコン要素とラベルを集め、機械で決まる不備をローカルで確定させてから Gemini に文言だけを渡す二段構えを、実際の出力とともに書き残します。
Gemini にコードをまとめて渡せるようになった日から、同じフォルダを選ぶのをやめました
複数のコードファイルをまとめて渡せるようになると、難しさは貼り付けから選択へ移ります。自分の Next.js リポジトリで依存グラフを実測し、フォルダ単位の選び方が呼び出し側を1件も拾わなかった経緯と、いま使っている選択手順を書き残します。
モデル入れ替えの合否を一致率で決めると、カテゴリ分布のずれは通過します
画像分類バッチのモデルを差し替えたとき、ゴールデンセットの一致率は通るのにカテゴリ構成比だけが動くことがあります。必要サンプル数を実際に計算し、切替前に判定できる対応比較のハーネスを組みました。
モデル廃止日をまたぐ古い端末に、読み替えではなく拒否を返す設計
モデルが止まっても、配布済みのアプリは止まりません。後継へ黙って差し替えるか、明示的に断るか。出力契約を軸に廃止台帳を作り、残存曲線から自分の締切日を逆算するまでの実装と計測をまとめました。
1日2回のはずの分類バッチが1回しか動かない — 成果物から実行回数を復元する
定期実行のうち片方の枠だけが不発火し、失敗ログが一件も出ないまま処理量が半分になっていた運用の記録です。成果物と未処理残高から実行回数を復元し、起きなかった回を名指しする手順を動くコードでまとめます。