[控场AI]
· 13 分钟阅读· 6,948 字

Gemini 4 Argon开发者指南:thinking_level与长解码实战

Gemini 4 Argon开发者指南:thinking_level与长解码实战

Gemini 4 Argon 的 thinking_level 与 max_output_tokens 决定成本与耗时,公开基准全在 high 下采集而默认是 medium。

Gemini 4 Argon 发布后,thinking_level(low/medium/high,默认 medium,无法关闭)与 max_output_tokens(同步 65,536,长解码最高 1,048,576)直接决定每次请求的成本与耗时。核心陷阱在于:所有公开基准都在 high 级别采集,而不指定级别默认走 medium;输出上限设得过低会返回空答案却照常计费;超过 64K token 必须启用长解码,按 64K 跳执行、每跳都计费,重复输入享 95% 隐式缓存折扣。temperature、top_p、top_k 被 Argon 完全忽略,控制行为只能靠思考级别和 prompt,客户端超时建议至少 15 分钟。medium/low 的准确率数据缺失,长解码在 AIHubMix 上的端到端表现也尚未验证。

Gemini 4 Argon thinking_level 与长解码开发者指南

Gemini 4 Argon正式发布后,两个参数直接决定每次请求的成本和耗时:thinking_level(low/medium/high,默认medium)和max_output_tokens(同步默认65,536,长解码下最高1,048,576)。两者都有官方文档,也都有坑。核心工程问题在于:所有公开基准测试都在high级别运行,但不指定级别的请求默认走medium;输出上限设得太低会返回空答案却照常计费;超过64K token必须启用长解码,而长解码按后台执行、每一跳都计费。

参数速览与级别选择

设置项Gemini 4 Argon
思考级别low、medium、high
默认级别medium
关闭思考不支持
同步最大输出65,536 token
长解码最大输出1,048,576 减去输入
上下文窗口1,048,576,输入/思考/输出共享
temperature、top_p、top_k被忽略
推荐客户端超时至少15分钟

通过OpenAI SDK调用时,reasoning_effort的映射关系为:minimal/low对应low,medium对应medium,high对应high。

Google的建议很直接:在三个级别上分别跑评测,然后选满足质量下限的最低级别。但公开数据全部在high级别采集——Google以“最高思考设置”评测Argon,Artificial Analysis和Vals AI同样在high下测试。GPT-6 Astra和GPT-6.1 Sol则在“max”级别测试,比high还高一档。所谓“Argon(high)与Astra(max)打平”,实际上是各自天花板的对决。

级别选择的实际权衡:

  • low:token最少、延迟最低,适合简单和成本敏感型任务
  • medium:均衡,适合大多数任务,包括复杂代码和智能体
  • high:token最多、首token最慢,适合最难的推理、数学和代码

思考级别(reasoning / thinking level) 是大模型在给出最终答案前允许进行的内部推理预算档位。级别越高,模型在“隐式思考”阶段生成的 token 越多,通常推理质量更好,但首 token 延迟和总输出 token 都会上升。Argon 的 low/medium/high 并非开关式,而是连续预算的分档,且思考 token 会在 usage 的 total_thought_tokens 中单独统计并计入输出计费。

隐式缓存(implicit caching) 是服务端对相同前缀自动命中缓存并按折扣计费的能力。Argon 对至少 4,096 token 的 prompt 生效,重复输入部分享 95% 折扣。缓存命中要求内容、模型和参数完全一致,因此会话中途切换 thinking_level 会导致缓存失效,从而抬高长解码成本。

high级别的真实成本

据Artificial Analysis和Vals AI在high级别下的测试数据:

指标Gemini 4 Argon(high)对比
每任务输出token~62kGPT-6 Astra(max):~27k
AA指数总输出token110M中位模型:85M
输出速度99.5–116.5 token/sAI Studio / Vertex AI
首个答案token时间~45秒含思考时间
Vals Index单次测试耗时46分33秒—

