![]()
每次寫 Codex 的教程或者使用案例,都有讀者詢問,這個(gè) Token 消耗情況怎么樣。
雖然免費(fèi)也能用 Codex,但不同的檔次 Plus、Pro 5x、Pro 20x 所包含的 Token 額度完全不同,怎么省 Token 成了這段時(shí)間以來社交媒體上的熱門話題。
![]()
之前 Claude Code 爆火的時(shí)候,有開發(fā)者設(shè)計(jì)了一款穴居人的 Skill。
在請(qǐng)求模型之前,它會(huì)自動(dòng)壓縮 prompt 和上下文,讓傳輸?shù)膬?nèi)容更短,但含義不丟。其次,它通過在本地持久化保存常用上下文或歷史對(duì)話,為 Agent 提供記憶以減少反復(fù)調(diào)用。
這些壓縮策略和優(yōu)化計(jì)劃能降低 Token 的消耗,項(xiàng)目主頁(yè)顯示可以省下 65% 的 AI 開支,目前在 GitHub 上即將達(dá)到 8 萬個(gè) Star。
![]()
最近另一個(gè)叫「馬尾辮」的項(xiàng)目在 GitHub 上開始被瘋狂下載,直接拿下了 GitHub 熱門榜單連續(xù)三周的周榜第一。
這個(gè)項(xiàng)目的介紹圖也特別有意思,在項(xiàng)目描述里寫著,
你一定認(rèn)識(shí)他,長(zhǎng)長(zhǎng)的馬尾辮,橢圓形眼鏡,在公司待的時(shí)間比版本控制系統(tǒng)的歷史還長(zhǎng)。你給他看五十行代碼;他看了看,什么也沒說,然后只用一行替換掉。
![]()
這套刻板印象不僅有點(diǎn)冒犯,給程序員看,他們大概還會(huì)表示,「女裝明明才是頂級(jí)程序員的底層邏輯」。
概括性地說,這根馬尾辮還是通過「少寫不必要的代碼」來減少 token 消耗。不過,它并非一個(gè)單純的壓縮或摘要工具,Ponytail 本身有一套 給 AI agent 的 Skill,讓 agent 在動(dòng)筆之前先判斷好,怎么用最少的 Token 可以完成這個(gè)任務(wù)。
而根據(jù)他們的測(cè)試,部分場(chǎng)景下,它能直接做到代碼量減少 80-94%,成本降低 47-77%,速度提升 3-6 倍。和其他類似工具的對(duì)比,馬尾辮要比穴居人在 Token 消耗、成本、時(shí)間和代碼行數(shù)上都要少,并且 100% 安全。
![]()
我們也把它安裝到 Codex 上體驗(yàn)了一下,發(fā)現(xiàn)在部分場(chǎng)景下,Ponytail 確實(shí)能保證在結(jié)果一致的情況下,使用更少的 Token,但也會(huì)有新的麻煩點(diǎn)。
安裝到 Codex
如果在 Codex 插件市場(chǎng)輸入「Ponytail」可以直接搜索到的話,就能直接點(diǎn)擊安裝了。
如果沒有,我們需要打開電腦終端,在命令行中輸入「codex plugin marketplace add DietrichGebert/ponytail」,等待終端顯示已經(jīng)安裝完成即可。
![]()
在 Codex 應(yīng)用內(nèi),點(diǎn)擊插件主頁(yè)右上角的刷新按鈕,在 Personal 部分就會(huì)顯示已經(jīng)安裝好的 Ponytail。
可以看到 Ponytail 的介紹里面直接寫著「YAGNI」,即 You Aren't Gonna Need It 的縮寫,直譯過來就是「你不會(huì)需要它的」。這也是極限編程(XP)里的一條原則,核心意思是:在真正需要某個(gè)功能之前,別去實(shí)現(xiàn)它。
Ponytail 的插件內(nèi)包含了 6 個(gè) Skill,這些技能里只有第一個(gè)是真正會(huì)動(dòng)手改代碼的,其余五個(gè)都是圍繞這個(gè)理念做的檢查、記賬和展示工具。
![]()
第一個(gè)主 Skill Ponytail,開啟后強(qiáng)制走最精簡(jiǎn)路線,支持三檔強(qiáng)度:lite(輕)、full(默認(rèn))、ultra(極端)。觸發(fā)詞包括 「ponytail」、「be lazy」、「簡(jiǎn)單點(diǎn)」、「yagni」、「少做點(diǎn)」,或者在用戶吐槽某段代碼過度設(shè)計(jì)、充斥樣板代碼、依賴過多時(shí)也會(huì)觸發(fā)。
Ponytail Review 和 Ponytail Audit 主要是看代碼的改動(dòng)以及整個(gè)倉(cāng)庫(kù)的代碼,掃描整個(gè)代碼庫(kù),給一份排好序的清單,什么該刪、什么該簡(jiǎn)化、什么能換成標(biāo)準(zhǔn)庫(kù)/原生實(shí)現(xiàn)。
Ponytail Debt 意思是技術(shù)債賬本,Ponytail 偷懶時(shí)會(huì)留下 ponytail: 注釋,標(biāo)記「這里先這么糊弄,以后再說」。這個(gè)技能可以把全代碼庫(kù)里這些注釋收集起來,整理成一份債務(wù)清單,免得那些故意留下的捷徑毀了整個(gè)項(xiàng)目。
Ponytail Gain 則是把 Ponytail 的實(shí)測(cè)效果做成一個(gè)緊湊記分牌:少寫了多少代碼、省了多少成本、快了多少,數(shù)據(jù)來自基準(zhǔn)測(cè)試的中位數(shù)。
不過技能是被動(dòng)加載的,我們必須手動(dòng)選擇使用該插件,或者在提示詞里明確說出「Ponytail」等觸發(fā)詞,模型才會(huì)判斷該用某個(gè)技能了。
因此 Ponytail 還設(shè)置了 3 個(gè)鉤子,全部信任后,能保證 ponytail 在「會(huì)話開頭、每一輪對(duì)話、以及派給子智能體時(shí)」都不掉線。
![]()
了解了 Ponytail 的基本情況,我們做了一些簡(jiǎn)單的小測(cè)試,像是實(shí)現(xiàn)同樣的提示詞任務(wù),最后交付的成果和 Token 使用會(huì)不會(huì)有大的差別。
![]()
我們還沒有啟用鉤子,于是從插件市場(chǎng)的「在對(duì)話中試用」去開啟。最明顯的不同,就是 Ponytail 會(huì)一直問我問題,像是要做桌面鍵盤還是手機(jī)滑動(dòng)。雖然說著如果懶得選,它會(huì)按 B 開工,但事實(shí)是我們必須輸入對(duì)應(yīng)選項(xiàng),任務(wù)才會(huì)繼續(xù)。
![]()
回答了這個(gè)問題之后,又有新的問題,要做什么樣的視覺取向。我想在 Ponytail 的技能里面,大概提到了如果要偷懶,還是要給用戶選擇,以何種形式來呈現(xiàn)最終的結(jié)果,Ponytail 自己無法決定是否真的采用極簡(jiǎn)實(shí)現(xiàn)。
![]()
最后呈現(xiàn)的效果其實(shí)差不多,使用 Ponytail 消耗的 Token 是 103815,剩余 60%,而沒有使用該插件是 109033,剩余 58%,相差并不是很大,游戲的體驗(yàn)上,也都類似,簡(jiǎn)單的 2D 風(fēng)格,三個(gè)不同的跑道,設(shè)置的障礙物都類似。
![]()
![]()
而如果是讀同一個(gè)代碼倉(cāng)庫(kù),分別要求他們「幫我看看這個(gè)倉(cāng)庫(kù)里有些什么 bug,這個(gè)倉(cāng)庫(kù)是一個(gè)什么代碼倉(cāng)庫(kù)」。
正常情況下,Codex 在當(dāng)前的會(huì)話里面使用 243923 個(gè) Token,剩余 6%,得出的結(jié)論是
這是一個(gè)股票智能分析系統(tǒng)倉(cāng)庫(kù):Python 后端 + FastAPI API + 多數(shù)據(jù)源行情抓取 + LLM 分析報(bào)告 + 通知推送,另外有 React Web 工作臺(tái)和 Electron 桌面端。覆蓋 A 股、港股、美股等,自選股分析、市場(chǎng)復(fù)盤、歷史報(bào)告、回測(cè)、配置管理、機(jī)器人/通知都在里面。
而診斷出的 Bug/風(fēng)險(xiǎn)有 5 個(gè),大多是在本地部署或者云部署過程中,有裸奔風(fēng)險(xiǎn)的提醒。
![]()
在 Ponytail 的測(cè)試過程中,它的思考流程里則是很清楚地寫著「接下來我會(huì)跑最便宜的確定性檢查:先看 Python 語法和關(guān)鍵靜態(tài)錯(cuò)誤。能被機(jī)器直接抓住的 bug,優(yōu)先讓機(jī)器抓。」
Ponytail 用時(shí) 5 分鐘,得出的結(jié)論和不使用 Ponytail 插件的結(jié)果類似,掃描到的問題也有 5 個(gè),基本和正常狀態(tài)的 Codex 一樣,同樣提到了在本地或者云端部署時(shí),可能會(huì)有風(fēng)險(xiǎn)。
但這次 Codex 還剩余 26% 的 Token,而未使用 Ponytail 的任務(wù)里,只剩下了 6% 的上下文 Token 余量,直接省下了 52277 個(gè) Token。
![]()
所以,不同的任務(wù),應(yīng)用 Ponytail 的效果也可能有所不同。
馬尾辮的適用場(chǎng)景有哪些
根據(jù) Ponytail 官方的測(cè)試,他們挑選了一些前端和后端任務(wù)。
比如寫一個(gè)日期選擇器、顏色選擇器、文件上傳框。普通 Agent 很可能上來就裝依賴、寫組件、加樣式、補(bǔ)狀態(tài)管理,最后一個(gè)小功能變成幾十行甚至幾百行代碼。
Ponytail 會(huì)先問一句:平臺(tái)自己有沒有?標(biāo)準(zhǔn)庫(kù)有沒有?代碼庫(kù)里有沒有現(xiàn)成實(shí)現(xiàn)?
![]()
▲同樣用 Claude Code + Haiku 4.5 跑 12 個(gè)真實(shí)功能任務(wù),不同省代碼策略相對(duì)普通 Claude Code 的表現(xiàn)。
測(cè)試的結(jié)果也顯示,Ponytail 在這些場(chǎng)景下省得最明顯。代碼行數(shù) LOC 上,日期選擇器從 baseline 的 404 行降到 23 行,顏色選擇器從 287 行降到 23 行,文件上傳從 251 行降到 95 行。
所以它適合這幾類任務(wù):
一類是前端小功能。表單控件、設(shè)置項(xiàng)、簡(jiǎn)單交互、上傳、篩選、排序、彈窗、評(píng)分、開關(guān)、日期和顏色選擇,都容易被 Agent 重復(fù)寫一遍。
其次是已有項(xiàng)目里的局部修改。比如「加一個(gè)字段」「補(bǔ)一個(gè)校驗(yàn)」「修一個(gè)邊界情況」「把這個(gè)頁(yè)面接上已有 API」。Ponytail 會(huì)優(yōu)先讀現(xiàn)有代碼,復(fù)用項(xiàng)目里已經(jīng)存在的函數(shù)、組件和模式。
還有代碼評(píng)審和項(xiàng)目瘦身等任務(wù)。對(duì)于「從零開始做一個(gè)完整產(chǎn)品」這類任務(wù),省 Token 或者省代碼行數(shù)未必明顯。
![]()
就像 Ponytail 采用的方式是持續(xù)的判斷,Agent 動(dòng)手前,要像爬梯子一樣,一關(guān)一關(guān)去檢查。
能不做,就跳過。代碼庫(kù)已經(jīng)有,就復(fù)用。標(biāo)準(zhǔn)庫(kù)能做,就用標(biāo)準(zhǔn)庫(kù)。平臺(tái)原生能做,就用平臺(tái)。已安裝依賴能做,就用依賴。一行能做,就寫一行。走到這里還不夠,再寫最小可用實(shí)現(xiàn)。
但這個(gè)判斷的過程,對(duì)于部分 LLM 來說也是一種新的負(fù)擔(dān)。也有網(wǎng)友說,代碼行數(shù)并不是越少越好,可讀性也是其中非常重要的一點(diǎn)。
![]()
也有網(wǎng)友說,用了 Ponytail 之后,實(shí)測(cè) Token 消耗回到了當(dāng)時(shí)兩倍促銷活動(dòng)的水平。
![]()
其實(shí)除了 Ponytail 和 穴居人,類似的工具還有很多,例如 Headroom 凈空,同樣是在工具輸出、日志、文件和 RAG 數(shù)據(jù)塊等上下文,到達(dá) LLM 之前對(duì)其進(jìn)行壓縮,顯示能減少 60-95% 的 Token, 并保持結(jié)果不變。
有意思的是,開發(fā) Headroom 的作者還是一位 Netflix 的工程師。
![]()
還有 RTK-AI,一個(gè)命令行 Agent 工具,專門用于在各類 AI 編程助手,如 Claude Code、Cursor、Copilot 等,自動(dòng)把命令的輸出壓縮 60%~90%,從而大幅減少發(fā)送給大模型的 token 數(shù)量,實(shí)現(xiàn)省錢的同時(shí)還能提高響應(yīng)速度。
![]()
這些工具表面上是在幫用戶省 Token,背后其實(shí)是在教 Agent 學(xué)會(huì)克制。
過去一年,大家討論更多的是怎么讓 Agent 做得更多:更長(zhǎng)的上下文、更復(fù)雜的規(guī)劃、更強(qiáng)的工具調(diào)用能力。于是 Agent 逐漸養(yǎng)成了一種習(xí)慣——遇到問題先開干,先生成,再修改,最后補(bǔ)丁摞補(bǔ)丁。
但隨著 Token 開始成為真實(shí)成本,另一條路線也開始出現(xiàn):哪些步驟其實(shí)可以跳過,哪些代碼其實(shí)已經(jīng)存在,哪些工作其實(shí)沒必要重復(fù)完成。
對(duì)于人類程序員來說,這并不是什么新理念。優(yōu)秀工程師最大的價(jià)值,大多數(shù)時(shí)候體現(xiàn)在他的判斷力上,知道怎么寫出最優(yōu)美的代碼。
如今,這種判斷力也開始被封裝成各種 Skill 和工作流,成為 Agent 學(xué)習(xí)的新內(nèi)容。
![]()
以往 Claude Code 和 Codex 是最擅長(zhǎng)從社區(qū)找各種 idea 然后打包成自己的產(chǎn)品,之前的做夢(mèng)機(jī)制、桌面寵物等功能都是先有個(gè)人開發(fā)者做出來類似的小玩意,然后被 Claude Code 復(fù)制過去。
但現(xiàn)在這種省 Token 的機(jī)制,恐怕 Codex/Claude Code 那邊是只想等著你充錢,免費(fèi)不夠,請(qǐng)開 Plus,Plus 不夠,請(qǐng)開 Pro,Pro 還不夠,請(qǐng)買點(diǎn)數(shù)。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.