GEMINI LABEN
SPARK — 8月13日から Gemini Spark のエンジンが Gemini 3.7 Flash になりました。エージェント用途に推論の深さより往復の速さを選んだ構成で、自作エージェントのモデル選定の参考になりますAGENT — Spark は権限を与えたうえで複数ステップの作業を自律的に進めます。予約の取得やフォーム入力など、単発の命令に応答する従来型の音声アシスタントとは設計思想が違いますASSISTANT — 9月4日の Google アシスタント置き換えまで残り14日です。移行が完了した端末では旧アシスタントへ戻せません。Google ビルトイン搭載車は引き続きアシスタントが動きますEDUCATION — 8月10日から Gemini in Classroom が、管理者の許可を受けた K-12 および高等教育の学生であれば年齢を問わず利用できるようになりましたSCALE — Gemini アプリの画像生成は1日あたり1億5,000万枚に達しています。生成量そのものより、これが常時稼働の負荷としてどう捌かれているかが設計の参考になりますMODELS — 深い推論は Gemini 3.1 Pro、速度とコストを優先する本番処理は Flash 系という棲み分けが定着しました。同一処理を両者で流して実測すると差が見えますSPARK — 8月13日から Gemini Spark のエンジンが Gemini 3.7 Flash になりました。エージェント用途に推論の深さより往復の速さを選んだ構成で、自作エージェントのモデル選定の参考になりますAGENT — Spark は権限を与えたうえで複数ステップの作業を自律的に進めます。予約の取得やフォーム入力など、単発の命令に応答する従来型の音声アシスタントとは設計思想が違いますASSISTANT — 9月4日の Google アシスタント置き換えまで残り14日です。移行が完了した端末では旧アシスタントへ戻せません。Google ビルトイン搭載車は引き続きアシスタントが動きますEDUCATION — 8月10日から Gemini in Classroom が、管理者の許可を受けた K-12 および高等教育の学生であれば年齢を問わず利用できるようになりましたSCALE — Gemini アプリの画像生成は1日あたり1億5,000万枚に達しています。生成量そのものより、これが常時稼働の負荷としてどう捌かれているかが設計の参考になりますMODELS — 深い推論は Gemini 3.1 Pro、速度とコストを優先する本番処理は Flash 系という棲み分けが定着しました。同一処理を両者で流して実測すると差が見えます
記事一覧/開発ツール
開発ツール/2026-08-21中級

通知文の長さ指示が英語版だけ効かなかった理由と、生成後に幅で詰める実装

日英2言語のプッシュ通知を Gemini に生成させたところ、英語版だけが実機で途切れていました。原因は文字数での長さ指示です。表示幅の実測値と、生成後に詰めるフィッティング実装をまとめました。

gemini105gemini-api283structured-output23i18npush-notification2text-truncation

プレミアム記事

英語圏のユーザーから「通知の文章が途中で終わっている」という報告をいただいたのは、配信を始めて三度目の週でした。

個人開発で運用している壁紙アプリで、新作追加のお知らせを日英2言語で配信しています。文面は Gemini に作らせ、プロンプトには「40文字以内で」と明記していました。日本語の通知は毎回きれいに収まっていたので、同じ指示で英語も収まると思い込んでいたのです。

手元の端末で確認したときは日本語ロケールでした。だから気づけませんでした。

原因は Gemini の出力品質ではありませんでした。長さの単位に「文字数」を選んだ、こちら側の設計です。以下は、その勘違いを解くまでに測ったことと、最終的に落ち着いた実装です。

先に結論として、長さはモデルに守らせないことにしました

現在の構成はこうなっています。

  1. Gemini には「短く書け」と指示しない。代わりに lead(要旨)と detail(補足)の2フィールドに分けて返させる
  2. 長さの調整は、生成が終わったあとの決定的なコードで行う
  3. 単位は文字数ではなく表示幅。しかも言語ごとに幅の数え方を変える

「モデルに守らせる」から「モデルには壊れにくい形で返させ、詰めるのはこちらでやる」へ移した、という一点に尽きます。理由を順に書きます。

日本語と英語では、同じ内容でも文字数が倍以上違いました

まず、実際に配信していた文面に近いサンプルで数えてみました。表示幅は East Asian Width が W / F / A の文字を 2、それ以外を 1 として合計した値です。

言語文字数表示幅文面
ja3467新しい浮世絵の壁紙を8枚追加しました。歌川広重の東海道シリーズです。
en81818 new ukiyo-e wallpapers are now available, including Hiroshige's Tokaido series.
ja2549今週の追加分は葛飾北斎の富嶽三十六景から6枚です。
en7474This week we added 6 pieces from Hokusai's Thirty-six Views of Mount Fuji.

同じことを伝えるのに、日本語は 34 文字、英語は 81 文字。2.4 倍です。

ここに「40文字以内」という一律の指示を当てると何が起きるか。日本語は表示幅にして 80 まで使えるのに対し、英語は 40 までしか使えません。同じ数字が、言語によって倍の差の制約になっていたわけです。英語版だけが情報を削られていたのは、モデルが指示を破ったからではなく、指示そのものが英語に厳しすぎたからでした。

さらに、モデル側の事情も重なります。Gemini はテキストをトークンで扱っており、「40文字」という単位は生成中に正確に数えられる量ではありません。response_schemamaxLength を書いても、API 側でその長さが強制されるわけではないため、超過した文字列がそのまま返ってくることがあります。長さの保証をモデルに期待した時点で、設計が不安定になります。

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

この記事の続きを読む

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

この記事で得られること
多言語の通知文や UI 文字列で、文字数制約とトークン制約のどちらが効いていないのかを自分のコードで切り分けられるようになる
同じ意味の日英文が表示幅 67 と 81 に分かれる理由を踏まえ、言語ごとに幅の予算を割り当てられるようになる
配信したあとで「英語版だけ途切れていた」と気づく事故を、リリース前の機械的なチェックで防げるようになる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

開発ツール2026-08-10
ヘルプが答えていない質問を、Gemini に問題を作らせて先に見つける
ヘルプやFAQに書いてあるのに問い合わせが止まらないとき、その資料から問いを生成し、資料本文だけで答えられるかを判定する二段構えの点検パイプラインを作ります。呼び出し設計と費用の見積もりまで含めた実装手順です。
開発ツール2026-08-15
新しい iPhone の幅を足す前に、既存の分岐表を Gemini に書き出してもらいました
画面幅の三項演算子が4本のアプリに散った状態で新機種を足す作業を、書き換えではなく分岐表の抽出と網羅検査に切り替えた記録です。抽出だけを Gemini に任せ、判定を決定的なコードに残した理由と実装をまとめます。
開発ツール2026-06-17
Gemini API のチャット履歴を Redis で運用する — 本番で会話状態を失わない実装メモ
Gemini のチャット履歴をプロセスメモリに置いたまま本番に出すと、再デプロイやスケールのたびに会話が消えます。Redis を受け皿にしつつ、トークン予算・同時送信・SDK 依存・障害時の縮退まで、実運用で踏んだ箇所を実装とともにまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →