Gemini 3 Pro Preview 3 月 9 日停用:迁移到 3.1 Pro Preview 前,你必须先做这 3 件事
Google 已经把“下架时间”写进官方公告:gemini-3-pro-preview 将在 2026-03-09 从 Gemini API 和 Google AI Studio 停用;并建议迁移到 gemini-3.1-pro-preview。同时 2026-03-06,-latest 别名会切到 gemini-3.1-pro-preview。
很多人第一反应是“改个 model name”。但真正会让生产系统翻车的,往往不是字符串替换,而是版本管理、回归验证和降级链路没准备好。
这篇文章只做一件事:按工程口吻,把迁移前最关键的动作拆成可执行的 checklist。
TL;DR
- 停用时间:2026-03-09(Gemini API + AI Studio)
- 别名变更:2026-03-06(
-latest→gemini-3.1-pro-preview) - 迁移目标:
gemini-3.1-pro-preview - 别做的事:把
-latest放进生产配置;只跑 2 条 demo prompt 就上线
时间线(别记错)
| 日期 | 变化 | 你应该做什么 |
|---|---|---|
| 2026-03-06 | -latest 别名改指向 gemini-3.1-pro-preview |
把生产环境从 -latest 迁出,固定到明确 model name |
| 2026-03-09 | gemini-3-pro-preview 停用 |
全量替换 + 回归 + 降级兜底 |
我最担心的 3 个坑(也是你最该先处理的 3 件事)
1)把 -latest 从生产配置里清掉
公告里明确提了 3 月 6 日切 -latest,这件事的信号非常强:如果你线上依赖 -latest,你等于把版本发布权交给了外部。
最常见的事故长这样:
- 你没有改代码,但输出结构突然不一样了(JSON/函数调用变动、回答更长/更短)
- 延迟/成本发生漂移,账单对不上,SLA 解释不清
- 你想回滚,发现根本没有“上一版”可以指定
建议做法很简单:
- 实验环境:可以用
-latest追新能力 - 生产环境:只用明确 model name(例如
gemini-3.1-pro-preview),并把它当成依赖版本管理
2)用“真实样本”做一轮小回归(别用你最顺的那几条)
迁移的目标不是“能跑通一次”,而是“你的业务分布上成功率不掉,成本不爆,输出结构不乱”。
我建议用一个轻量但有效的回归包:
- 样本量:30~100 条线上真实请求(脱敏)
- 覆盖面:你最常见的失败模式(工具调用、结构化输出、长文档、超时、限流)
- 对比指标(至少四项):
- 成功率:429/503/timeout/notFound 的比例
- 延迟:P50/P95
- 成本:输入/输出 token、重试次数、工具调用次数
- 结构稳定性:JSON schema 是否更容易漂移(字段缺失、类型变化、额外解释文本混入)
如果你是 agent 流程(edit-then-test、tool calling、RAG),回归一定要包含“链路级样本”,不要只测单轮问答。
3)提前写好“降级链路”,把不可用当成常态
从社区讨论看,新模型发布期经常出现:
- 模型列表没更新 / CLI 看不到
- 权限还没灰度开放(尤其是不同通道:API key / OAuth / Vertex)
- 高负载导致 503 / “high demand”
对生产系统来说,正确姿势不是“祈祷稳定”,而是默认会抖:
一个可用的降级策略长这样:
- 主模型:
gemini-3.1-pro-preview - 降级模型:你当前最稳的 GA 型号(按业务自己选:成本优先还是质量优先)
- 熔断规则:连续失败 N 次 / P95 超过阈值 / 429 触发限流 → 直接切换
最小改动:先完成替换(然后再谈优化)
下面只演示“换 model name”,不包含你业务里的 function calling / JSON schema / safety 设置。
Python(Google GenAI SDK 风格,示意)
from google import genai
client = genai.Client(api_key="YOUR_KEY")
resp = client.models.generate_content(
model="gemini-3.1-pro-preview", # 原来是 gemini-3-pro-preview
contents="对这段代码做安全审计,列出可利用路径和修复建议。",
)
print(resp.text)
OpenAI 兼容端点(如果你想统一接口,示意)
from openai import OpenAI
client = OpenAI(
api_key="YOUR_GEMINI_KEY",
base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)
resp = client.chat.completions.create(
model="gemini-3.1-pro-preview",
messages=[{"role": "user", "content": "总结这份设计文档,输出要点列表。"}],
)
print(resp.choices[0].message.content)
注意:统一接口的好处是路由简单;坏处是会丢掉部分 Gemini 特有的配置项。要不要统一,取决于你是否需要精细控制(比如思考深度、结构化输出、工具行为)。
迁移完成的判定标准(建议写进发布流程)
我一般用下面这 5 条作为“可以上线”的门槛:
gemini-3-pro-preview调用点清零(含配置、环境变量、灰度脚本)- 生产环境不再使用
-latest - 回归包跑完:成功率不下降(或下降有解释)、成本不爆、结构稳定性可控
- 降级链路可用:主模型不可用时,系统仍能服务
- 监控上线:按模型维度统计错误率、P95、单次成本分布
FAQ
Q1:不迁移会怎样?
2026-03-09 之后停用,最直接的后果就是请求失败/服务中断。你如果把它接在关键链路上,风险不需要解释。
Q2:我只用 AI Studio 也要管 -latest 吗?
要。-latest 别名切换意味着“同一个选择项背后的模型变了”。如果你把 AIS 结果接到自动化流程(比如生成代码/配置),也应该固定到明确的模型。
Q3:迁移后效果变差怎么办?
先别急着“换回去”(也可能换不回)。把差异量化:哪类样本退步、退步在哪个指标(成功率/延迟/成本/结构)。然后再决定是调 prompt、调参数、还是走模型路由。
浙公网安备 33010602011771号