输出计费包含思考token,在usage中体现为total_thought_tokens。每任务约62k输出token,按Google每百万token 10美元的introductory价格约合0.62美元,按12月1日起的20美元价格约合1.24美元。以99.5–116.5 token/s的速度,62k token需要9到10分钟生成。

快速上手:AIHubMix客户端配置

前提条件:

  • AIHUBMIX_API_KEY环境变量中存放AIHubMix密钥,Argon在AIHubMix上的模型名为gemini-4-argon
  • 普通请求使用OpenAI SDK,端点https://aihubmix.com/v1
  • 长解码使用Google GenAI SDK,端点https://aihubmix.com/gemini
pip install -U openai google-genai
export AIHUBMIX_API_KEY="your-aihubmix-key"

一个标准的同步请求:

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://aihubmix.com/v1",
    api_key=os.environ["AIHUBMIX_API_KEY"],
    timeout=900,
)

resp = client.chat.completions.create(
    model="gemini-4-argon",
    reasoning_effort="medium",
    max_tokens=32768,
    messages=[
        {"role": "user", "content": "Review this payment service for race conditions in its retry logic.\n\n<source code>"},
    ],
)
print(resp.choices[0].message.content)
print(resp.usage)

几个关键选择:reasoning_effort="medium"显式声明默认值,后续改动只差一个词;max_tokens=32768是Google对设置上限的应用的最低建议,同时限制思考和答案;timeout=900遵循Google对困难prompt至少15分钟的建议;不设置temperature或top_p,因为Argon忽略它们。

长解码:超过64K的正确姿势

长解码即Google最初宣布的Long Decode Continuation。在Interactions API上,服务端替你运行续写循环:设置background=True(需要store=true)且max_output_tokens高于65,536。它以最多64K token为一跳,最长运行24小时,每跳增加一个model_output步骤。

import os
import time
from google import genai

client = genai.Client(
    api_key=os.environ["AIHUBMIX_API_KEY"],
    http_options={"base_url": "https://aihubmix.com/gemini"},
)

interaction = client.interactions.create(
    model="gemini-4-argon",
    input="Write the full test suite for this payment module, with a test for every edge case.\n\n<source code>",
    background=True,
    generation_config={"max_output_tokens": 262144, "thinking_level": "high"},
)
while interaction.status in ("in_progress", "queued"):
    time.sleep(5)
    interaction = client.interactions.get(id=interaction.id)

text = "".join(
    part.text
    for step in interaction.steps
    if step.type == "model_output"
    for part in step.content
    if part.type == "text"
)
print(interaction.status, interaction.usage)

替代方案是generateContent上的客户端续写。每跳返回最多64K token(非流式REST为32K),以finish_reason: CONTINUATION和continuation_token结束,你带token重发相同请求。google-genai 2.30.1和@google/genai 2.29.1及以上版本会自动处理。每个请求有20分钟限制。

流式场景下:保存interaction ID和每个event_id,用last_event_id重连,读到结尾再检查状态,读取超时设15到20分钟。首64K token之后,输出以约5,000 token的块到达。

适用场景的判断标准:困难数学、科学和证明任务,最难的编码和智能体任务,以及会在上限处停止的评测框架——这些适合长解码。聊天、问答、摘要、提取(32K以下),固定长度请求,多短回合的工具型智能体,接近1M输入限制的prompt,以及延迟敏感的调用——都不适合。

长解码(Long Decode Continuation) 本质是把一次超长生成拆成多个 64K token 的“跳(hop)”。同步接口单次请求受输出上限和超时限制,无法一次产出超过 64K;长解码改由服务端或客户端循环续写,每跳返回一段结果并以 continuation_token 衔接,最终拼接成完整输出。

background=True 与 store=true 是 Interactions API 上启用服务端长解码的两个前置开关。后台执行意味着请求被持久化为一个可轮询的 interaction 对象,服务端自行推进续写循环,最长运行 24 小时;交互内容会被存储,因此不能同时设置 store=False。计费按每跳实际生成的 token 逐跳累计,包含纯思考跳。

