
使っていたLLMモデルが廃止され、生成機能が止まった — 2つのプロダクトの原因と再発防止A hands-on postmortem describing how Google's deprecation of Gemini 2.5…
匿名の公開いいねです。記事の保存・お気に入りではなく、Featured、Top 3、重要度、掲載順位には影響しません。仕組みとプライバシーAnonymous public likes are reactions, not saved articles or bookmarks. They do not affect Featured, Top 3, importance, or listing order.How it works and privacy
GoogleによるGemini 2.5モデルの廃止をきっかけに、SaaS「promptflow」など2つのプロダクトで生成機能が停止したインシデントの原因分析と、モデル廃止に強い設計への移行策をまとめた実録記事。
A hands-on postmortem describing how Google's deprecation of Gemini 2.5 silently broke AI generation features in two products, and what architectural changes were made to prevent recurrence.
要約と収集メタデータをもとに生成した AI 解説本文です。元記事全文の転載・翻訳ではありません。This AI explainer is generated from the summaries and collected metadata, not from a reproduction or translation of the full source article.
クラウド上で提供される大規模言語モデル(LLM)に依存するサービスにとって、モデルそのものの廃止は、自らのコードに一切手を触れていなくても機能停止を招きうる。個人開発者の上原正吉氏(EarthLink Network Co., Ltd.)が公開した実録記事は、その現実を突きつけるインシデントの記録だ。
同氏はClaude Codeを開発の主体に据え、20を超えるプロダクトを1人で同時に開発・運用しているという。記事によれば、2026年7月10日の朝、マルチLLMワークフローのSaaS「promptflow」のデザイン生成機能が全滅した。原因は自身のコードではなく、GoogleがGemini 2.5系のモデルを廃止したことにあったとされる。影響は1つにとどまらず、2つのプロダクトで生成機能が停止した。
モデルの廃止(deprecation)は、クラウドLLMを外部APIとして呼び出す構成では避けがたいリスクだ。プロバイダー各社はモデルの世代交代に伴い旧バージョンの提供終了を予告することが多いが、識別子(モデル名)を固定して呼び出しているアプリケーションでは、終了と同時に呼び出しが失敗し、機能が静かに壊れる可能性がある。今回のように複数モデルを束ねるワークフロー型のサービスでは、一部の依存先が欠けるだけで全体が止まりうる点も見逃せない。
こうしたリスクは特定のベンダーに限った話ではない。OpenAIやAnthropicなども含め、主要なLLMプロバイダーは新モデルの投入と旧モデルの整理を継続的に進めており、利用側はいずれのサービスでも同種の事態に備える必要がある。
記事は原因分析にとどまらず、モデル廃止に強い設計への移行策までを扱っている。具体策の詳細は本文に譲るが、一般にはモデル識別子の抽象化、代替モデルへのフォールバック、廃止告知の監視といった対策が有効と見られる。1人で多数のプロダクトを運用する体制では、こうした横断的な防御設計の有無が復旧の速度を左右する。個人や小規模の開発においても、外部モデルへの依存をどう管理するかは無視できない設計課題だといえる。
On the morning of July 10, 2026, the design generation feature of promptflow, a multi-LLM workflow SaaS, stopped working entirely. According to the developer's own account, the failure did not originate in the product's code. Instead, Google had deprecated a Gemini 2.5 model that the service depended on, and two separate products lost their generation capabilities as a result. The postmortem is notable because it documents a class of failure that is becoming more common as software increasingly depends on third-party model endpoints that vendors can retire on their own schedule.
The author, Masakichi Uehara of EarthLink Network Co., Ltd., frames the write-up as a field report from real operations rather than a theoretical exercise. He describes using Claude Code as the primary engine of his development workflow while building and running more than twenty products single-handedly. That context matters: when one person maintains a large portfolio, an upstream change that silently disables a shared dependency can cascade across multiple services before it is noticed. In this case, the outage manifested as generation features that simply produced nothing, which is a harder symptom to catch than a loud crash.
The immediate technical cause was the removal of a specific Gemini 2.5 model identifier from Google's API. When a provider deprecates a model, requests that reference the retired identifier typically begin to fail, and any product hard-coded to that exact model can break without warning. The account emphasizes that the trigger was external, but it also treats the incident as an opportunity to examine why the systems were vulnerable in the first place. In other words, the deprecation exposed a design assumption that a particular model would remain available, and the postmortem focuses on removing that assumption rather than assigning blame to the vendor.
Model deprecation is a recognized part of the large language model lifecycle. Providers including Google, OpenAI, and Anthropic periodically retire older model versions as they ship newer ones, and they generally publish deprecation timelines and migration guidance. Even so, transitions can catch teams off guard, especially when applications pin themselves to a precise model string. A common distinction here is between pinned version identifiers, which point to a fixed snapshot that can eventually be sunset, and rolling aliases that automatically track a provider's latest recommended model. Each approach carries trade-offs: pinned versions offer output stability but require active migration, while aliases reduce maintenance but can shift behavior underneath an application without notice.
The architectural response outlined in the postmortem appears to center on making the products resilient to model changes rather than merely swapping in a replacement model. Typical mitigations for this kind of failure include routing requests through an abstraction layer so that a single model reference is not scattered across the codebase, configuring fallback models so that a failed call to one provider can retry against another, and adding health checks or monitoring that flag when generation output drops to zero. Because promptflow is described as a multi-LLM workflow platform, it is well positioned to lean on provider diversity, treating any single model as replaceable rather than foundational.
The broader industry context reinforces why this matters. Tools such as provider-abstraction libraries and model-routing gateways have grown popular precisely because they let developers switch between vendors and versions with configuration changes rather than code rewrites. LiteLLM, OpenRouter, and similar layers are frequently cited as ways to insulate applications from any one provider's roadmap. For solo developers and small teams operating many products, this kind of indirection is likely to become a prerequisite rather than an optimization, since manual, per-product migrations do not scale as the number of dependencies grows.
The lasting value of the report is its emphasis on prevention. It documents not only what failed and why, but also the concrete changes intended to keep a future deprecation from silently disabling core features again. The lesson generalizes beyond Gemini or any single vendor: applications that call external models should assume those models will eventually be retired, and should be built so that a deprecation becomes a configuration update instead of an outage. As reliance on hosted LLM APIs deepens, treating model availability as a variable rather than a constant looks increasingly like standard operational hygiene.
本ページの本文と要約は AI による自動生成です。日本語版と英語版は言語ごとに独立して生成されるため、表現や詳しさが異なる場合があります。正確性は元記事 (zenn.dev) をご確認ください。The body and summaries are AI-generated independently for each language, so wording and detail may differ. Verify accuracy at the original source (zenn.dev).



