Gemini 3.5 Flash 开发人员指南
Gemini 3.5 Flash现已正式发布 (GA),稳定可靠,可大规模应用于生产环境。作为我们最智能的 Flash 模型,它能够在大规模环境下持续提供卓越的智能体执行、编码和长周期任务性能。
本指南概述了 Gemini 3.5 Flash 的改进、API 变更和迁移指南。
新型号
| 模型 | 型号 ID | 描述 |
|---|---|---|
| 双子座3.5闪光灯 | gemini-3.5-flash |
我们最智能的模型,能够在智能体和编码任务中持续保持前沿性能。 |
Gemini 3.5 Flash 支持 100 万个令牌上下文窗口、最大 6.5 万个输出令牌、思考功能,以及与 Gemini 3 Flash 相同的工具和平台功能。目前不支持在计算机上使用。
快速入门
安装最新版 Google Gen AI SDK:
<span style="color:#f8f8f2"><span style="color:#f8f8f2"><code>pip <span style="color:#f8f8f2">install</span> <span style="color:#f9690e">-U</span> google-genai
</code></span></span>
本指南中的所有代码示例均使用Interactions API。Interactions API 是使用 Gemini 构建应用程序的新标准原语,建议所有新项目都使用。它针对代理工作流、服务器端状态管理以及复杂的多模态、多轮对话进行了优化。GenerateContent API也受支持;相同的配置选项和建议同样适用。
<span style="color:#f8f8f2"><span style="color:#f8f8f2"><code><span style="color:#808080"># Interactions API
</span><span style="color:#f9690e">from</span> <span style="color:#f8f8f2">google</span> <span style="color:#f9690e">import</span> <span style="color:#f8f8f2">genai</span>
<span style="color:#f8f8f2">client</span> <span style="color:#f9690e">=</span> <span style="color:#f8f8f2">genai</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Client</span><span style="color:#f8f8f2">()</span>
<span style="color:#f8f8f2">interaction</span> <span style="color:#f9690e">=</span> <span style="color:#f8f8f2">client</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">interactions</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">create</span><span style="color:#f8f8f2">(</span>
<span style="color:#f8f8f2">model</span><span style="color:#f9690e">=</span><span style="color:#f2ca27">"</span><span style="color:#f2ca27">gemini-3.5-flash</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">,</span>
<span style="color:#f8f8f2">input</span><span style="color:#f9690e">=</span><span style="color:#f2ca27">"</span><span style="color:#f2ca27">Explain how parallel agentic execution works in three sentences.</span><span style="color:#f2ca27">"</span>
<span style="color:#f8f8f2">)</span>
<span style="color:#7ed07e">print</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">interaction</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">output_text</span><span style="color:#f8f8f2">)</span>
</code></span></span>
<span style="color:#f8f8f2"><span style="color:#f8f8f2"><code><span style="color:#808080"># Generate Content API
</span><span style="color:#f9690e">from</span> <span style="color:#f8f8f2">google</span> <span style="color:#f9690e">import</span> <span style="color:#f8f8f2">genai</span>
<span style="color:#f8f8f2">client</span> <span style="color:#f9690e">=</span> <span style="color:#f8f8f2">genai</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Client</span><span style="color:#f8f8f2">()</span>
<span style="color:#f8f8f2">response</span> <span style="color:#f9690e">=</span> <span style="color:#f8f8f2">client</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">models</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">generate_content</span><span style="color:#f8f8f2">(</span>
<span style="color:#f8f8f2">model</span><span style="color:#f9690e">=</span><span style="color:#f2ca27">"</span><span style="color:#f2ca27">gemini-3.5-flash</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">,</span>
<span style="color:#f8f8f2">contents</span><span style="color:#f9690e">=</span><span style="color:#f2ca27">"</span><span style="color:#f2ca27">How does AI work?</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">,</span>
<span style="color:#f8f8f2">)</span>
<span style="color:#7ed07e">print</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">response</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">text</span><span style="color:#f8f8f2">)</span>
</code></span></span>
什么是新的
- 持续的前沿性能:我们最智能的 Flash 模型,针对大规模的智能体和编码任务进行了优化。
- 智能体执行:大规模子智能体部署、问题解决和快速智能体循环。
- 编码:迭代编码周期、快速探索和原型制作,以测试替代路径并动态探索解决方案。
- 长远规划:多步骤工作流程和大规模工具使用。
- 思维保留:该模型可自动在多轮对话中保留中间推理过程。无需更改 API。
- 新的默认思考努力程度:默认思考努力程度已从 更改
high为medium。详情请参阅新的默认思考努力程度。 - 改进的
low思维:low现在对于需要更少步骤的代码和代理任务,思维能力得到了显著提升,在更低的延迟和成本下提供了高质量的执行能力。 - GA 版本发布:适用于大规模生产环境的稳定模型。
行为改变
新的默认努力程度:medium
默认的思考强度已从Gemini 3 Flash Preview 中的medium设置更改为“更深入思考”。 “更深入思考”在各种任务中都能取得非常好的结果,同时速度更快、成本更低。对于复杂问题,“更深入思考”则鼓励模型进行更深入的思考。highmediumhigh
| 努力程度 | 何时使用 |
|---|---|
minimal |
针对响应速度进行了优化。支持聊天式使用场景,能够快速提供事实性答案,并简化工具调用。 |
low |
适用于延迟低、步骤少的代码编写和智能体任务。也适用于需要思考的分析和写作任务。 |
medium(默认) |
适用于大多数任务,质量最佳。推荐用于复杂代码和智能体应用场景。 |
high |
最大程度地发挥模型的思考和工具使用能力。最适合复杂推理、高难度数学运算以及最复杂的代码或智能体任务。支持更深入的思考和函数调用。 |
要覆盖默认设置,请thinking_level在配置中进行设置:
<span style="color:#f8f8f2"><span style="color:#f8f8f2"><code><span style="color:#f9690e">from</span> <span style="color:#f8f8f2">google</span> <span style="color:#f9690e">import</span> <span style="color:#f8f8f2">genai</span>
<span style="color:#f8f8f2">client</span> <span style="color:#f9690e">=</span> <span style="color:#f8f8f2">genai</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Client</span><span style="color:#f8f8f2">()</span>
<span style="color:#f8f8f2">interaction</span> <span style="color:#f9690e">=</span> <span style="color:#f8f8f2">client</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">interactions</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">create</span><span style="color:#f8f8f2">(</span>
<span style="color:#f8f8f2">model</span><span style="color:#f9690e">=</span><span style="color:#f2ca27">"</span><span style="color:#f2ca27">gemini-3.5-flash</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">,</span>
<span style="color:#f8f8f2">input</span><span style="color:#f9690e">=</span><span style="color:#f2ca27">"</span><span style="color:#f2ca27">Prove that the square root of 2 is irrational.</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">,</span>
<span style="color:#f8f8f2">generation_config</span><span style="color:#f9690e">=</span><span style="color:#f8f8f2">{</span><span style="color:#f2ca27">"</span><span style="color:#f2ca27">thinking_level</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#f2ca27">"</span><span style="color:#f2ca27">high</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">},</span>
<span style="color:#f8f8f2">)</span>
<span style="color:#7ed07e">print</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">interaction</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">output_text</span><span style="color:#f8f8f2">)</span>
</code></span></span>
提示:首先使用medium,它能为绝大多数任务提供最佳质量。low如果想要更快、更便宜且质量可靠的体验,可以尝试使用。high对于复杂的推理、高难度的数学运算或棘手的编程挑战,可以切换到。minimal如果想要优化简单查询的速度,可以使用。
思想保存
该模型能够自动维护多轮对话中的中间推理过程。当推理上下文存在于对话历史记录中时,它会被保留下来,从而提升
迭代调试和代码重构等复杂多步骤任务的性能。无需更改 API:
- 交互 API:想法已自动保存。行为不变。
- GenerateContent API:从 Gemini 3.5 Flash 开始,当对话历史记录中存在思维签名时,模型会使用之前所有回合的推理上下文。要启用此功能,请传入完整的、未经修改的对话历史记录(包括思维签名)
contents。SDK 会自动处理此操作。
Gemini 3.x 中的参数更新和最佳实践
以下适用于所有 Gemini 3.x 型号,包括 Gemini 3.5 Flash。
temperature我们top_p强烈top_k建议不要更改默认值。Gemini 3 的推理能力已针对默认设置进行了优化。- 请使用
thinking_level代替thinking_budget。 - 函数调用响应匹配:
id,,name并且响应计数必须与前面的调用匹配。 - 多模态功能响应:将多模态内容包含在功能响应内部,而不是外部。
- 函数响应中的内联指令:附加到函数响应文本中,而不是作为单独的部分。
- 减少不必要的工具调用:使用较低的思维层次或尝试系统指令来减少代理工作流程中的工具调用。
请参阅以下章节,了解如何更新您的代码。
采样参数(不再推荐)
temperature对于所有 Gemini 3.x 型号,不再推荐使用`, top_p` 和 `` 。Gemini 3 的推理能力已针对默认设置进行了优化。请从所有请求中移除这些参数。top_k
<span style="color:#f8f8f2"><span style="color:#f8f8f2"><code><span style="color:#808080"># ⚠️ Remove these parameters (not recommended)
</span><span style="color:#f8f8f2">generation_config</span> <span style="color:#f9690e">=</span> <span style="color:#f8f8f2">{</span>
<span style="color:#f2ca27">"</span><span style="color:#f2ca27">temperature</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#dda0dd">0.7</span><span style="color:#f8f8f2">,</span>
<span style="color:#f2ca27">"</span><span style="color:#f2ca27">top_p</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#dda0dd">0.9</span><span style="color:#f8f8f2">,</span>
<span style="color:#f2ca27">"</span><span style="color:#f2ca27">top_k</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#dda0dd">40</span><span style="color:#f8f8f2">,</span>
<span style="color:#f8f8f2">}</span>
</code></span></span>
为了确保确定性,我们建议您针对具体用例定义包含明确规则的系统指令。
thinking_budget(不再推荐)
thinking_budget在所有 Gemini 3.x 型号中,不再建议使用原始数值参数。请thinking_level改用字符串枚举类型。
<span style="color:#f8f8f2"><span style="color:#f8f8f2"><code><span style="color:#808080"># ⚠️ Before (not recommended)
</span><span style="color:#f8f8f2">generation_config</span> <span style="color:#f9690e">=</span> <span style="color:#f8f8f2">{</span>
<span style="color:#f2ca27">"</span><span style="color:#f2ca27">thinking</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#f8f8f2">{</span><span style="color:#f2ca27">"</span><span style="color:#f2ca27">thinking_budget</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#dda0dd">7500</span><span style="color:#f8f8f2">},</span>
<span style="color:#f8f8f2">}</span>
<span style="color:#808080"># ✅ After
</span><span style="color:#f8f8f2">generation_config</span> <span style="color:#f9690e">=</span> <span style="color:#f8f8f2">{</span>
<span style="color:#f2ca27">"</span><span style="color:#f2ca27">thinking</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#f8f8f2">{</span><span style="color:#f2ca27">"</span><span style="color:#f2ca27">thinking_level</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#f2ca27">"</span><span style="color:#f2ca27">medium</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">},</span>
<span style="color:#f8f8f2">}</span>
</code></span></span>
可用值:minimal,,low(medium默认值),和high。
函数调用:严格响应匹配
Interactions API 已经会在函数响应不匹配时报错。GenerateContent API 目前不会报错,但响应不匹配会导致模型finish_reason: STOP在大多数情况下返回空响应。请始终遵循以下约定:
| 要求 | 细节 |
|---|---|
包括id |
每个都FunctionResponse必须包含id来自相应部分的FunctionCall |
匹配name |
name响应中的值必须与name调用中的值匹配。 |
| 比赛场次 | FunctionResponse对于FunctionCall收到的每个包裹,返回一个值。 |
<span style="color:#f8f8f2"><span style="color:#f8f8f2"><code><span style="color:#808080"># ✅ Include matching call_id and name in the function_result
</span><span style="color:#f8f8f2">final_interaction</span> <span style="color:#f9690e">=</span> <span style="color:#f8f8f2">client</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">interactions</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">create</span><span style="color:#f8f8f2">(</span>
<span style="color:#f8f8f2">model</span><span style="color:#f9690e">=</span><span style="color:#f2ca27">"</span><span style="color:#f2ca27">gemini-3.5-flash</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">,</span>
<span style="color:#f8f8f2">previous_interaction_id</span><span style="color:#f9690e">=</span><span style="color:#f8f8f2">interaction</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">id</span><span style="color:#f8f8f2">,</span>
<span style="color:#f8f8f2">tools</span><span style="color:#f9690e">=</span><span style="color:#f8f8f2">[</span><span style="color:#f8f8f2">my_tool</span><span style="color:#f8f8f2">],</span>
<span style="color:#f8f8f2">input</span><span style="color:#f9690e">=</span><span style="color:#f8f8f2">[{</span>
<span style="color:#f2ca27">"</span><span style="color:#f2ca27">type</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#f2ca27">"</span><span style="color:#f2ca27">function_result</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">,</span>
<span style="color:#f2ca27">"</span><span style="color:#f2ca27">name</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#f8f8f2">fc_step</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">name</span><span style="color:#f8f8f2">,</span>
<span style="color:#f2ca27">"</span><span style="color:#f2ca27">call_id</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#f8f8f2">fc_step</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">id</span><span style="color:#f8f8f2">,</span>
<span style="color:#f2ca27">"</span><span style="color:#f2ca27">result</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#f8f8f2">[{</span><span style="color:#f2ca27">"</span><span style="color:#f2ca27">type</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#f2ca27">"</span><span style="color:#f2ca27">text</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">,</span> <span style="color:#f2ca27">"</span><span style="color:#f2ca27">text</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#f8f8f2">json</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">dumps</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">result</span><span style="color:#f8f8f2">)}],</span>
<span style="color:#f8f8f2">}],</span>
<span style="color:#f8f8f2">)</span>
</code></span></span>
多模态功能反应
我们经常看到客户在函数响应之外提供图像。这可能会导致模型出现意想不到的行为(例如思维泄露),并降低输出质量。请遵循多模态函数响应 API 文档中的建议,将多模态内容包含在发送给模型的函数响应部分中。模型可以在下一轮处理中处理这些多模态内容,从而生成更准确的响应。
<span style="color:#f8f8f2"><span style="color:#f8f8f2"><code><span style="color:#808080"># ✅ Include multimodal content in the function response
</span><span style="color:#f8f8f2">final_interaction</span> <span style="color:#f9690e">=</span> <span style="color:#f8f8f2">client</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">interactions</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">create</span><span style="color:#f8f8f2">(</span>
<span style="color:#f8f8f2">model</span><span style="color:#f9690e">=</span><span style="color:#f2ca27">"</span><span style="color:#f2ca27">gemini-3.5-flash</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">,</span>
<span style="color:#f8f8f2">previous_interaction_id</span><span style="color:#f9690e">=</span><span style="color:#f8f8f2">interaction</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">id</span><span style="color:#f8f8f2">,</span>
<span style="color:#f8f8f2">input</span><span style="color:#f9690e">=</span><span style="color:#f8f8f2">[</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f2ca27">"</span><span style="color:#f2ca27">type</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#f2ca27">"</span><span style="color:#f2ca27">function_result</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">,</span>
<span style="color:#f2ca27">"</span><span style="color:#f2ca27">name</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#f8f8f2">tool_call</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">name</span><span style="color:#f8f8f2">,</span>
<span style="color:#f2ca27">"</span><span style="color:#f2ca27">call_id</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#f8f8f2">tool_call</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">id</span><span style="color:#f8f8f2">,</span>
<span style="color:#f2ca27">"</span><span style="color:#f2ca27">result</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#f8f8f2">[</span>
<span style="color:#f8f8f2">{</span><span style="color:#f2ca27">"</span><span style="color:#f2ca27">type</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#f2ca27">"</span><span style="color:#f2ca27">text</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">,</span> <span style="color:#f2ca27">"</span><span style="color:#f2ca27">text</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#f2ca27">"</span><span style="color:#f2ca27">instrument.jpg</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">},</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f2ca27">"</span><span style="color:#f2ca27">type</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#f2ca27">"</span><span style="color:#f2ca27">image</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">,</span>
<span style="color:#f2ca27">"</span><span style="color:#f2ca27">mime_type</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#f2ca27">"</span><span style="color:#f2ca27">image/jpeg</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">,</span>
<span style="color:#f2ca27">"</span><span style="color:#f2ca27">data</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#f8f8f2">base64_image_data</span><span style="color:#f8f8f2">,</span>
<span style="color:#f8f8f2">},</span>
<span style="color:#f8f8f2">],</span>
<span style="color:#f8f8f2">}</span>
<span style="color:#f8f8f2">],</span>
<span style="color:#f8f8f2">)</span>
</code></span></span>
函数响应中的内联指令
我们经常看到客户在函数响应之外提供额外的指令Parts。这可能会导致模型出现意想不到的行为(例如思维泄露),并降低输出质量。正确的做法是,将所有额外的指令添加到函数响应文本的末尾,并用两个换行符分隔。
<span style="color:#f8f8f2"><span style="color:#f8f8f2"><code><span style="color:#808080"># ✅ Append inline instructions to the end of the function response separated by two newlines
</span><span style="color:#f8f8f2">result_text</span> <span style="color:#f9690e">=</span> <span style="color:#f2ca27">f</span><span style="color:#f2ca27">"</span><span style="color:#f2ca27">{</span><span style="color:#f8f8f2">json</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">dumps</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">result</span><span style="color:#f8f8f2">)</span><span style="color:#f2ca27">}</span><span style="color:#dda0dd">\n\n</span><span style="color:#f2ca27"><your inline instructions></span><span style="color:#f2ca27">"</span>
<span style="color:#f8f8f2">final_interaction</span> <span style="color:#f9690e">=</span> <span style="color:#f8f8f2">client</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">interactions</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">create</span><span style="color:#f8f8f2">(</span>
<span style="color:#f8f8f2">model</span><span style="color:#f9690e">=</span><span style="color:#f2ca27">"</span><span style="color:#f2ca27">gemini-3.5-flash</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">,</span>
<span style="color:#f8f8f2">previous_interaction_id</span><span style="color:#f9690e">=</span><span style="color:#f8f8f2">interaction</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">id</span><span style="color:#f8f8f2">,</span>
<span style="color:#f8f8f2">tools</span><span style="color:#f9690e">=</span><span style="color:#f8f8f2">[</span><span style="color:#f8f8f2">my_tool</span><span style="color:#f8f8f2">],</span>
<span style="color:#f8f8f2">input</span><span style="color:#f9690e">=</span><span style="color:#f8f8f2">[</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f2ca27">"</span><span style="color:#f2ca27">type</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#f2ca27">"</span><span style="color:#f2ca27">function_result</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">,</span>
<span style="color:#f2ca27">"</span><span style="color:#f2ca27">name</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#f8f8f2">fc_step</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">name</span><span style="color:#f8f8f2">,</span>
<span style="color:#f2ca27">"</span><span style="color:#f2ca27">call_id</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#f8f8f2">fc_step</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">id</span><span style="color:#f8f8f2">,</span>
<span style="color:#f2ca27">"</span><span style="color:#f2ca27">result</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#f8f8f2">[{</span><span style="color:#f2ca27">"</span><span style="color:#f2ca27">type</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#f2ca27">"</span><span style="color:#f2ca27">text</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">,</span> <span style="color:#f2ca27">"</span><span style="color:#f2ca27">text</span><span style="color:#f2ca27">"</span><span style="color:#f8f8f2">:</span> <span style="color:#f8f8f2">result_text</span><span style="color:#f8f8f2">}],</span>
<span style="color:#f8f8f2">}</span>
<span style="color:#f8f8f2">],</span>
<span style="color:#f8f8f2">)</span>
</code></span></span>
减少不必要的工具调用
如果工具调用次数过多,以下两种方法可以帮助减少工具调用次数:
- 首先降低思维水平(
medium,,low或minimal):较高的思维水平会促使模型使用更多工具进行探索和验证,因此降低水平可以减少工具调用。 -
添加系统指令:如果在调整思维水平后过度使用工具的情况仍然存在,请考虑添加限制工具使用的提示。例如:
<span style="color:#f8f8f2"><code>You have a limited action budget of <n> tool calls. Use them efficiently. </code></span>
迁移清单
注意:请使用编码代理自动执行此迁移。如果您使用支持技能的编码代理(例如 Antigravity),请安装Gemini Interactions API 技能并运行:
<span style="color:#f8f8f2"><span style="color:#f8f8f2"><code>/gemini-interactions-api migrate my app to Gemini 3.5 Flash
</code></span></span>
我们强烈建议您更新至google-genaiSDK v2.0.0 或更高版本。此版本对交互 API 进行了重大更改。详情请参阅重大更改迁移指南。
从 Gemini 3 Flash Preview 迁移
- 更新模型名称:
gemini-3-flash-preview→gemini-3.5-flash - 请查看价格。Gemini 3.5 闪光灯比 Gemini 3 闪光灯预览版更贵。详情请参阅价格页面。
- 从配置中移除
temperature,top_p(top_k不再推荐)。 - 替换
thinking_budget为thinking_level。 - 添加
id并匹配name所有FunctionResponse部件。 - 测试您的提示。默认工作量已从
high→更改medium;请验证质量、速度和成本。 - 思维保留功能现已默认开启。推理上下文会跨回合传递,这可以提高性能,但可能会增加令牌使用量。
- 减少不必要的工具调用:首先降低思维级别(
medium,,low或minimal);如果过度使用持续存在,则添加系统指令来限制工具的使用。 - 目前 Gemini 3.5 Flash 不支持计算机使用。对于需要使用计算机的工作负载,请继续使用 Gemini 3 Flash Preview。
从 Gemini 2.5 迁移
以上所有内容,外加:
- 简化提示。如果您之前使用逻辑推理提示来引导推理,请尝试
thinking_level: "medium"使用"high"更简单的提示。 - 测试 PDF 和媒体工作负载。如果您依赖特定行为来解析密集文档,请测试该
media_resolution_high设置以确保其准确性。迁移到 Gemini 3 默认设置可能会增加 PDF 的令牌使用量,但会减少视频的令牌使用量;如果请求超出上下文窗口,请显式减少令牌使用量media_resolution。有关详细信息,请参阅媒体分辨率文档。 - 充分利用组合工具。可以在同一个请求中使用谷歌搜索、URL上下文、代码执行和自定义函数。
- 如果使用多模态功能反应,请将多模态内容移至功能反应部分内部,而不是与功能反应部分并列。
- 如果使用内联指令和函数响应,请将它们附加到函数响应文本中,并用两个换行符分隔,而不是作为单独的部分。
- Gemini 3.x 不支持图像分割。对于分割工作负载,请继续使用 Gemini 2.5 Flash with thinking off 或Gemini Robotics-ER 1.6。
Gemini 3 系列功能
Gemini 3.5 Flash 继承了 Gemini 3 系列的所有功能,但计算机使用功能除外。Gemini 3 中引入并沿用的功能包括:
- 思考:加密的推理上下文在 API 调用之间得以保留。在交互 API 中是自动的;在 GenerateContent 中是隐式的。
- 使用工具进行结构化输出:将 JSON 模式与内置工具(搜索、URL 上下文、代码执行、函数调用)相结合。
- 多模态函数响应:在函数调用结果中返回图像、音频和其他媒体。
- 使用图像执行代码:执行处理和生成图像的代码。
- 工具组合使用:在同一请求中使用内置工具和自定义函数调用。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)