Gemini 3.1 Pro 的 thinking_level 怎么选、账单怎么控:开发者上手笔记

2 月 19 号 Google 发了 Gemini 3.1 Pro。宣传语照例是"most advanced model for complex tasks",我关心的是三件事:API 怎么接、thinking_level 怎么配、一个月下来到底花多少钱。

跑了一周,把这几件事搞清楚了。也踩了一些坑。

先说 thinking_level,这是 3.1 Pro 最值得关注的变化

之前我写过一篇 Opus 4.6 的 effort 参数分档。Gemini 3.1 Pro 有个类似的东西叫 thinking_level,分 LOW、MEDIUM、HIGH 三档。

3.0 Pro 只有 LOW 和 HIGH。3.1 Pro 加了 MEDIUM,同时把 HIGH 档的推理能力大幅增强——挂载了一个叫 Deep Think Mini 的内部推理引擎。ARC-AGI-2 跑出 77.1% 就是 HIGH 档的成绩,LOW 档跑同样的题只有 30% 出头。

三档的实际表现差异很大:

thinking_level 推理 token 预算 典型响应时间 适合场景
LOW 200-500 tokens 1-3 秒 分类、翻译、提取、路由
MEDIUM ~8,192 tokens 3-10 秒 代码审查、摘要、一般分析
HIGH ~32,768 tokens 30 秒以上 数学证明、复杂推理、竞赛级编程

一个容易搞混的点:3.0 Pro 的 HIGH 大致等于 3.1 Pro 的 MEDIUM。如果你之前在 3.0 Pro 上用 HIGH 跑得好好的,切到 3.1 Pro 可以先试 MEDIUM,效果差不多但便宜一截。

API 接入

Python SDK

from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
    model="gemini-3.1-pro-preview",
    contents="分析这段代码的性能瓶颈",
    config=types.GenerateContentConfig(
        thinking_config=types.ThinkingConfig(
            thinking_level="MEDIUM"
        )
    ),
)

print(response.text)
print(f"思考 token:{response.usage_metadata.thoughts_token_count}")
print(f"输出 token:{response.usage_metadata.candidates_token_count}")

thoughts_token_count 这个字段很关键。后面算账全靠它。

REST API

{
  "contents": [{"parts": [{"text": "你的 prompt"}]}],
  "generationConfig": {
    "thinkingConfig": {
      "thinkingLevel": "MEDIUM"
    }
  }
}

如果不设 thinkingLevel,默认走 HIGH。这意味着你的每次请求都在触发 Deep Think Mini,产生大量推理 token。很多人第一个月账单偏高就是这个原因。

OpenAI 兼容格式

一些第三方网关支持 OpenAI 格式调用:

import openai

client = openai.OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)

response = client.chat.completions.create(
    model="gemini-3.1-pro-preview",
    messages=[{"role": "user", "content": "你的 prompt"}],
    extra_body={
        "thinking": {"type": "enabled", "budget_tokens": 8192}
    }
)

budget_tokensthinking_level 的大致对应关系:8192 ≈ MEDIUM,32768 ≈ HIGH。

定价:看着便宜,但推理 token 是个坑

先列基础价格:

项目 标准价(≤200K 输入) 长上下文价(>200K 输入)
输入 $2.00 / 百万 token $4.00 / 百万 token
输出(含推理 token) $12.00 / 百万 token $18.00 / 百万 token
缓存读取 $0.20 / 百万 token $0.40 / 百万 token
缓存写入 $0.50 / 百万 token
缓存存储 $4.50 / 百万 token / 小时

重点在"输出(含推理 token)"这行。推理 token 按输出价格计费,$12/百万。HIGH 档一次请求可能产生 3 万推理 token,光推理部分就是 $0.36。如果你的实际输出只有 500 token($0.006),推理 token 是实际输出的 60 倍。

拿三个场景算一下:

场景 thinking_level 输入 token 推理 token 输出 token 单次成本
代码审查(200 行) MEDIUM 3,000 8,000 800 $0.112
代码审查(200 行) HIGH 3,000 30,000 1,500 $0.384
文档摘要 LOW 50,000 300 500 $0.110
文档摘要 HIGH 50,000 25,000 2,000 $0.424
数学推理 HIGH 500 32,000 1,000 $0.397

同一个任务,LOW 和 HIGH 之间可以差 3-4 倍。日调用量上千的话,一个月差几百美元。

和 Opus 4.6、GPT-5.2 对比

