作者注:詳解 Gemini 3.1 Pro Preview 輸出 Token 遠超可見文字的原因:Thinking Tokens 推理鏈機制、計費規則、thinking_level 調參省錢技巧
「我就發了一句話,模型也只回了十幾個字,爲什麼輸出 Token 顯示將近 900?錢花到哪裏去了?」——這是很多開發者第一次使用 Gemini 3.1 Pro Preview 時的真實困惑。截圖中的數據也清楚地展示了這個現象:輸入 13 個 Token,輸出卻高達 898 個 Token。
答案就是 Thinking Tokens(推理 Token)。Gemini 3.1 Pro 是一個推理模型,它在給你回答之前,會先在「腦子裏」進行一大段思考推理。這些推理內容默認不會展示給你,但會被計入輸出 Token 並正常計費。
核心價值: 讀完本文,你將徹底理解推理模型的 Thinking Tokens 機制,學會用 thinking_level 參數控制推理深度,在保證質量的前提下節省 50-80% 的輸出 Token 開銷。
<!– 標題 –>
<!– 水面線 –>
<!– 水面上:可見回答(冰山頂部) –>
<!– 標註:可見部分 –>
<!– 水面下方背景(水) –>
<!– 水面下:Thinking Tokens(冰山底部,更大) –>
<!– 推理鏈內容示意 –>
<!– 標註:隱藏部分 –>
<!– 左側數據卡片 –>
<!– 底部品牌 –>
Gemini 3.1 Pro Thinking Tokens 核心要點
推理模型和普通對話模型的最大區別,就在於輸出 Token 的構成完全不同。以下是你需要理解的核心概念:
| 要點 | 說明 | 實際影響 |
|---|---|---|
| 輸出 Token = 思考 + 回答 | Gemini 3.1 Pro 的輸出 Token 包含 Thinking Tokens(推理鏈)和實際回答兩部分 | 看到的文字很少,但總 Token 很高 |
| Thinking Tokens 正常計費 | 推理過程雖然不可見,但按輸出 Token 價格計費($12/百萬 Token) | 一個簡單問題可能花費是普通模型的 5-10 倍 |
| thinking_level 可調 | 支持 LOW/MEDIUM/HIGH 三檔推理深度控制 | LOW 檔可節省 80%+ 輸出 Token |
| 非推理模型無此問題 | GPT-4o、Claude Sonnet 4.6(關閉 Extended Thinking)等模型所見即所得 | 簡單任務用非推理模型更划算 |
Gemini 3.1 Pro Thinking Tokens 的真實消耗案例
回到截圖中的例子。用戶發了一個簡單問題,模型回覆了大約十幾個字,但輸出 Token 顯示 891-898 個。這些 Token 的構成大致如下:
- 可見回答: 約 30-50 個 Token(你看到的那十幾個字)
- Thinking Tokens: 約 840-860 個 Token(模型內部的推理過程)
也就是說,超過 95% 的輸出 Token 你是看不到的,它們消耗在了模型的推理鏈中。這就好比你問一個數學老師「1+1 等於幾」,老師嘴上只說了「等於 2」,但腦子裏其實想了:「這是一個基礎算術問題,需要用到加法運算……」——然後你爲老師的整個思考過程付了費。
這個機制不是 Bug,而是推理模型的設計特性。Gemini 3.1 Pro 之所以在複雜問題上表現更好(MATH 基準 95.1%、ARC-AGI-2 達 77.1%),正是因爲它在回答前進行了深度推理。
<!– 標題 –>
<!– ===== 左側:普通模型 ===== –>
<!– 輸入 –>
<!– 箭頭 –>
<!– 輸出:全部可見 –>
<!– Token 統計 –>
<!– 評價 –>
<!– ===== 右側:推理模型 ===== –>
<!– 輸入 –>
<!– 箭頭 –>
<!– 輸出:推理鏈(隱藏) –>
<!– 輸出:可見回答 –>
<!– Token 統計 –>
<!– 評價 –>
<!– 底部對比結論 –>
Gemini 3.1 Pro 推理模型 Thinking Tokens 的運作機制
推理模型和普通模型的本質區別
普通模型(如 GPT-4o)收到你的問題後,直接生成回答。你看到多少字,就消耗多少輸出 Token。這就是「所見即所得」。
推理模型(如 Gemini 3.1 Pro Preview)收到問題後,會先生成一段內部推理鏈(Chain of Thought),然後基於推理結果生成最終回答。你看到的只是最終回答,但計費的是「推理鏈 + 回答」的總 Token 數。
| 模型類型 | 代表模型 | 輸出 Token 構成 | 簡單問題開銷 | 複雜問題優勢 |
|---|---|---|---|---|
| 普通模型 | GPT-4o、Claude Sonnet 4.6 | 100% 可見回答 | 低(所見即所得) | 推理能力一般 |
| 推理模型 | Gemini 3.1 Pro、GPT-5.4 Thinking | 推理鏈 + 可見回答 | 高(5-10 倍以上) | 複雜推理能力強 |
| 可切換模型 | Claude Sonnet 4.6(Extended Thinking) | 可選是否開啓推理 | 靈活切換 | 按需開啓推理 |
Gemini 3.1 Pro Thinking Tokens 的 3 個關鍵細節
細節一:Thinking Tokens 的計費方式。 根據 Google 官方文檔,Thinking Tokens 按照輸出 Token 的標準價格計費。Gemini 3.1 Pro 的輸出 Token 價格爲 $12/百萬 Token。當模型花 4000 個 Token 推理、500 個 Token 回答時,你需要爲 4500 個輸出 Token 付費——而不是 500 個。
細節二:API 返回中如何區分。 在 Gemini API 的響應中,usage_metadata 字段會分別返回 thoughts_token_count(推理 Token 數)和 candidates_token_count(總輸出 Token 數)。但需要注意:Gemini API 的 candidatesTokenCount 已包含 Thinking Tokens,而 Vertex AI 的 candidatesTokenCount 則不包含。
細節三:推理鏈內容默認不可見。 你可以通過設置 includeThoughts: true 來獲取推理過程的摘要(不是完整推理鏈),也可以在 Cherry Studio 等工具中開啓推理鏈展示功能查看模型的思考過程。
🎯 省錢建議: 如果你只是簡單對話或翻譯任務,不需要深度推理,建議切換到普通模型(如 GPT-4o-mini 或 Claude Sonnet 4.6)。API易 apiyi.com 支持通過修改一個
model參數即可切換模型,無需改動其他代碼。
Gemini 3.1 Pro Thinking Tokens 優化:3 種省錢策略
策略一:使用 thinking_level 參數控制推理深度
Gemini 3.1 Pro 提供了 thinking_level 參數,支持 LOW、MEDIUM、HIGH 三檔。不同檔位的 Token 消耗差異巨大:
| thinking_level | 推理深度 | Token 消耗 | 適用場景 | 與 HIGH 對比 |
|---|---|---|---|---|
| LOW | 淺層推理 | 最低 | 翻譯、分類、簡單問答 | 節省約 80%+ |
| MEDIUM | 平衡推理 | 中等 | 日常編程、文檔生成、一般分析 | 節省約 50% |
| HIGH | 深度推理 | 最高 | 數學推導、科學問題、複雜邏輯 | 基準線 |
以下是設置 thinking_level 的代碼示例:
import openai
client = openai.OpenAI(
api_key="YOUR_API_KEY",
base_url="https://vip.apiyi.com/v1"
)
# 簡單任務用 LOW,大幅減少 Thinking Tokens
response = client.chat.completions.create(
model="gemini-3.1-pro-preview",
messages=[{"role": "user", "content": "把這句話翻譯成英文:今天天氣真好"}],
extra_body={"thinking_level": "LOW"} # LOW / MEDIUM / HIGH
)
print(response.choices[0].message.content)
print(f"總輸出 Token: {response.usage.completion_tokens}")
查看完整的智能路由代碼(根據問題複雜度自動選擇推理深度)
import openai
import json
def smart_gemini_call(
prompt: str,
complexity: str = "auto",
api_key: str = "YOUR_API_KEY"
) -> dict:
"""
智能調用 Gemini 3.1 Pro,根據任務複雜度自動選擇推理深度
Args:
prompt: 用戶輸入
complexity: "low" / "medium" / "high" / "auto"
api_key: API密鑰
Returns:
包含回答和 Token 使用統計的字典
"""
client = openai.OpenAI(
api_key=api_key,
base_url="https://vip.apiyi.com/v1"
)
# 自動判斷複雜度
if complexity == "auto":
simple_keywords = ["翻譯", "translate", "分類", "classify", "總結", "summarize"]
complex_keywords = ["推導", "證明", "計算", "分析", "比較", "爲什麼"]
prompt_lower = prompt.lower()
if any(kw in prompt_lower for kw in simple_keywords):
thinking_level = "LOW"
elif any(kw in prompt_lower for kw in complex_keywords):
thinking_level = "HIGH"
else:
thinking_level = "MEDIUM"
else:
thinking_level = complexity.upper()
response = client.chat.completions.create(
model="gemini-3.1-pro-preview",
messages=[{"role": "user", "content": prompt}],
extra_body={"thinking_level": thinking_level}
)
return {
"answer": response.choices[0].message.content,
"thinking_level": thinking_level,
"input_tokens": response.usage.prompt_tokens,
"output_tokens": response.usage.completion_tokens,
"total_tokens": response.usage.total_tokens
}
# 使用示例
# 簡單任務 → 自動選擇 LOW
result = smart_gemini_call("翻譯:今天天氣真好")
print(f"推理深度: {result['thinking_level']}, 輸出Token: {result['output_tokens']}")
# 複雜任務 → 自動選擇 HIGH
result = smart_gemini_call("證明勾股定理的至少兩種方法")
print(f"推理深度: {result['thinking_level']}, 輸出Token: {result['output_tokens']}")
建議: 通過 API易 apiyi.com 調用 Gemini 3.1 Pro 時支持傳遞
thinking_level參數。建議日常使用設爲 MEDIUM,僅在數學/科學等複雜推理場景使用 HIGH。
策略二:簡單任務直接用非推理模型
並不是所有場景都需要推理模型。對於翻譯、格式轉換、簡單問答等任務,使用非推理模型可以節省 5-10 倍的 Token 開銷:
- GPT-4o-mini: 性價比極高,日常對話首選
- Claude Sonnet 4.6(關閉 Extended Thinking): 輸出質量高,Token 所見即所得
- Gemini 3.1 Flash: Google 的輕量級模型,速度快、成本低
策略三:設置 max_tokens 限制輸出上限
給 API 調用加上 max_tokens 參數可以防止推理模型「過度思考」。但需要注意:max_tokens 限制的是總輸出(推理 + 回答),如果設置過低可能導致回答被截斷。建議根據預期回答長度設置爲 2-3 倍。
🎯 綜合建議: 在 API易 apiyi.com 平臺上,你可以用統一接口同時接入推理模型和非推理模型,根據任務類型動態切換。一個 API Key 即可調用 Gemini、Claude、GPT 全系列模型。
<!– 標題 –>
<!– Y軸標籤 –>
<!– 橫向柱狀圖 –>
<!– HIGH: 900 Token –>
900 Token
<!– MEDIUM: 400 Token –>
400 Token
<!– LOW: 150 Token –>
150 Token
<!– 非推理模型: 50 Token –>
50 Token
<!– 費用標註區域 –>
<!– 底部推薦 –>
常見問題
Q1: Gemini 3.1 Pro Thinking Tokens 爲什麼默認不展示推理過程?
這是 Google 的產品設計選擇。完整的推理鏈可能包含數千個 Token 的中間推導,直接展示會嚴重影響用戶體驗。你可以通過設置 includeThoughts: true 獲取推理摘要,或在 Cherry Studio 等客戶端中開啓推理鏈展示功能查看思考過程。
Q2: 怎麼在 API 響應中看到 Thinking Tokens 具體消耗了多少?
在 Gemini API 返回的 usage_metadata 中查看 thoughts_token_count 字段。如果你通過 API易 apiyi.com 調用,可以在平臺的用量統計頁面查看每次調用的詳細 Token 分解(輸入/輸出/推理),方便監控和優化成本。
Q3: 除了 Gemini 3.1 Pro,還有哪些模型有類似的 Thinking Tokens 機制?
主流推理模型都有類似機制:
- GPT-5.4 Thinking: OpenAI 的推理模型,推理 Token 同樣計入輸出 Token 計費
- Claude Sonnet 4.6 Extended Thinking: Anthropic 的推理模式,可以選擇性開啓
- DeepSeek-R1: 開源推理模型,推理鏈完全可見
關鍵區別在於:有些模型(如 Claude)可以靈活開關推理模式,有些模型(如 Gemini 3.1 Pro)默認開啓推理。通過 API易 apiyi.com 可以用統一接口測試對比這些模型的實際 Token 消耗。
總結
Gemini 3.1 Pro Thinking Tokens 的核心要點:
- 輸出 Token 包含隱藏的推理鏈: 你看到的只是回答部分,95% 以上的輸出 Token 消耗在不可見的 Thinking Tokens 中
- Thinking Tokens 正常計費: 按輸出 Token 標準價格收費,簡單問題的成本可能是非推理模型的 5-10 倍
- 用 thinking_level 參數省錢: LOW 檔可節省 80%+ Token,MEDIUM 適合日常使用,僅複雜任務用 HIGH
- 簡單任務選非推理模型: 翻譯、分類、簡單問答等場景直接用 GPT-4o-mini 或 Claude Sonnet 4.6 更划算
理解了 Thinking Tokens 機制,你就能合理分配推理預算。推薦通過 API易 apiyi.com 統一接口管理多模型調用,根據任務複雜度動態選擇推理模型或非推理模型,實現最優的質量/成本平衡。
📚 參考資料
-
Google Cloud 文檔 – Thinking 推理模式: Gemini 推理模型的官方技術文檔
- 鏈接:
docs.cloud.google.com/vertex-ai/generative-ai/docs/thinking - 說明: Thinking Tokens 計費規則和 thinking_level 參數配置的權威來源
- 鏈接:
-
Google AI 開發者文檔 – Token 計數: 官方 Token 計數和 usage_metadata 字段說明
- 鏈接:
ai.google.dev/gemini-api/docs/tokens - 說明: 如何在 API 響應中區分 thoughts_token_count 和 candidates_token_count
- 鏈接:
-
Google DeepMind – Gemini 3.1 Pro 模型卡片: 模型能力和推理基準測試詳情
- 鏈接:
deepmind.google/models/model-cards/gemini-3-1-pro/ - 說明: MATH 95.1%、ARC-AGI-2 77.1% 等性能數據的官方來源
- 鏈接:
-
OpenRouter – 推理 Token 最佳實踐: 推理模型 Token 管理的社區最佳實踐
- 鏈接:
openrouter.ai/docs/guides/best-practices/reasoning-tokens - 說明: 跨模型的推理 Token 計費規則對比和優化建議
- 鏈接:
作者: APIYI 技術團隊
技術交流: 歡迎在評論區討論推理模型的 Token 優化經驗,更多模型調用教程可訪問 API易 docs.apiyi.com 文檔中心
