Kimi K3 reasoning_effort 不應全域固定為 max:短指令先用 low,跨檔案修改與一般工具呼叫先用 high,只有複雜規劃、長鏈推理和失敗代價高的任務才升級到 max。本週先選三類代表任務,記錄成功率、完整工具呼叫、實際延遲、Token 用量與人工返工,再決定生產預設值。
這篇適合正在設定 Kimi K3 API 預設參數的 AI Agent 開發者,也適合維護程式生成、資料分析或研究工作流的團隊。若你是技術負責人,想同時控制 Token 成本、任務成功率與使用者等待時間,下面的路由規則可以直接改成團隊驗收表。
最後更新於 2026 年 8 月 2 日;參數與預設值核對自 Kimi K3 官方 Quickstart 與 API 文件、官方 Reasoning Effort 文件 及 Kimi K3 官方 GitHub 說明。
先用任務分流,而不是先選最高檔位
官方已確認,Kimi K3 始終啟用推理,請求可在頂層 reasoning_effort 欄位指定 low、high 或 max;若沒有指定,預設值是 max。這代表你如果只建立一個共用 API Client,卻沒有在每次請求明確傳入檔位,所有工作都可能落到最高推理強度。(github.com)
這裡要先分清楚一件事:reasoning_content 比較長,不等於答案一定比較好。對 Agent 來說,真正應驗收的是:
- 最終任務是否完成。
tool_calls是否完整產生並成功執行。- 是否需要人工重做。
- 失敗後是否能恢復。
- 單次成功任務用了多少時間與 Token。
| 任務類型 | 建議起始檔位 | 可接受失敗程度 | 第一個升級條件 |
|---|---|---|---|
| 補全、格式轉換、簡單解釋、小範圍修改 | low | 可快速人工確認 | 輸出格式錯誤或驗證不穩 |
| 跨檔案修改、測試修正、少量工具呼叫 | high | 不應頻繁中斷 | 工具鏈不完整或返工偏高 |
| 長週期規劃、多輪研究、高風險自動化 | max | 失敗代價高 | 只有在 high 無法穩定完成時保留 |
| 即時對話、互動式程式協作 | low 或 high | 使用者等待時間敏感 | 首字延遲或總等待超出產品限制 |
| 批次分析、定時 Agent、後台工作 | 依成功任務成本選擇 | 可重試但不可無限重試 | 重試、逾時或失敗恢復拉高總成本 |
從 low 開始不是吝嗇推理,而是把高強度推理留給真正需要的地方。這個原則也適用於你正在規劃的 Agent 開發模式與架構選型。
low、high、max 的差異,應該看哪一種結果
Kimi K3 的三個檔位不是三個獨立模型。官方只確認參數名稱、允許值、推理始終開啟,以及多輪與工具呼叫時要保留完整 assistant message。至於不同檔位在你的專案中會帶來多少品質、延遲或費用差異,不能直接從官方範例推算,必須用你的真實請求驗證。(github.com)
| 檢查面向 | low | high | max |
|---|---|---|---|
| 適合的任務 | 可快速驗證、步驟少 | 需要上下文與一般工具鏈 | 長鏈規劃、研究、重試代價高 |
| 主要優勢 | 等待時間與消耗較容易控制 | 品質與速度的折衷 | 複雜任務的容錯空間較大 |
| 主要風險 | 複雜依賴可能遺漏 | 仍可能在長流程中斷 | 延遲、輸出量與失敗重試可能放大 |
| 驗收重點 | 格式、欄位、局部正確性 | 修改範圍、測試、工具完整性 | 全鏈路完成、恢復能力、人工介入 |
| 不宜作為 | 所有程式任務的固定預設 | 所有互動請求的固定答案 | 全部流量的全域預設 |
如果你現在沒有任何歷史紀錄,初始策略可以很簡單:低風險、低複雜度任務用 low;需要讀檔、改檔、呼叫工具的任務用 high;只有經過驗證、確定失敗代價高的路徑才用 max。
第一類:短指令,low 通常比 max 更容易驗收
補全一段函式、把 JSON 轉成表格、依固定格式整理欄位、解釋一個錯誤訊息,通常都有明確輸出邊界。這類任務不需要長週期規劃,先用 low 比直接使用 max 更容易測量收益。
你應該測的不是「回答看起來是否更聰明」,而是:
- 格式驗證是否通過。
- 必填欄位是否齊全。
- 小範圍修改是否碰到無關檔案。
- 人工是否需要重寫。
- 同一個請求重跑後,結果是否穩定。
若 low 已經能通過自動測試,就沒有理由因為預設值是 max 而繼續維持最高檔位。相反地,如果任務偶爾漏掉必要欄位,先檢查提示詞、輸出格式和驗證器,再決定是否升到 high。不要把所有結構問題都歸咎於推理強度。
第二類:跨檔案程式工作,先用 high 再判斷是否升級
程式 Agent 讀取專案目錄、修改多個檔案、執行測試,再根據錯誤回修時,任務已不再是單次文字生成。你要觀察的是整條工具鏈。
建議把 high 設為起點,並記錄:
- 是否正確讀取必要檔案。
- 是否只修改允許的檔案。
tool_calls是否有遺漏或重複。- 測試失敗後是否能重新定位問題。
- 最終是否需要人工補上關鍵程式碼。
- 一次完成與重試後完成的總 Token 用量。
Kimi K3 官方說明要求多輪對話和工具呼叫時,將 API 回傳的完整 assistant message 原樣放回 messages,包括 reasoning_content 與 tool_calls,不能只保留 content。若你只保存可見答案,下一輪可能失去推理歷史或工具狀態,造成看似是模型能力問題的異常。(github.com)
實作上,至少要確認你的記錄層保留以下欄位:
{
"role": "assistant",
"reasoning_content": "...",
"content": "...",
"tool_calls": []
}
這不是把內部推理拿來評分,而是遵守 Kimi K3 的多輪訊息保留要求。你仍然應以外部驗收結果判定任務品質,而不是以 reasoning_content 的長短判定成功。
第三類:複雜規劃,max 只應按需啟用
長週期研究、跨多個來源的資料整理、需要連續呼叫工具的自動化流程,以及一旦出錯就會產生高額人工成本的任務,才比較適合使用 max。
這類任務的評估週期不能只看單次回覆。你需要把完整 assistant message、reasoning_content 和 tool_calls 都納入請求回放,並檢查:
- 中途工具失敗後能否恢復。
- 研究步驟是否有遺漏。
- 是否在不必要的地方反覆呼叫工具。
- 最終結果是否符合業務驗收條件。
- 重試後的總成本是否仍低於人工處理成本。
max 的價值通常不是「每個答案都更好」,而是讓高失敗成本流程有更大的推理空間。若你的任務只有一個可驗證的小步驟,使用 max 很可能只是增加等待和輸出消耗,卻沒有帶來可觀察的驗收改善。
即時互動與批次工作,選擇標準不能相同
即時程式協作和後台 Agent 的限制不同。前者要讓使用者儘快看到回應,後者則可以接受較長處理時間,但不能讓每次失敗都無限重試。
即時互動應記錄真實鏈路:
- HTTP 請求送出時間。
- 收到首個串流事件的時間。
- 首段可讀內容出現的時間。
- 工具呼叫開始與結束時間。
- 完整答案回傳時間。
- 使用者是否中途取消。
不要引用脫離你的網路、代理層、串流設定和工具環境的速度結論。相同檔位在本地開發機、遠端伺服器和不同 API 閘道上的體感可能不同。
批次任務則要改看「每次成功任務成本」。計算時至少納入:
- 初始請求 Token。
- 推理與輸出 Token。
- 工具回傳內容。
- 重試次數。
- 逾時後重新執行的消耗。
- 快取命中或失效。
- 人工檢查與補救時間。
如果 low 的單次請求較省,但失敗後需要多次重試,最終可能不如 high。反過來,如果 high 已穩定完成大量可驗證工作,全面升到 max 也未必合理。你要比較的是完成一個有效結果的總代價,而不是單次請求的 Token 數。
五步建立可回放的檔位測試
第一步:先建立三組代表任務
不要用隨機問題測試。至少準備:
- 一個短指令或格式轉換任務。
- 一個跨檔案修改與測試任務。
- 一個多輪研究或長鏈工具任務。
每組任務都要固定輸入、工具清單、驗收條件和允許修改範圍。
第二步:固定請求格式,只改 reasoning_effort
同一任務分別用 low、high、max 執行。不要同時修改提示詞、工具定義、max_tokens、串流方式或重試策略,否則你無法知道差異來自哪裡。
你也可以參照 Kimi K3 API 成本估算的方法,把請求成本拆成輸入、輸出、推理、工具與重試,而不是只看帳單上的總數。
第三步:保存完整回應與工具狀態
記錄 content、reasoning_content、tool_calls、錯誤訊息、HTTP 狀態、逾時、重試原因和最終狀態。多輪流程要能從原始訊息重播,不能只保存最後一段文字。
第四步:用外部驗收,不用主觀印象評分
程式任務看測試與修改範圍;研究任務看引用完整性、欄位覆蓋與人工抽查;格式任務看結構驗證。每項都要有通過或不通過的判定,避免「這次看起來比較好」成為唯一依據。
第五步:先灰度,再修改全域預設
先讓少量真實流量進入新路由。觀察失敗率、逾時、重試、取消和人工介入,再擴大比例。若新規則導致某一類任務失敗,應先回退該類路由,而不是把所有任務一起切回 max。
用條件分支決定 low、high 或 max
你可以把下列規則直接放進 Agent 路由器:
- 若任務步驟少、結果可用程式快速驗證、失敗後可在數秒內重做,則選 low。
- 若任務需要讀取多個檔案、修改程式碼並呼叫少量工具,且有測試或檢查器,則先選 high。
- 若high 在代表任務中出現工具鏈中斷、規劃遺漏或人工返工,則只把該任務類別升級到 max。
- 若任務需要多輪研究、長期規劃或失敗會觸發高額補救成本,則選 max。
- 若使用者正在等待即時回應,而且任務可延後處理,則前台先用 low 或 high,複雜工作轉入背景流程。
- 若請求逾時、工具失敗或 Token 消耗超出預算,則進入快速降級或人工覆寫流程。
- 若路由器無法判斷任務類型,則先用 high,不要直接使用 max。
這套規則必須保留人工覆寫入口。因為產品上線初期,分類器可能把高風險任務誤判為普通程式工作。你需要能在單次請求、工作階段或專案層級強制指定檔位。
FAQ:設定前最容易混淆的五件事
若你的團隊還沒有既有測試資料,先不要急著把 max 設成永久預設。官方參數與訊息格式可以用來完成正確接入,但實際品質、延遲與成本仍要由你的工作流驗收。你也可以先在隔離的 遠端 Mac 上執行 AI 程式工具,避免本地環境干擾測試結果。
上線前的可勾選檢查清單
- [ ] 每類 Agent 任務都有明確的 low、high 或 max 起始檔位。
- [ ] 沒有把 Kimi K3 的預設 max 誤當成所有任務的最佳設定。
- [ ] 每次請求都能記錄實際
reasoning_effort。 - [ ] 多輪與工具流程保留完整 assistant message。
- [ ]
reasoning_content與tool_calls沒有被記錄層刪除。 - [ ] 成功率包含工具是否完成,不只看最後文字答案。
- [ ] 延遲分為首字、工具處理和完整回應三段。
- [ ] Token 成本包含重試、逾時和工具回傳內容。
- [ ] 路由器有人工覆寫和快速降級入口。
- [ ] 新規則已經過小流量灰度,而不是直接全量切換。
- [ ] 團隊有觸發 max 的明確條件,而不是由開發者憑感覺決定。
- [ ] 每次成功任務成本能與人工返工成本比較。
結論:把 max 留給真正昂貴的失敗
如果你目前的做法是所有 Kimi K3 API 請求都使用 max,最先要改的不是模型,而是路由。短指令先測 low;跨檔案修改和一般工具呼叫從 high 開始;長鏈研究與高失敗成本自動化才使用 max。這樣才能同時觀察任務成功率、回應時間和 Token 成本,而不是把所有問題都轉成更高推理強度。
在本地 Mac 上直接長時間執行 Agent,常見限制是記憶體與散熱餘量有限、開發環境難以與團隊一致、網路與工具連線中斷後不易回放;若改用一般雲端伺服器,又可能遇到圖形化工具支援不足、遠端互動體驗不穩,以及 Mac 專用程式或測試環境難以重現。若你要重跑三類代表任務並保存完整日誌,租用 Hashvps 的 Mac 測試環境通常比臨時改造現有環境更容易保持一致,尤其適合短期驗證、團隊協作和需要隔離的 Agent 測試。
先在隔離環境完成 low、high、max 的回放與灰度,再決定正式流量的預設檔位。不要因為 max 是預設值,就讓它變成沒有驗收依據的全域答案。
為 AI Agent 開發選擇穩定的 Hashvps 運算環境
透過 Hashvps Mac 租賃,為 API 測試、程式開發與工具串接提供獨立且靈活的遠端工作環境。
需要長時間執行推理、建置或自動化流程時,可選用 Hashvps 算力節點,減少本機資源不足對開發進度的影響。