我的 Codex 額度,被一個扎馬尾的大叔給救了
整理版優先睇
PonyTail:一個令 AI Agent 更懶、慳 Token 嘅插件
艾倫由 ClaudeCode 轉用 Codex 之後,發現每日 Token 用量好高,三四日就用完一星期 Plus 額度。佢覺得明明冇做好重嘅任務,但 Codex 會過度思考,比如寫登入註冊功能都會加權限中間件、預留其他登入方式,造成大量 Token 浪費。
為咗解決呢個問題,佢介紹咗 PonyTail 插件,一個扎馬尾嘅大叔。呢個插件嘅核心係令 AI Agent 更「懶」,但係資深工程師嗰種懶——能唔寫代碼就唔寫,能複用就複用,只做當前需要嘅功能。比喻似門把手鬆咗,新師傅叫人換智能門鎖,老師傅只係擰緊螺絲。
官方測試顯示,用咗 PonyTail 之後,代碼量減少 54%,Token 減少 22%,成本降低 20%,完成時間縮短 27%。佢認為呢個插件係一個剎車,唔係油門,對 AI Agent 嚟講好有價值。最後提供咗安裝指令同強度等級設定,方便讀者試用。
- Codex 容易過度思考,導致 Token 浪費,簡單需求都被擴展成大型工程。
- PonyTail 通過限制 AI 只做必要功能,減少不必要的上下文同工具調用。
- 官方實測:代碼量減 54%,Token 減 22%,成本降 20%,完成時間縮短 27%。
- 插件提供四種強度等級(lite、full、ultra、off),可因應任務調節。
- 成熟嘅 AI 工作流唔係一味加速,而係要識得停,PonyTail 就係呢個剎車。
安裝 PonyTail 插件
Claude Code 用戶:/plugin marketplace add DietrichGebert/ponytail/plugin install ponytail@ponytail;Codex App 用戶:將整個項目發俾 Codex,叫佢幫你配置。
PonyTail 強度等級說明
lite:按要求構建,但用一句話指出更偷懶嘅替代方案。full(預設):強制執行決策階梯,優先使用標準庫同原生功能。ultra:YAGNI 極端主義者,先刪後加,提交單行代碼同時質疑其餘需求。off:完全停用,唔注入規則。
Codex 額度問題:過度思考消耗 Token
艾倫轉用 Codex 之後,發現每日 Token 用量好高,三四日就用完一星期 Plus 額度。佢明明冇做好重嘅任務,但 Codex 嘅思考過程會跑好多上下文同工具調用。
每日起碼要用三四千萬嘅 Token
例如寫一個登入註冊功能,Codex 會加權限中間件、預留 QQ 同微信登錄入口,仲有各種暫時用唔到嘅配置。最終 Token 大量浪費,但用家只係想要一個就咁登入嘅表單。
PonyTail:老師傅式嘅懶
PonyTail 係一個扎馬尾嘅大叔開發嘅插件,核心功能係令 AI Agent 更「懶」——唔係敷衍,而係資深工程師嗰種懶。能唔寫代碼就唔寫,能複用接口就複用,一行代碼搞掂就唔寫幾百行。
資深工程師嘅懶
就好似門把手鬆咗,新師傅會叫人換智能門鎖、重新設計全屋,而老師傅只係擰緊螺絲、換墊片,10分鐘搞掂。PonyTail 就係將 AI 由新師傅拉向老師傅方向。
- 只做當前需要嘅功能,唔添加未來可能用到嘅雜項
- 優先複用現有接口同標準庫,減少自定義代碼
- 強調 YAGNI 原則:你唔會需要佢(You Ain't Gonna Need It)
實測效果:Token 省 22%,完成時間短 27%
官方用一個倒計時器任務做測試:開始、暫停、重置、顯示「已結束」。冇 PonyTail 時,AI 會先搭狀態管理、拆組件、封裝定時器邏輯,寫一堆擴展代碼。
代碼量減少 54%
Token 減少 22%
成本降低 20%
完成時間縮短 27%
當然唔係每次任務都穩定慳 22% Token,但呢個方向好重要:AI agent 嘅優化唔一定係令佢更勁,有時係令佢少啲過度努力。
安裝與強度設定
Claude Code 用戶可以用以下指令安裝,Codex App 用戶就直接將項目傳畀 Codex 叫佢配置。
/plugin marketplace add DietrichGebert/ponytail
/plugin install ponytail@ponytail
插件提供三個強度同一個關閉開關,仲可以用 /ponytail 命令喺對話中切換等級。
- 1 lite:按要求構建,但用一句話指出更偷懶嘅替代方案。
- 2 full(預設):強制執行決策階梯,優先使用標準庫同原生功能。
- 3 ultra:YAGNI 極端主義者,先刪後加,提交單行代碼同時質疑其餘需求。
- 4 off:完全停用,唔注入規則集,唔寫入標記文件。
剎車比油門更值錢
以前總覺得 AI 寫代碼越積極越好,後嚟發現唔一定。真正成熟嘅 AI 工作流,唔係令佢一直跑、一直寫、一直擴展,而係令佢知咩時候要停。
知咩時候要停
PonyTail 就係呢個剎車,唔畀 AI 油門,反而限制佢,令到 Token 用得其所。呢個概念對於任何 AI Agent 用戶都值得反思。
大家好,我係艾倫。
自從 Codex 更新咗好多插件同功能之後,我就將主力 AI 軟件由 ClaudeCode 同 Gemini 轉咗去 Codex。
一開始係開咗個 5x,但係用嘅時候我發現使用場景冇咁多,而且另外兩間我都仲有混住用,所以之後又改咗做 Plus 套餐。
然後情況就變咗原本用唔曬,到而家唔夠用。
打開 Codex 嘅設定一睇,每日起碼要用三四千萬嘅 Token。
三四日就可以將一個星期嘅 Plus 額度全部用曬。
就唔知你哋會唔會有呢種感覺,每日都冇做乜嘢好重嘅任務,但係一兩個鐘頭之後 Codex 嘅右下角就提你依個 5 小時嘅週期入面得返 10 ~ 20% 嘅額度喇..
一開始我以為係我用得太誇張,但之後諗諗又唔啱,因為好多時都冇做啲好大嘅工程。
可能只係改一個小功能,執一個 bug,整理下 code 之類咋。
就係一啲好簡單好細嘅需求,但係睇 Codex 思考過程,佢會行好多好多嘅上下文、工具調用,然後再試下改一啲睇落好專業嘅嘢。
咁就會導致有好大量嘅 Token 浪費。
就好似我想寫一個登入註冊功能。
需求好簡單,就係一個登入表單同註冊表單。
然後仲有啲好似電話或者電郵嘅校驗等等嘅內容。
但係呢個時候 Codex 就好容易去進行過度思考。
例如佢會去加啲權限中間件,然後留低一啲其他嘅登入入口,QQ、微信登入之類,然後再加啲暫時用唔著嘅配置同邊界。
睇落呢啲功能好多,好正。但有個問題喎,現階段真係需要呢啲功能咩?
我哋要嘅只係一個登入註冊,用到就得。但係佢個腦入面已經開始規劃賬號體系 1.0 喇。
所以遇到呢種情況,就輪到 PonyTail 一個馬尾大叔出場喇。
就係呢個紮住一條單馬尾嘅大叔啊,佢叫 PonyTail。
我用一句話嚟解釋佢嘅功能,佢就係一個可以令 AI Agent 更加懶嘅插件。
但係呢度嘅懶唔係嗰種好求其嘅懶,而係嗰種資深工程師嘅懶。
就係可以唔寫 code 嘅地方就唔寫 code,可以複用接口嘅地方就直接複用,而唔係重新寫一套 code。
然後原生能力夠強嘅,就唔使再裝其他嘅 code 庫。
一行 code 就搞得掂嘅,就唔好去寫咁幾百行。
簡單嚟講就係淨係做當前需要嘅,而唔係過度思考,加啲無釐頭嘅功能。
呢就有啲似屋企嘅門把手鬆咗,新師傅一入門就話呢度門太舊喇,要唔要換個智能門鎖?
門框有啲老化,要唔要一齊拆?拆咗之後要唔要將成個間隔重新設計過?
聽落好專業好負責,但我原本只係想扭兩粒螺絲咋。
而老師傅踎低睇一眼,螺絲鬆,就扭緊,墊片壞咗,就換墊片,10 分鐘搞掂。
而 PonyTail 做嘅就係將 AI Agent 由嗰個新師傅拉向老師傅方向。
呢度俾大家睇一個官方實測嘅例子 - 倒計時器。
就係一個好普通嘅需求,開始、暫停、重置,時間到就顯示「已結束」。
如果係我哋自己嚟寫,咁肯定係直接揾輪子,然後複用,最後幾行 code 搞掂。
但係 AI 就好似我前面講咁,容易諗太多。
先搭狀態管理,再拆組件,再封裝定時器邏輯,最後順手補一堆將來可能會用到嘅擴展能力。
由結果睇,寫咗更多 code,亦都消耗咗更多 Token。
而用咗 PonyTail 嘅核心分別就係,唔急住搭呢啲架構,而係先睇嚇可唔可以用最簡單嘅方式去解決。
喺 Claude Code 裏面,Ponytail 令 code 量減少咗 54%,Token 減少咗 22%,成本降低咗 20%,完成時間縮短咗 27%。
當然,呢個唔係話你裝完之後,每一次任務都會穩定慳返 22% Token。
我更願意將佢理解成一個方向:
AI agent 嘅優化,唔一定係等佢更加勁。
有時,係等佢少啲過度努力。
講咗咁多,最後再同大家講下點用。
用 Claude Code 嘅朋友直接用下面兩條 command 就得。
/plugin marketplace add DietrichGebert/ponytail
/plugin install ponytail@ponytail用 Codex App 嘅,直接將成個 project 完整咁 send 俾 Codex,等佢幫我哋設定就得。
設定好之後,同之前一樣直接喺 Codex/Claude Code 裏面講需求就得。
佢仲自帶咗三個強度同一個關閉嘅開關。
| lite | 「完成,緩存已添加。僅供參考:如果你唔想維護緩存類,functools.lru_cache 一行就搞掂。」 | |
| full | 「喺獲取數據嘅函數上添加 @lru_cache(maxsize=1000)。跳過咗自定義緩存類,等 lru_cache 明顯唔夠用時再加。」 | |
| ultra | 「喺 profiler 提出要求之前唔加緩存。真要加時:用 @lru_cache。手寫嘅 TTL 緩存類簡直係命中率低嘅 Bug 培養皿。」 | |
| off |
喺對話入面我哋亦都可以用 /ponytail command 去切換等級。
以前我成日覺得,AI 寫 code 越積極越好。
後來發現,唔一定。
因為真正成熟嘅 AI 工作流程,唔係等佢一直跑、一直寫、一直擴展。
而係等佢知道幾時要停。
Ponytail 最有意思嘅地方就喺呢度。
佢唔係幫 AI 加油門,而係幫 AI 加咗一個剎車。
對而家嘅 Codex 嚟講,呢個剎車可能比油門更加值錢。
大家好,我是艾倫。
自從 Codex 更新了很多插件和功能之後,我就把主力 AI 軟件從 ClaudeCode 和 Gemini 轉到了 Codex。
一開始是開了個 5x,但在使用的過程中我發現使用場景沒有那麼多,且另外兩家我也依然在混着使用,所以後面又改為了 Plus 套餐。
然後情況就變成了原本的用不完,到現在的不夠用。
打開 Codex 的設置一看,每天起碼要用三四千萬的 Token。
三四天就能把一週的 Plus 額度全部消耗殆盡。
就我不知道你們會不會有這種感覺,每天也沒幹啥很重的任務,但一兩個小時後 Codex 的右下角就提醒你這 5 小時的週期裏只剩 10 ~ 20% 的額度了..
一開始我以為是我自己用的太狠了,但後面想想又不對,因為很多時候也沒有做很大的工程。
可能只是小改一個功能,修一個 bug,整理下代碼之類的。
就是一些很簡單很小的需求,但看 Codex 思考過程,它會跑很多很多的上下文、工具調用,然後再試着改一些看起來很專業的東西。
這就導致會有大量的 Token 浪費。
就比如我想寫一個登錄註冊功能。
需求很簡單,就是一個登錄表單和註冊表單。
然後還有一些像電話或者郵箱的校驗等等內容。
但這個時候 Codex 就很容易去進行過度思考。
比如它會去添加一些什麼權限中間件,然後預留一些其他的登錄入口,QQ、微信登錄之類的,然後再加一些暫時用不到的配置和邊界。
看起來這些功能非常多,非常好。但有個問題啊,現階段真的需要這些功能嗎?
我們要的僅僅只是一個登錄註冊,能登錄就行。但是他的腦子裏面已經開始規劃賬號體系 1.0 了。
所以碰到這種情況,就輪到 PonyTail 一個馬尾大叔出場了。
就是這個扎着一個單馬尾的大叔啊,他叫 PonyTail。
我用一句話來解釋它的功能,它就是一個能讓 AI Agent 更懶的一個插件。
但這裏的懶並不是那種很敷衍的那種懶,而是那種資深工程師的懶。
就是能不寫代碼的地方就不寫代碼,能複用接口的地方就直接複用,而不是去重新新寫一套代碼。
然後原生能力足夠強的,就不用再安裝其他的代碼庫。
一行代碼就能解決的,就不再去寫那麼幾百行。
簡單來說就是隻做當前需要的,而不是去過度思考,去添加一些新的雜七雜八的功能。
這就有點像家裏面的門把手鬆了,新師傅一進門就說這個門太舊了,要不要換個智能門鎖?
門框有點老化,要不要一起拆?拆了以後要不要把全乾重新設計一下?
聽起來很專業很負責,但我原本只想要擰兩顆螺絲。
而老師傅蹲下來看一眼,螺絲松,那就擰緊,墊片壞了,那就換墊片,10 分鐘解決。
而 PonyTail 做的就是把 AI Agent 從那個新師傅往老師傅方向拉。
這裏給大家看一個官方實測的例子 - 倒計時器。
就是一個很普通的需求,開始、暫停、重置,時間到了顯示“已結束”。
如果是我們自己來寫,那肯定是直接找輪子,然後複用,最後幾行代碼搞定。
但 AI 就像我前面說的那樣,容易想太多。
先搭狀態管理,再拆組件,再封裝定時器邏輯,最後順手補一堆以後可能會用到的擴展能力。
從結果上來看,寫了更多的代碼,也消耗了更多的 Token。
而用上了 PonyTail 的核心區別就是,不急着搭這些架子,而是先看能不能用最簡單方式去解決。
在 Claude Code 裏面,Ponytail 讓代碼量減少了 54%,Token 減少了 22%,成本降低了 20%,完成時間縮短了 27%。
當然,這不是說你裝完之後,每一次任務都會穩定省下 22% Token。
我更願意把它理解成一個方向:
AI agent 的優化,不一定是讓它更猛。
有時候,是讓它少一點過度努力。
聊了那麼多,最後再給大家說說如何使用。
用 Claude Code 的朋友直接用下面這兩條命令就行。
/plugin marketplace add DietrichGebert/ponytail
/plugin install ponytail@ponytail用 Codex App 的,直接把整個項目完整的發給 Codex,讓它幫我們配置就行。
配置好後,和原先一樣直接在 Codex/Claude Code 裏面說需求就行。
它還自帶了三個強度和一個關閉的開關。
| lite | “完成,緩存已添加。僅供參考:如果你不想維護緩存類,functools.lru_cache 一行就能搞定。” | |
| full | “在獲取數據的函數上添加 @lru_cache(maxsize=1000)。跳過了自定義緩存類,等 lru_cache 明顯不夠用時再添加。” | |
| ultra | “在 profiler 提出要求之前不加緩存。真要加時:用 @lru_cache。手寫的 TTL 緩存類簡直是命中率低下的 Bug 培養皿。” | |
| off |
在對話中我們也可以使用 /ponytail 命令去切換等級。
以前我總覺得,AI 寫代碼越積極越好。
後來發現,不一定。
因為真正成熟的 AI 工作流,不是讓它一直跑、一直寫、一直擴展。
而是讓它知道什麼時候該停。
Ponytail 最有意思的地方就在這裏。
它不是給 AI 加油門,而是給 AI 加了一個剎車。
對現在的 Codex 來說,這個剎車可能比油門更值錢。