Gemini 3.6 Flash 与 3.5 Flash-Lite 正式商用:新模型、新 API、新坑,这篇全说清楚了
Google 的 Gemini 系列又更新了,这次是 「Gemini 3.6 Flash」 和 「Gemini 3.5 Flash-Lite」,而且都是 GA(General Available)状态,可以直接上生产环境。
在这篇文章里,我把官方公告里最有价值的信息过滤、重组了一遍,不仅告诉你“新模型强在哪”,更会直接回答一个关键问题:「如果我的代码今天还在跑 Gemini 3.5 Flash,改到 3.6 Flash 到底要动哪些地方?」 以及,「3.5 Flash-Lite 到底 Lite 在哪,适合干什么?」
我们直接开始。
新模型概览:两张表看懂定位和成本
先说最务实的部分:选哪个模型,花多少钱。
「Gemini 3.6 Flash」 的目标是替代 3.5 Flash,在复杂任务(多步 agent 调用、多模态理解)上更强,同时「更便宜」——输出 token 从 3.5 Flash 的 7.50/1M,输入 token 价格不变,还是 1.5 的差距,在高并发生产环境下,月度账单差异会很明显。
「Gemini 3.5 Flash-Lite」 则是整个 3.5 家族里跑得最快、单价最低的选手——输入 2.50/1M。如果你在做大批量数据清洗、文档解析、结构化抽取,这个模型的经济账非常划算。
| 模型 | Model ID | 默认思考级别 | 价格(输入/输出每百万 token) | 定位 |
|---|---|---|---|---|
| 「Gemini 3.6 Flash」 | gemini-3.6-flash |
medium | 7.50 | 速度与智能平衡,适合 agent 和多模态任务 |
| 「Gemini 3.5 Flash-Lite」 | gemini-3.5-flash-lite |
minimal | 2.50 | 3.5 系列最快、最便宜,适合高吞吐执行 |
两个模型都支持 「100 万 token 上下文窗口」、「64k 最大输出 token」、thinking 机制,以及全套内置工具——包括 Computer Use。也就是说,让模型直接操作 GUI 界面的能力,这两个新模型都原生支持。
Gemini 3.6 Flash:写代码更强了,但做 UI 风格可能退步了
3.6 Flash 不是 3.5 Flash 的简单提频,它在几个关键维度上确实有肉眼可见的变化。
多步工作流“话变少了”
实际测试中,3.6 Flash 完成同样一个多步任务(比如“查天气 → 写邮件 → 翻译成日语”),消耗的 token 更少,调用的工具次数更少,对话轮次也更少。官方文档里用了一个词叫 「“减少执行循环螺旋”」 ——这很形象。以前模型可能会在某个环节反复确认、反复重试,3.6 Flash 明显更“果断”。
这对生产环境的意义在于:「token 成本下降是明面上的,更关键的是延迟下降」。少了几个来回,用户等结果的时间就短了。
代码生成:更成熟,但有个“审美”问题
3.6 Flash 生成的代码质量更高,更接近“可直接提交 PR”的水平。具体表现在:
-
「不必要的修改更少」。以前模型改 A 的时候顺带改了 B,现在收敛多了。 -
「调试循环减少」。生成代码后自己检查、自己纠错的次数变少了。 -
「指令跟随更精准」。尤其是在诊断类任务中,不会擅自改不相干的文件。
但这里有一个有意思的 trade-off:「3.6 Flash 更喜欢“先跑一下看看”」。遇到复杂任务,它会更倾向于先执行诊断脚本、检查环境,再动手改代码。这在复杂工程场景下是加分项——少犯错。但在简单前端任务上,这个“先检查”的步骤显得多余,反而多耗了时间。
另外,官方文档里坦诚地提了一点:「人类评估者更喜欢旧版本生成的 UI 视觉效果和布局样式」。3.6 Flash 功能更稳了,但审美上可能不如 3.5 Flash 讨喜。如果你做的是前端界面生成,「建议在 system instruction 里给非常明确的设计规范」(色值、间距、字体大小、布局方式),模型是能跟上的。
多模态推理:看图、读表、转蓝图
在图表解读、视觉蓝图转换、多元素网页布局生成这类任务上,3.6 Flash 的提升是可感知的。它不是那种“benchmark 涨了 0.5%”的微调,而是实际使用中更少出现“图没看懂”的情况。
Gemini 3.5 Flash-Lite:便宜,但别把它当“低配版”
“Lite”这个后缀容易让人误解,好像它只是一个能力缩水的廉价替代品。但这次发布的 3.5 Flash-Lite,实际上是一个「定位非常精准的专用模型」。
它不是“慢速版”,而是“极速版”
3.5 Flash-Lite 是整个 3.5 系列里吞吐量最高的模型。如果你有「海量 PDF 需要解析、大量 JSON 需要抽取、或者每天几百万条日志需要分类」,这个模型的性价比远高于通用模型。
它的推理能力比上一代 Flash-Lite 有明显提升,官方数据是:
-
HLE 推理任务从 11.0% 提升到 18.0% -
CharXIV 多模态基准从 63.7% 提升到 74.5%
这些数字意味着什么?意味着以前需要用 2.5 Flash 才能处理的任务,现在用 Lite 就能扛住一部分了。
工具调用可靠性提升
如果你用 Lite 做 「subagent(子代理)编排」——也就是让模型自己决定调用什么工具、以什么顺序调用——会发现它比前代更稳定。官方文档特别提到:「如果 Lite 做复杂多步任务时中途“罢工”或提前终止工具调用,可以尝试把 thinking_level 从默认的 minimal 调到 medium 或 high」。这个调节方式在代码迁移部分会详细讲。
多轮对话里“人设”更稳了
做 chatbot 的同学会关心这一点:3.5 Flash-Lite 在多轮对话中的指令跟随能力和角色一致性,比 3.1 Flash-Lite 强。这意味着它不容易“聊着聊着忘记自己是谁”或者“反复确认同一个信息”。
⚠️ 这次升级最大的坑:三个 API 参数被废弃了
我估计很多人会在这块卡住。「Gemini 3.6 Flash 和 3.5 Flash-Lite 开始,temperature、top_p、top_k 这三个采样参数被正式废弃。」 目前的 API 还会忽略它们(不报错),但官方明确说:「未来版本会直接返回 HTTP 400 错误」。
这意味着你现在就得把代码里这三个参数删掉,而不是等着报错再修。
# ❌ 这些参数不要再传了
generation_config = {
"temperature": 0.7,
"top_p": 0.9,
"top_k": 40,
}
「替代方案」:如果你需要控制输出格式或确定性,用 system_instruction 写明确规则,或者使用结构化输出(Structured Outputs)。
另一个重大变化是:「请求末尾不能以 model 角色的 turn 结尾」。以前有些开发者会手动预填一段模型回复(比如“翻译结果:”),让模型接着这个开头继续生成。现在这个做法被禁用了,API 会返回 400 错误。
// ❌ 错误示例:contents 数组最后一条是 model 角色
{
"contents": [
{"role": "user", "parts": [{"text": "翻译 'Hello' 到中文"}]},
{"role": "model", "parts": [{"text": "翻译结果:"}]}
]
}
「正确做法」:用 system_instruction 指定输出格式,或者在 Interactions API 里利用服务端管理对话历史。
# ✅ 推荐做法
interaction = client.interactions.create(
model="gemini-3.6-flash",
input="翻译 'Hello' 到中文",
system_instruction="只输出翻译结果,不要加任何解释。",
)
还有一个细节:「thinking_budget 参数被替换成了 thinking_level 字符串枚举」,可选值 "minimal"、"medium"、"high"。这个改动其实更直观了,你不需要再算“给多少 token 用于思考”,直接告诉模型“你想多深”就行。
迁移清单:从旧模型切到新模型,我建议按这个顺序做
从 3.5 Flash 或 3 Pro 迁移到 3.6 Flash
-
「改 model ID」:把代码里的模型名换成 gemini-3.6-flash。 -
「删采样参数」:移除 temperature、top_p、top_k。如果原先用了thinking_budget,换成thinking_level="medium"或"high"。candidate_count也不再支持,一并移除。 -
「检查多轮对话逻辑」:如果你手工维护了 contents数组,确认最后一条非空消息是user角色。如果之前依赖“预填 model 回复”来限定输出,改用system_instruction或结构化输出。 -
「函数调用(Function Calling)格式检查」: -
如果使用 Interactions API(推荐),多模态内容要放在 response payload 里。 -
如果还在用 generateContent API,确保所有 FunctionResponse包含call_id和name。 -
遇到 Malformed_Function_Call错误时,检查 pre-tool text 格式,参考官方 workaround。
-
-
「前端 UI 场景」:如果发现生成效果“变丑了”,在 system instruction 里嵌入具体的设计 token(颜色、间距、字体),不要只写“Make it beautiful”。
从 2.5 Flash 或 3.1 Flash-Lite 迁移到 3.5 Flash-Lite
-
「改 model ID」: gemini-3.5-flash-lite。 -
「思考级别设置」: -
批量抽取、分类、路由:保持默认 minimal。 -
带工具调用的 subagent、多步推理:显式设置 thinking_level="medium"或"high",否则模型可能在第一步就“觉得自己做完了”。
-
-
采样参数和函数调用的迁移规则与 3.6 Flash 完全一致,可复用上面的步骤。
实际场景怎么选模型?一张决策表
| 你的使用场景 | 以前用什么 | 建议迁移到 |
|---|---|---|
| 代码生成、多步 agent、多模态推理 | 3.5 Flash / 3 Pro | 「3.6 Flash」 |
| 高吞吐量数据解析、文档抽取、JSON 结构化 | 3.1 Flash-Lite / 2.5 Flash | 「3.5 Flash-Lite」 |
| 对话机器人、需要 role-play 一致性 | 3.1 Flash-Lite | 「3.5 Flash-Lite」(调高 thinking_level) |
| 前端 UI 生成、视觉设计优先 | 3.5 Flash | 谨慎评估 3.6 Flash 的生成效果,建议 A/B 测试 |
关于 Antigravity 的彩蛋
还有一个值得一提的细节:「Gemini 3.6 Flash 现在是 Antigravity 代理的默认模型」。Antigravity 是 Gemini Managed Agents 里的一个预置 agent,可以自主执行多步任务(比如“读取 Hacker News 头条,生成摘要,存成 PDF”)。官方在 API 里新增了一个字段,允许你手动指定 environment 类型。
interaction = client.interactions.create(
agent="antigravity-preview-05-2026",
input="读取 Hacker News,总结前 10 条新闻,保存为 PDF。",
environment="remote",
)
如果你在用 Antigravity,这次升级不需要你做任何迁移工作——默认就切到新模型了。但如果你想回退或指定其他模型,需要关注官方后续的配置文档。
实用摘要 / 操作清单
-
✅ 「模型 ID 必须改」: gemini-3.6-flash或gemini-3.5-flash-lite。 -
✅ 「立即移除」: temperature、top_p、top_k、candidate_count。 -
✅ 「替换」: thinking_budget→thinking_level(minimal / medium / high)。 -
✅ 「检查多轮对话」:禁止以 model角色 turn 结尾,改用system_instruction。 -
✅ 「函数调用」:确认 call_id和name字段存在(generateContent API)。 -
✅ 「UI 生成场景」:在 system instruction 里给明确设计规范,弥补 3.6 Flash 样式短板。 -
✅ 「高吞吐任务」:3.5 Flash-Lite 默认 minimal思考级别,复杂 subagent 手动调高。
一页速览
| 想解决什么问题 | 怎么做 |
|---|---|
| 新模型强在哪? | 3.6 Flash 代码更稳、多步更省 token;3.5 Flash-Lite 速度最快、推理比前代 Lite 强 |
| 价格变了没? | 3.6 Flash 输出降价 0.3/1M,输出 $2.5/1M |
| 代码要改什么? | 删 temperature/top_p/top_k,改 thinking_level,禁止 model 角色收尾 |
| 旧代码还能跑吗? | 暂时还能(参数被忽略),但官方明确说未来会直接报错 |
| Lite 够用吗? | 批量数据抽取完全够;复杂 agent 需调高 thinking_level |
| 工具调用有什么坑? | pre-tool text 格式要合规,否则会报 Malformed_Function_Call |
| Antigravity 受影响吗? | 默认已切到 3.6 Flash,无需手动迁移 |
FAQ
「Q1:我可以同时用 3.6 Flash 和 3.5 Flash-Lite 吗?」
可以。两个模型独立计费、独立配额,按场景混合使用是最经济的方式。
「Q2:temperature 被废弃后,怎么控制随机性?」
用 system_instruction 写清楚输出规范,或者使用结构化输出(Structured Outputs)约束格式。如果两个都不够,考虑在 prompt 里显式写“每次输出必须一致”这类指令。
「Q3:我还在用 generateContent API,必须切到 Interactions API 吗?」
不强制,但官方推荐用 Interactions API,因为它自动管理对话上下文,且对 model 角色 turn 的限制更自然。继续用 generateContent 也可以,但要自己处理好上述校验规则。
「Q4:3.6 Flash 的 Computer Use 支持是 beta 还是 GA?」
目前 Computer Use 作为内置工具已支持,但具体可用性取决于该功能的发布状态,建议查阅 Computer Use 独立文档确认当前阶段。
「Q5:3.5 Flash-Lite 的 thinking_level 设成 high 会变慢很多吗?」
会。high 级别增加内部推理 token 数,延迟和成本都会上升。只在确实需要多步推理的场景使用,批量抽取场景保持默认 minimal 即可。
「Q6:我的旧代码删了 sampling 参数后,结果质量下降了怎么办?」
检查 system_instruction 是否足够具体。旧模型依赖 temperature 等参数“软化”输出,新模型更依赖指令本身的清晰度。把 prompt 写得更细,通常能弥补参数移除带来的变化。
「Q7:这两个模型支持中文吗?」
支持,Gemini 系列一直原生支持多语言,包括中文输入和输出。
这次升级的核心信息就这些。结论很简单:「3.6 Flash 可以放心上生产,但记得动代码删参数;3.5 Flash-Lite 是批量处理的好生意,但别低估复杂任务下的思考级别配置成本。」 迁移没有想象中复杂,一个下午基本能搞定。如果在实际迁移中遇到 Malformed_Function_Call 或者格式校验问题,优先检查 pre-tool text 的格式——那是新模型上最容易卡住的地方。