模型 输入价 输出价 上下文窗口
Gemini 3.1 Pro $2.00/M $12.00/M 1M tokens
Claude Opus 4.6 $5.00/M $25.00/M 200K(1M beta,Tier 4)
Claude Sonnet 4.6 $3.00/M $15.00/M 200K(1M beta,Tier 4)
GPT-5.2 $1.75/M $14.00/M 400K tokens

Gemini 3.1 Pro 的输入价比 Opus 4.6 便宜 60%,输出价便宜 52%。和 Sonnet 4.6 比也有优势。GPT-5.2 输入稍便宜,但输出贵 $2。

按月 5000 万 token(1500 万输入 + 3500 万输出)算:

  • Gemini 3.1 Pro:$450/月
  • Claude Sonnet 4.6:$570/月
  • Claude Opus 4.6:$950/月
  • GPT-5.2:$516/月

差距在百美元级别。选谁不完全看价格,但价格确实是 Gemini 3.1 Pro 的优势。

省钱的两个关键操作

Batch API:所有 token 价格打五折。输入 $1.00/M,输出 $6.00/M。代价是异步处理,通常 24 小时内返回。数据标注、批量分类、报告生成这类不需要实时响应的任务,没理由不用 Batch。

Context Caching:如果你的 system prompt 或参考文档在多次请求间重复,缓存可以把重复部分的读取成本从 $2.00/M 降到 $0.20/M,降了 90%。举个例子:5 万 token 的 system prompt,每月调用 1 万次,不缓存要 $1,000,缓存后约 $100。最低缓存门槛是 4,096 token。

跑分:赢在哪,输在哪

直接上对比表:

基准测试 Gemini 3.1 Pro Claude Opus 4.6 GPT-5.2 说明
ARC-AGI-2 77.1% 68.8% 52.9% 抽象推理
GPQA Diamond 94.3% 91.3% 92.4% 科学推理
AIME 2025 91.2% 84.5%* 82.1%* 数学竞赛
SWE-Bench Verified 80.6% 80.8% 80.0% 代码修复
MMLU 90.4% 91.8%* 90.2% 知识问答
VideoMME 87.2% 79.2% 81.3% 视频理解
LM Arena Elo 1,489 1,462 1,452 人类偏好
GDPval-AA Elo 1,317 1,606 专家偏好

*部分数据来源为 Opus 4.5/GPT-5.1 时期,仅供参考

几个值得注意的点:

ARC-AGI-2 领先幅度很大,比 Opus 4.6 高了 8 个百分点。但这是 HIGH 档(Deep Think Mini)跑出来的,推理成本也高。

SWE-Bench 三家几乎打平,差距在 0.8 个百分点以内。选谁都不会在代码修复能力上吃亏。

GDPval-AA Elo 是专家盲评偏好,Opus 4.6 的 1,606 远超 Gemini 的 1,317。跑分赢了不代表实际用起来专家就更满意。这中间有一段距离。

VideoMME 是 Gemini 的强项,比 Opus 4.6 高了将近 8 个百分点。如果你的业务涉及视频分析,这个差距有实际意义。

3.1 Pro 相比 3.0 Pro 的提升也值得看:

基准 3.0 Pro 3.1 Pro 提升
SWE-Bench Verified 67.2% 71.4% +4.2pp
AIME 2025 86.0% 91.2% +5.2pp
GPQA Diamond 84.1% 87.8% +3.7pp
VideoMME 84.8% 87.2% +2.4pp

同价升级,没有不换的理由。

已知问题

跑了一周碰到的问题和社区反馈汇总。

配额消耗异常

多个用户反馈配额掉得比 3.0 Pro 快大约 2 倍。我自己测试时也注意到了,同样的 prompt 在 3.0 Pro 和 3.1 Pro 上的 token 消耗不一样。3.1 Pro 的 HIGH 档因为推理更深,一次请求的总 token 数可以是 3.0 Pro 的好几倍。

锁号

GitHub 讨论里最多的投诉是锁号。付费用户(AI Pro 订阅)用 Gemini CLI 时,触发 5 小时配额窗口三次后被锁 90-99 小时。有人报告只用了一小时就被锁了 3-7 天。

这个问题目前没有官方解决方案。API 密钥用户不受影响,只有 Google 账号登录的用户才会碰到。

工具调用兼容性

Tool calling 在几个主流框架上有问题。社区报告 LangChain4j、n8n、RooCode、Cursor 里的工具调用存在不同程度的 bug。Vercel AI SDK 的结构化输出和 Code Execution 工具同时使用会报 AI_NoOutputGeneratedError

如果你的应用依赖 tool calling,建议先在测试环境验证,不要直接切生产。

