
前 OpenAI 工程師的 Coding Agent 使用心法:Context 管理、CLI 為王、測試先行
TL;DR
- Claude Code 靠 CLI 和 subagent 拆分 context 的做法,目前在實際開發體驗上贏過 IDE 路線的 Cursor 和沙箱路線的 Codex
- Coding agent 的核心瓶頸是 context window 管理,token 用超過 50% 就該考慮清掉重來
- 想成為 top 1% 的 coding agent 使用者,關鍵是:少寫 boilerplate、善用測試、積極做 code review、理解模型擅長和不擅長的事
- 資深工程師從 coding agent 獲益最大,因為他們能用幾個字精準描述想要什麼,也能判斷產出的架構好不好
- 測試覆蓋率是加速 coding agent 生產力的最大槓桿,沒有之一
這集在聊什麼、來賓是誰
這集是 Y Combinator 的 Lightcone Podcast,主持人包括 YC CEO Garry Tan 和 Managing Director Jared Friedman,基本上就是 YC 內部幾個合夥人坐下來聊科技趨勢的節目,來賓品質一直都不錯。
這集請到的是 Calvin French-Owen,他最早是 Segment 的共同創辦人兼 CTO。Segment 做的是客戶資料整合平台,2020 年被 Twilio 用 32 億美金收購。之後他在 2024 年加入 OpenAI,花了大約七週帶團隊從零到一把 Codex(OpenAI 的 coding agent 產品)做出來並上線。2025 年中離開 OpenAI 後,目前在探索 AI、教育和 Tools for Thought 相關的方向。簡單說,這個人同時有成功創業出場和在最前線做 AI coding agent 的經驗,講這個主題非常有料。
CLI 打敗 IDE,一個很反直覺的結果
這集最有意思的一個觀察是:CLI 贏了。
想想看,CLI 是二三十年前的技術,結果在 2025、2026 年的 coding agent 戰場上,Claude Code 這種跑在終端機裡的工具,體驗竟然比跑在 IDE 裡的 Cursor 或跑在沙箱裡的 Codex 還好。Calvin 自己的 daily driver 也從 Cursor 換到了 Claude Code。
為什麼?Calvin 給了一個我覺得很精準的解釋:IDE 的本質是讓你盯著程式碼看,你得在腦袋裡維護所有檔案的狀態。但 CLI 天生就把你跟程式碼拉開一段距離,反而給了工具更大的自由度。你看到的是進度更新、狀態回報,而不是一行一行的 code。
Garry Tan 的形容也很到位:「用 Claude Code 的時候感覺像在飛。」
另一個 CLI 的殺手級優勢是它可以直接存取你本地的開發環境。Garry 提到他用 Codex 跑個簡單的測試,結果要連 Postgres 連不上,codex.md 寫了 20 行設定還是搞不定。但 Claude Code 在你的 CLI 裡,直接就能讀你的開發資料庫,甚至(雖然可能不該這樣做)連 production 資料庫都能接。它能追進去 debug 五層深的 delayed job,找到 bug 然後自己寫測試確保不會再發生。這種事情在沙箱環境裡根本做不到。
我自己的感受也是這樣。Claude Code 能直接碰到你的整個開發環境這件事,帶來的生產力差距是巨大的。
Context 管理才是核心戰場
Calvin 在這集裡反覆強調一件事:coding agent 之間的差異,說到底就是 context 管理的差異。
Claude Code 的做法是把任務拆分給多個 subagent。當你丟一個需求給它,它會 spawn 出好幾個 Explorer subagent,每個都跑在自己的 context window 裡,用 Haiku(Anthropic 比較輕量快速的模型)去搜尋檔案系統、理解程式碼結構,然後把結果彙整回來。
有趣的是,Claude Code 和 Codex 都不用 semantic search(語意搜尋),就用 grep 和 ripgrep。Calvin 解釋說這其實很合理,因為程式碼的資訊密度極高,每行通常不超過 80 個字元,不像一般文件有大量冗餘。加上可以用 .gitignore 過濾掉不相關的東西,grep 就夠用了。而且 LLM 超擅長產生那種會把人類折磨到死的超複雜 regex 表達式。
這讓我想到一個更大的啟示:如果你在做非 coding 的 agent 應用,也應該思考怎麼把資料整理成接近程式碼的格式,讓模型可以用類似的方式去探索和理解。
Context Poisoning 是真的,50% 就該清了
Calvin 提到一個叫「dumb zone」的概念,出自 YC Fall 24 的一家公司 Human Layer 的 Dex。意思是 LLM 在 context window 用到一定比例之後,產出品質就會開始衰退。
Calvin 自己的做法是:token 用量超過 50% 就主動清 context。
他用了一個很生動的比喻:想像你是大學生在考試,前五分鐘你覺得時間充裕,每題都仔細想。但如果只剩五分鐘還有一半沒寫完,你就開始亂寫了。LLM 面對 context window 也是一樣的道理。
有些人會在 context 開頭放一個 canary(金絲雀測試),塞一個很奇怪的事實,像是「我叫 Calvin,我早上八點喝茶」。然後過一陣子問模型還記不記得。當它開始忘記這些事的時候,就代表 context 已經被汙染了。
我覺得這個技巧滿實用的,雖然我自己還沒試過,但邏輯上完全說得通。
成為 Top 1% Coding Agent 使用者的具體建議
這段是我覺得整集最有操作價值的部分,Calvin 給了幾個很具體的建議:
1. 減少 boilerplate,用現成的框架
部署在 Vercel、Next.js、Cloudflare Workers 這類已經幫你處理好大量基礎建設的平台上。你的核心邏輯可能就一兩百行 code,agent 可以很快理解全貌。也傾向用 microservice 或獨立 package 的架構,每個單元都夠小、夠結構化。
2. 理解模型的超能力和盲點
Coding agent 有個特性:它們超級執著,會一直做下去不停。而且它們傾向「製造更多既有的東西」。如果你的 codebase 風格不一致(Calvin 拿 OpenAI 的 monorepo 舉例,裡面有 Meta 來的資深工程師寫的 code,也有剛畢業的 PhD 寫的),agent 會根據你指向的區域學到不同的風格。
所以你得有意識地引導它去看好的 code。
3. 給模型驗證自己的能力
測試、Lint、CI,能跑的都跑。Garry Tan 的親身經歷很有說服力:他前兩三天不寫測試,後來花一天把測試覆蓋率拉到 100%,之後速度就飆上去了。因為 agent 改完 code 自己跑測試就知道對不對,你甚至不太需要手動測試。
這跟 prompt engineering 的世界完全一樣,本質上就是 test-driven development。你的測試案例就是你的 eval。
4. 積極使用 code review bot
Calvin 提到他會用 Greptile(YC 公司)、Cursor 的 bug bot,也用 Codex 做 code review,說它在正確性上表現很好。讓 AI 互相檢查 AI 的產出,形成一個品質迴圈。
資深工程師獲益最大,但未來需要新技能
Calvin 的判斷很明確:越資深的工程師,從 coding agent 獲益越多。
原因很簡單。資深工程師能用幾個字就精準描述一個需求,agent 馬上就能去執行。他在 OpenAI 的時候經常逛 codebase,看到哪裡不順眼就開一個 task 丟給 agent,改完回來看就好。這種「idea → action」的轉換速度,對有經驗的人來說是指數級的放大。
他也認為未來最厲害的 coding agent 使用者會更像 manager,專注在指揮流程和方向。同時也會更像 designer,去決定產品裡該有什麼、不該有什麼。
至於年輕一代,Calvin 反而覺得樂觀。因為他們可以更快速地 launch、更頻繁地接觸現實,五年後最好的 18-22 歲工程師,taste 可能會好到不行。
不過 Garry 也提出了一個值得想的問題:如果年輕工程師從來沒有手動處理過百萬級 job queue 和幾十萬筆 error 的經驗,他們真的理解什麼是 production-grade 的工程管理嗎?Agent 能教會這些嗎?還是要自己撞過牆才會懂?
老實說,我覺得這個問題目前沒有答案,但值得所有在帶新人的 tech lead 認真想想。
Anthropic vs OpenAI:兩種完全不同的哲學
Calvin 對兩家公司的 DNA 差異有個很有洞察力的觀察:
Anthropic 的路線是「為人類打造工具」。Claude Code 的運作方式很像人類:你要蓋一個狗屋,它會去五金行買材料,搞清楚怎麼組裝。它用 grep,它 spawn subagent,整個過程你看得懂。
OpenAI 的路線是「訓練最強的模型,追求 AGI」。它可能不像人類的做法,就像 AlphaGo 下棋的方式人類看不懂。Codex 會定期跑 compaction(壓縮),能持續執行很長時間的任務,架構上就是為了更長的 autonomous run 而設計的。
Calvin 說了一句很中肯的話:長期來看,後者(更自主的 agent)可能是不可避免的趨勢,但他個人更喜歡前者的感覺。
我也是。至少在目前這個階段,能看懂 agent 在做什麼、能隨時介入修正,這個掌控感對我來說很重要。
底線
這集的資訊密度很高,Calvin 因為同時有創業者和 AI lab 內部人的雙重視角,給出的觀點比一般「我用了 Claude Code 好厲害」的分享深了不少層。
如果只能記住一件事,我會說是這個:**coding agent 的競爭力差異,本質上是 context engineering 的差異。**不管是工具層面(Claude Code 怎麼拆 subagent)還是使用者層面(你怎麼管理 token、怎麼寫測試、怎麼引導模型去看對的 code),都是同一個道理。
這類 AI 工具和 coding agent 的觀察,我會持續寫在 wilsonhuang.xyz,有興趣的話可以訂閱,新文章發布會第一時間通知。
推薦閱讀
喜歡這篇文章嗎?
訂閱電子報,每週收到精選技術文章與產業洞察,直送你的信箱。
💌 隨時可以取消訂閱,不會收到垃圾郵件