finish_reason: CONTINUATION 是客户端续写路径的结束信号:当一跳达到 64K(非流式 REST 为 32K)时,响应以此标记结束,并附带 continuation_token,调用方需带上该 token 重发相同请求以获取下一跳。google-genai 2.30.1 及以上版本会自动处理该循环,否则需要手动实现。

常见故障与修复

空答案或截断但仍计费:响应在思考时触及max_output_tokens,状态为incomplete,文本被截断或为空,思考token照常计费。修复方式是提高上限到至少32,768,或降低思考级别。不要为了省钱而缩小上限。

400错误:max_output_tokens大于65536尚不支持background=false:在同步调用中请求了超过65,536 token。改用background=True,或将上限保持在65,536。

400错误:background交互需要store=true:后台执行会存储交互。不要在后台调用中设置store=False。

输出正好停在64K:background为false,max_output_tokens未设到65,536以上,或旧版SDK未在generateContent上续写。设置background=True并让上限高于65,536,或升级到google-genai 2.30.1以上。

结果与公开分数不符:基准测试在high下运行,你的请求默认走medium。想要基准行为就设reasoning_effort="high"(或thinking_level="high"),并自行测量medium是否够用。

temperature改了没反应:Argon忽略temperature、top_p和top_k。删掉它们,用思考级别和prompt控制行为。

上下文压缩启动过早:长解码期间total_input_tokens汇总每跳输入,会高估上下文。Google的例子:1,000 token的prompt加200,000生成token跑四跳,报告约397,000输入token,而实际上下文约201,000。修复方式是按prompt大小加total_output_tokens加total_thought_tokens来估算上下文。

长解码账单:每跳的每个token都计费,包括纯思考跳;每跳中重复输入的95%由隐式缓存折扣。Google例子中按introductory价格,200,000输出token花费2.00美元,约396,000重复输入token按每百万0.10美元加约0.04美元。取消和失败的交互会对已完成工作计费。只对适用场景使用长解码,并把max_output_tokens限制在任务实际需要。

会话中途缓存命中消失:Argon对至少4,096 token的prompt隐式缓存,折扣95%。缓存命中需要相同内容、模型和参数,在回合之间切换级别可能损失命中。一个工作流固定一个级别。

total_input_tokens 的统计口径 是理解上下文压缩误报的关键。长解码期间服务端每一跳都会把已有上下文重新作为输入提交,因此 usage 中的 total_input_tokens 是各跳输入之和,而非真实上下文长度。真实上下文应近似等于原始 prompt 加上 total_output_tokens 再加以 total_thought_tokens,按这个口径估算才不会误触发压缩。

尚无法验证的部分

有两件事目前缺乏实测数据。一是medium和low级别下准确率和token用量的变化——所有公开结果都在high级别,没有低级别数据可供参考。二是长解码能否通过AIHubMix的Gemini端点端到端跑通。AIHubMix文档记录了后台交互,但Argon在该路由上的长解码尚未测试。

Argon的AIHubMix模型页面列出了输入、能力和当前价格,可作为配置参考。

基准测试的级别一致性 是横向比较模型时最容易忽略的偏差来源。公开榜单通常在各自“最高档”运行:Argon 在 high,Astra 在 max,Sol 在 max。high 与 max 并非同一档位,因此“Argon(high)与 Astra(max)打平”只说明两者各自天花板接近,并不代表默认 medium 下的实际表现。工程选型时应以自身任务的级别实测为准,而非直接套用榜单分数。

要点回顾

  • 思考级别没有关闭选项,默认medium,所有公开基准都在high下采集
  • max_output_tokens同时限制思考和答案,Google建议应用侧至少设32,768
  • 超过65,536 token必须用长解码(background=True+上限高于65,536),按跳计费
  • temperature、top_p、top_k被完全忽略,客户端超时至少设15分钟
  • 公开数据缺失medium/low准确率,长解码在AIHubMix上的端到端表现也待验证
#Gemini 4 Argon#thinking_level#长解码#Long Decode#max_output_tokens#AIHubMix#Gemini API#reasoning_effort
分享:

相关推荐