发布日延迟

这个是情绪问题,不影响技术选型。Google 官宣"今日可用",但 Gemini CLI 用户等了好几天才拿到访问权限。API 密钥用户倒是当天就能用。中间的信息差引起了不少抱怨。

首日延迟

发布当天有用户测到单次请求延迟 104 秒。这应该是容量问题,后面几天恢复正常了。但如果你赶在发布当天就切生产,可能会被坑一下。

什么时候用 Gemini 3.1 Pro,什么时候不用

适合用的场景

长文档处理。1M 上下文窗口是默认可用的,不需要特殊申请。Claude 的 1M 是 Tier 4 beta,GPT-5.2 只有 400K。如果你要处理完整代码库、长篇合同、多小时会议记录,Gemini 3.1 Pro 是当前选择最少麻烦的。

视频分析。VideoMME 87.2% 是所有主流模型里最高的。支持最长 1 小时视频(无音频)或 45 分钟(有音频)。如果你在做视频内容理解、会议分析,这是最强选项。

成本敏感的通用任务。以 MEDIUM 档跑日常的代码审查、文档摘要、数据分析,成本比 Opus 4.6 低 50% 以上,能力上够用。

从 3.0 Pro 升级。同价升级,全面提升。除了 preview 状态可能有稳定性风险,没有不换的理由。

不太适合的场景

需要 SLA 保障的生产系统。Preview 状态意味着没有正式的可用性承诺。Google 可能在 GA 之前更新模型权重。

对输出质量有极高要求。GDPval-AA Elo 差了将近 300 分,说明专家在盲评时更偏好 Opus 4.6 的输出。如果你的用户是行业专家,对措辞和准确性非常敏感,Opus 4.6 可能更合适。

重度依赖工具调用。当前工具调用在多个框架上有兼容性问题。如果你的 Agent 架构高度依赖 function calling,建议等这波 bug 修完再切。

thinking_level 分档策略

和 Opus 4.6 的 effort 参数一样,关键是给不同任务配合适的档位。

策略一:按任务类型固定

最简单,适合明确知道自己业务场景的团队:

  • 分类、路由、提取、翻译 → LOW
  • 代码审查、摘要、一般分析 → MEDIUM
  • 数学推理、复杂编码、安全审计 → HIGH

策略二:先低后高

先用 LOW 跑一遍。如果输出不符合预期(太短、置信度低、缺关键信息),自动升到 MEDIUM 或 HIGH 重跑。

from google import genai
from google.genai import types

client = genai.Client()

def smart_generate(prompt, contents):
    for level in ["LOW", "MEDIUM", "HIGH"]:
        response = client.models.generate_content(
            model="gemini-3.1-pro-preview",
            contents=contents,
            config=types.GenerateContentConfig(
                thinking_config=types.ThinkingConfig(
                    thinking_level=level
                )
            ),
        )
        if quality_check(response):
            return response
    return response

def quality_check(response):
    if response.usage_metadata.candidates_token_count < 100:
        return False
    # 你自己的质量判断逻辑
    return True

大部分请求在 LOW 就能解决的话,总成本会下降不少。

策略三:主 Agent HIGH,子 Agent LOW

如果你在搭多 Agent 系统,规划 Agent 用 HIGH,执行 Agent 用 LOW。逻辑和 Opus 4.6 的 effort 分级一样:决策层不能省,执行层可以省。

监控建议

上了 Gemini 3.1 Pro 之后建议盯两个指标:

按 thinking_level 分组统计每次请求的 thoughts_token_count。如果 LOW 档的推理 token 数突然偏高,说明有些请求对 LOW 来说太复杂了,模型在"挣扎"。

监控 stop_reasonmax_tokens 的比例。HIGH 档容易产生大量 token,撞到 max_tokens 上限。如果这个比例超过 5%,要么调高上限,要么降低 thinking_level。


如果你之前在用 Gemini 3.0 Pro,换 3.1 Pro 只需要改一下 model ID。注意默认 thinking_level 是 HIGH,先改成 MEDIUM 试试,大概率够用,还能省不少钱。

如果你在 Opus 4.6 和 Gemini 3.1 Pro 之间犹豫,建议的做法是拿你实际的 prompt 跑一轮对比。跑分表上的数字和你的具体任务不一定对得上。Gemini 赢在价格和上下文窗口,Opus 赢在输出质量和工具调用稳定性,两边的优势领域不重叠。

posted @ 2026-02-25 15:56  147API  阅读(0)  评论(0)    收藏  举报