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 倍率:
- Opus 4.7 的 system prompt:1.46x(Opus 4.6 的 1.46 倍)
- 文字密集的 PDF(15MB,30 頁):1.08x(Opus 4.7 是 4.6 的 1.08 倍)
- 高解析度圖像(3456×2234 像素):3.01x(Opus 4.7 是 4.6 的 3.01 倍)
- 較小圖像(682×318 像素):幾乎相同(4.7 用 314 token,4.6 用 310 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 增加的幅度較小。
這些測試揭示了幾個重要的事實:
- 對於一般文本:token 增加幅度大約在 1.1x 到 1.5x 之間,取決於文本類型。
- 對於 PDF 等結構化文件:token 增加幅度較小,只有 1.08x。這可能是因為 PDF 的結構化程度較高,新的 tokenizer 在處理這類內容時更有效率。
- 對於高解析度圖像:token 大幅增加,但這主要是因為 Opus 4.7 支援更高解析度的圖像。根據官方資訊,Opus 4.7 可以接受長邊高達 2,576 像素的圖像(約 3.75 百萬像素),比之前多三倍。所以這個 3x 的倍率並不完全是因為 tokenizer 的效率問題,而是因為 4.7 能夠處理更多細節。
- 對於較小圖像:token 數量幾乎沒有變化。這意味著如果你的圖像不需要用到 4.7 的高解析度支援,成本不會顯著增加。
對使用者的實際影響
這個改變對使用者的影響取決於你如何使用 Claude API:
-
如果你的使用場景主要是文字輸入:你可以預期成本會比 Opus 4.6 高 10% 到 40%,取決於你的文本類型。程式碼、技術文件等較複雜的內容,可能會有較高的 token 倍率。這是因為新的 tokenizer 可以更精確地識別和理解複雜的語法結構和術語,但這也意味著需要更多的 token 來表示這些結構。
-
如果你的使用場景涉及高解析度圖像:成本會顯著增加,但這也是因為 4.7 能夠處理更高解析度的圖像,帶來更好的理解能力。如果你的圖像較小,成本增加幅度不大。Opus 4.7 的圖像處理能力是它的主要優勢之一,能夠處理長邊高達 2,576 像素的圖像(約 3.75 百萬像素),這對於需要分析高解析度圖片或照片的應用來說是非常有價值的。
-
如果你的使用場景是 PDF 或其他結構化文件:成本增加幅度較小,只有約 8%。這對於需要處理大量文件的企業或研究機構來說是個好消息,意味著他們可以在不大幅增加成本的情況下,從 4.6 升級到 4.7,獲得更好的文本理解能力。
-
對於開發者而言:這個變化也影響了模型選擇的決策。在選擇使用哪個模型時,不僅要考慮模型的表現,還要考慮 token 成本。對於對成本敏感的應用,可能需要在不同模型間做權衡,或者使用 token 計數工具來優化提示詞,減少不必要的 token 使用。
如何應對這個變化
如果你已經在使用 Claude API,這裡有一些可以採取的行動:
-
使用 Claude Token Counter 工具:Simon Willison 的工具可以幫你比較不同模型的 token 數量。在決定使用哪個模型之前,先用你的典型提示詞測試一下,看看 token 差異有多大。例如,如果你的應用程式主要處理程式碼,用一些典型的程式碼片段測試;如果主要處理自然語言,用一些典型的文本測試。
-
評估是否真的需要 Opus 4.7:如果你的使用場景不需要高解析度圖像支援,或者文本類型相對簡單,Opus 4.6 可能是更具成本效益的選擇。Opus 4.7 的主要優勢是對高解析度圖像和複雜文本的更好理解,如果你的使用場景不涉及這些,4.6 可能已經足夠。
-
監控 API 成本:在從 4.6 遷移到 4.7 之後,密切監控你的 API 成本,確保它在預期範圍內。許多 API 平台提供成本監控工具,設定預算警報,當成本超過預期時通知你。
-
考慮不同的文本格式:對於結構化內容,如 PDF 或 JSON,格式可能會影響 token 數量。嘗試不同的格式,看看哪個更有效率。例如,JSON 格式通常比純文本更有效率,因為它的結構性讓 tokenizer 能夠更好地理解。
-
優化你的提示詞:如果你發現 token 成本顯著增加,嘗試優化你的提示詞。例如,使用更簡潔的表達、移除不必要的上下文、使用更精確的術語等。這不僅可以降低成本,也可能提高模型的回應品質。
結尾
技術進步往往帶來隱形成本。Opus 4.7 的新 tokenizer 是一個很好的例子:它改善了模型的文本處理能力,但也增加了 token 數量。對於使用 Claude API 的開發者來說,重要的是了解這個變化,並做出明智的決策。使用像 Simon Willison 的這樣的工具來比較不同模型的 token 數量,是一個很好的起點。畢竟,知道你的 API 請求花了多少 token,是控制成本的第一步。