Simon Willison 更新了他的 Claude Token Counter 工具,加入了一個看似簡單但實則關鍵的功能:可以對同一文本在不同 Claude 模型間比較 token 數量。這個工具的更新,揭開了 Anthropic 在 Opus 4.7 上所做的改變——它使用了一個新的 tokenizer,改善了文本處理能力,但也帶來了一個更昂貴的隱形成本。

Simon Willison 的工具:為什麼需要一個 token 計數器?

在討論 Claude 的成本之前,先了解一下 token 計數器的背景。token 是 API 計費的基本單位,但對於大多數使用者來說,token 是一個抽象的概念。你不知道你的提示詞到底會花多少 token,直到你發送請求並收到帳單。

Simon Willison 的 Claude Token Counter 工具就是為了解決這個問題。它讓你可以在發送 API 請求之前,就先知道你的輸入會花多少 token。這對於預算控制、模型選擇和成本優化來說,都是關鍵的。

現在,這個工具支援四個主要的 Claude 模型:
– Opus 4.7
– Opus 4.6
– Sonnet 4.6
– Haiku 4.5

工具可以接受文本和圖像,讓你可以在不同模型間比較 token 數量。這個工具在 Hacker News 上引起了討論,許多開發者認為這是一個非常實用的工具,特別是在像 Opus 4.7 這樣發生 tokenizer 變化的時候。

一個問題:你真的知道你的 API 請求花多少 token 嗎?

想像你在做一個專案,選擇了 Claude Opus 4.7,因為它的價格表和 Opus 4.6 完全一樣:輸入每百萬 token 五美元,輸出每百萬 token 25 美元。你覺得自己做出了一個明智的成本決策。但當你在月初收到帳單時,卻發現成本比預期高出 40%。這不是你算錯了,而是因為 Opus 4.7 的改變——同一個提示詞,在 4.7 上的 token 數量比 4.6 多。

Simon Willison 的工具發現了這個問題。他把 Opus 4.7 的 system prompt 放進 token 計數工具,發現 Opus 4.7 的 tokenizer 使用的 token 數量是 Opus 4.6 的 1.46 倍。這意味著,即使價格表沒有變動,你的實際成本卻上漲了。

Opus 4.7 的改變:更好的 tokenizer,但更昂貴

根據 Anthropic 在 Opus 4.7 公告中的說明:「Opus 4.7 使用了更新的 tokenizer,改善了模型處理文本的方式。權衡在於,同一個輸入可能會對應到更多的 token——大約 1.0 到 1.35 倍,取決於內容類型。」

這是一個典型的技術與成本之間的權衡。新的 tokenizer 可以讓模型更精確地理解文本,尤其是對於複雜的程式碼、技術文件或多語言內容。但這種精確性的代價是,同一個輸入需要更多的 token 來表示。

實際測試:不同類型內容的 token 差異

Simon Willison 做了一些實際測試,發現不同類型的內容有不同的 token 倍率:

Simon Willison 也更新了他的測試結果,提供了更多的細節。對於高解析度圖像的那個 3.01x 倍率,他後來澄清說這完全是由於 Opus 4.7 支援更高解析度。當他使用較小的圖像(682×318 像素)測試時,兩個模型的 token 數量幾乎相同。

對於 PDF,他測試了一個 15MB、30 頁的文字密集 PDF,發現 Opus 4.7 報告了 60,934 個 token,而 Opus 4.6 報告了 56,482 個 token,只有 1.08x 的倍率。這顯示對於結構化文件,新的 tokenizer 更有效率,token 增加的幅度較小。

這些測試揭示了幾個重要的事實:

  1. 對於一般文本:token 增加幅度大約在 1.1x 到 1.5x 之間,取決於文本類型。
  2. 對於 PDF 等結構化文件:token 增加幅度較小,只有 1.08x。這可能是因為 PDF 的結構化程度較高,新的 tokenizer 在處理這類內容時更有效率。
  3. 對於高解析度圖像:token 大幅增加,但這主要是因為 Opus 4.7 支援更高解析度的圖像。根據官方資訊,Opus 4.7 可以接受長邊高達 2,576 像素的圖像(約 3.75 百萬像素),比之前多三倍。所以這個 3x 的倍率並不完全是因為 tokenizer 的效率問題,而是因為 4.7 能夠處理更多細節。
  4. 對於較小圖像:token 數量幾乎沒有變化。這意味著如果你的圖像不需要用到 4.7 的高解析度支援,成本不會顯著增加。

對使用者的實際影響

這個改變對使用者的影響取決於你如何使用 Claude API:

如何應對這個變化

如果你已經在使用 Claude API,這裡有一些可以採取的行動:

  1. 使用 Claude Token Counter 工具:Simon Willison 的工具可以幫你比較不同模型的 token 數量。在決定使用哪個模型之前,先用你的典型提示詞測試一下,看看 token 差異有多大。例如,如果你的應用程式主要處理程式碼,用一些典型的程式碼片段測試;如果主要處理自然語言,用一些典型的文本測試。

  2. 評估是否真的需要 Opus 4.7:如果你的使用場景不需要高解析度圖像支援,或者文本類型相對簡單,Opus 4.6 可能是更具成本效益的選擇。Opus 4.7 的主要優勢是對高解析度圖像和複雜文本的更好理解,如果你的使用場景不涉及這些,4.6 可能已經足夠。

  3. 監控 API 成本:在從 4.6 遷移到 4.7 之後,密切監控你的 API 成本,確保它在預期範圍內。許多 API 平台提供成本監控工具,設定預算警報,當成本超過預期時通知你。

  4. 考慮不同的文本格式:對於結構化內容,如 PDF 或 JSON,格式可能會影響 token 數量。嘗試不同的格式,看看哪個更有效率。例如,JSON 格式通常比純文本更有效率,因為它的結構性讓 tokenizer 能夠更好地理解。

  5. 優化你的提示詞:如果你發現 token 成本顯著增加,嘗試優化你的提示詞。例如,使用更簡潔的表達、移除不必要的上下文、使用更精確的術語等。這不僅可以降低成本,也可能提高模型的回應品質。

結尾

技術進步往往帶來隱形成本。Opus 4.7 的新 tokenizer 是一個很好的例子:它改善了模型的文本處理能力,但也增加了 token 數量。對於使用 Claude API 的開發者來說,重要的是了解這個變化,並做出明智的決策。使用像 Simon Willison 的這樣的工具來比較不同模型的 token 數量,是一個很好的起點。畢竟,知道你的 API 請求花了多少 token,是控制成本的第一步。