作者注:詳解 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(冰山底部,更大) –>
<!– 推理鏈內容示意 –>
<!– 標註:隱藏部分 –>
<!– 左側數據卡片 –>
<!– 底部品牌 –>
推理模型和普通對話模型的最大區別,就在於輸出 Token 的構成完全不同。以下是你需要理解的核心概念:
回到截圖中的例子。用戶發了一個簡單問題,模型回覆了大約十幾個字,但輸出 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 統計 –>
<!– 評價 –>
<!– 底部對比結論 –>
普通模型(如 GPT-4o)收到你的問題後,直接生成回答。你看到多少字,就消耗多少輸出 Token。這就是「所見即所得」。
推理模型(如 Gemini 3.1 Pro Preview)收到問題後,會先生成一段內部推理鏈(Chain of Thought),然後基於推理結果生成最終回答。你看到的只是最終回答,但計費的是「推理鏈 + 回答」的總 Token 數。
細節一: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_level 參數,支持 LOW、MEDIUM、HIGH 三檔。不同檔位的 Token 消耗差異巨大:
以下是設置 thinking_level 的代碼示例:
GPT plus 代充 只需 145import openai
client = openai.OpenAI(
api_key="YOUR_API_KEY", base_url="https://vip.apiyi.com/v1"
)
簡單任務用 LOW,大幅減少 Thinking Tokens
response = client.chat.completions.create(
GPT plus 代充 只需 145model="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(
GPT plus 代充 只需 145prompt: 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 的輕量級模型,速度快、成本低
給 API 調用加上 max_tokens 參數可以防止推理模型「過度思考」。但需要注意:max_tokens 限制的是總輸出(推理 + 回答),如果設置過低可能導致回答被截斷。建議根據預期回答長度設置爲 2-3 倍。
🎯 綜合建議: 在 API易 apiyi.com 平臺上,你可以用統一接口同時接入推理模型和非推理模型,根據任務類型動態切換。一個 API Key 即可調用 Gemini、Claude、GPT 全系列模型。
GPT plus 代充 只需 145
<!– 標題 –>
<!– 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 文檔中心
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/240638.html