Coding Agent 有個甜蜜點,多數人直接跳過了

作者:寶玉AI
日期:2026年2月25日 上午7:39
來源:WeChat 原文

整理版優先睇

速讀 5 個重點 高亮

Coding Agent 成功關鍵在四個條件:有參照、能自測、有規劃、有人管

整理版摘要

呢篇文章透過兩個 Vibe Coding 成功案例——Simon WillisonCodex CLI 將 Python 嘅 HTML 解析庫移植到 JavaScript,同埋 Cloudflare 團隊用 AI 重建 Next.js API——帶出 Coding Agent 嘅「甜蜜點」條件。

作者指出,呢兩個項目成功嘅關鍵在於符合四個條件:有明確參照物(讓 Agent 做翻譯而非創造)、有自動化驗證(Agent 可以自己跑測試修 bug)、有架構藍圖(先拆解任務再填空)、同埋有人把控方向(人類做決策,Agent 執行)。呢啲條件唔係新理論,但好多使用者直接跳過。

文章最後畀出五個行動建議:揾參考項目、配備自動驗證、先設計後實現、建立反饋閉環、識別 Agent 嘅邊界。整體結論係,只要將項目調整到 Agent 嘅舒適區,Coding Agent 就能發揮極大效率。

  • 翻譯型任務:畀 Agent 明確參照物(如現有代碼、API 文檔),成功率遠高於憑空創造。
  • 自動驗證迴圈:Agent 能自己跑測試、睇結果、修 bug,形成高速迭代閉環,係效率關鍵。
  • 架構拆分:將大任務按架構拆成細任務,每個剛好喺 Agent 上下文窗口內,讓 Agent 填空而非作文。
  • 人機協作:人類負責架構決策、方向把控、識別「高置信度錯誤」;Agent 執行代碼與測試。
  • 行動要點:動手前先揾參考、配自動驗證、先設計後實現、建立 CI/CD 閉環、知道咩時候 Agent 唔得。
值得記低
連結 simonwillison.net

I ported JustHTML from Python to JavaScript with Codex CLI

Simon Willison 用 Codex CLI 將 Python HTML 解析庫移植到 JS,43次提交,9200+測試用例

連結 blog.cloudflare.com

How we rebuilt Next.js with AI in one week

Cloudflare 團隊用 AI 一週重建 Next.js API,1700+單元測試,380個E2E測試

整理重點

兩個成功案例:翻譯同重構

Simon WillisonDjango 聯合創始人)一邊陪家人裝飾聖誕樹,一邊用 Codex CLIEmil Stenström 嘅 JustHTML 移植成純 JavaScript,跑過 9200 多個 html5lib-tests 用例,總共只發咗 8 條提示詞。

Cloudflare 嘅工程經理帶住 AI,用唔夠一星期喺 Vite 上重新實現 Next.jsAPI,做出 vinext 項目,覆蓋 94% API,總 Token 花費約 1100 美元。

Vibe Coding

翻譯型任務

參照物

整理重點

條件一:有明確參照物;條件二:有自動化驗證

大語言模型最擅長翻譯,無論係自然語言定程式語言。畀 Agent 一個明確參照物,例如已開源項目、API 文檔或舊代碼,佢就能又快又好咁完成。Simon 嘅項目係典型翻譯型任務:Python 版本嘅 API 設計係現成,Agent 只需「翻譯」成 JavaScript。

翻譯型任務

自動化驗證係 Agent 高速反饋嘅關鍵。Simon 嘅項目因為有 html5lib-tests 測試集,Agent 可以自己跑測試、睇結果、修 bug,形成「設計智能體閉環」。Cloudflare 團隊亦直接用 Next.js 嘅端到端測試做驗收標準。

自動化驗證

反饋閉環

  • 先寫測試再讓 Agent 寫實現(測試驅動開發同 Agent 係天然搭配)
  • 配好 Lint 同類型檢查
  • 畀佢接上瀏覽器開發工具,讓佢睇到運行結果
  • 至少讓 Agent 自動跑 npm test,好過肉眼審代碼
整理重點

條件三:有架構藍圖;條件四:有人把控方向

Agent 受上下文窗口限制,一次處理有限資訊。高手會將大任務按架構拆成細任務,每個剛好喺 Agent 窗口內。Simon 第一條提示詞係叫 AI 寫 spec.md,然後從冒煙測試開始填空。Cloudflare 團隊先用 Claude 討論架構,再按模塊拆任務。

架構拆解

上下文窗口

人類必須把控方向。AI 經常寫出語法正確但行為唔啱嘅代碼,呢種「高置信度錯誤」需要人識別。Simon 用「commit and push often」追蹤進度;Cloudflare 將架構決策同優先級判斷交畀人。

高置信度錯誤

小步快跑

整理重點

將項目推向甜蜜點嘅五個行動

既然知道 Agent 嘅舒適區,就可以有意識咁將項目調整過去。以下係五個具體行動點:

  • 先睇下有冇參考項目或代碼再動手,畀 Agent 參照物比畀需求描述更有效。
  • 配備自動驗證能力:單元測試、集成測試、Lint、瀏覽器自動化等,讓 Agent 能自己跑同改。
  • 先設計後實現:花 10-30 分鐘同 AI 傾架構,拆好任務再分步執行。
  • 建立反饋閉環:配好 CI,Agent 寫代碼、提交、CI 報錯、修復、再提交,人只需關鍵節點介入。
  • 識別邊界:冇明確規範嘅探索性項目、需大量領域知識嘅業務邏輯,Agent 做唔好,要知咩時候放手。

參照物

自動驗證

反饋閉環

識別邊界


有兩個 Vibe Coding 項目令我印象好深刻。

一個是 Simon Willison(Django 框架嘅聯合創始人),佢一邊陪家人裝飾聖誕樹、睇電影,一邊用 Codex CLI + GPT-5.2,將 Emil Stenström 嘅 JustHTML(一個純 Python 嘅 HTML 解析庫)搬咗做純 JS、零依賴嘅版本,跑過咗 9200 幾個 html5lib-tests 用例,產出大約 9000 行代碼43 次提交。成個過程佢自己淨係出咗 8 條左右嘅提示詞

《I ported JustHTML from Python to JavaScript with Codex CLI and GPT-5.2 in 4.5 hours》https://simonwillison.net/2025/Dec/15/porting-justhtml/

另一個係 Cloudflare,一個工程經理帶住 AI,用唔夠一個禮拜,喺 Vite 上面重新實作 Next.js 嘅 API,整咗 vinext 呢個項目。1700 幾個單元測試、380 個端到端測試、覆蓋 Next.js 94% 嘅 API,已經有客仔喺生產環境用緊。總花費大約 1100 美元嘅 Token。

《How we rebuilt Next.js with AI in one week》https://blog.cloudflare.com/vinext/

圖片

呢兩個項目嘅規模同複雜度都唔低,但 Coding Agent 嘅完成質量出奇咁好。點解?

因為佢哋都精準命中咗 Coding Agent 嘅舒適區——或者話甜蜜點。

有明確嘅參照物:令 Agent「翻譯」而唔係「創造」

大語言模型最擅長嘅嘢之一係「翻譯」,無論係自然語言定編程語言。畀佢一個明確嘅參照物,佢可以做到又快又好。

Simon 嘅項目就係典型嘅翻譯型任務。已經有一個寫好嘅 Python 版 HTML 解析庫,API 設計係現成嘅,代碼邏輯係現成嘅,Agent 要做嘅就係將呢啲「翻譯」成 JavaScript。唔需要憑空設計架構,唔需要做產品決策,照住畫就得。

Cloudflare 嘅 vinext 項目睇落複雜啲,但底層邏輯一樣。Next.js 嘅 API 係公開嘅、文檔極之完善,Stack Overflow 上面積累咗海量問答,呢啲內容一早入咗大模型嘅訓練數據。Cloudflare 團隊唔係叫 AI 發明一個新框架,而係叫佢照住 Next.js 嘅規格說明書,喺 Vite 上面重新實作一次。

第一個條件:畀 Agent 一個明確嘅參照物。 唔理係一個已經有嘅開源項目、一份 API 文檔、定係你之前寫過嘅舊版本代碼,都可以當參照物。令 Agent 做翻譯而唔係創造,成功率會高好多。

喺你自己嘅工作入面,落手之前先問一句:有冇現成嘅嘢可以參考?一個開源實現、一段競品代碼、甚至一份偽代碼,都可以令 Agent 嘅表現跨一個台階。

圖片

有自動化驗證:令 Agent 可以自己驗證啱唔啱

Coding Agent 同人類程序員一樣,寫完代碼需要驗證。分別在於:如果驗證一定要靠人工,效率就會斷崖式下降;但如果 Agent 可以自己跑測試、自己睇結果、自己修 bug,佢就會進入一個高速循環,唔知疲倦咁迭代落去。

Simon 嘅項目可以成功,好大程度上因為 HTML5 標準有一套叫 html5lib-tests 嘅測試集,9200 幾個用例,輸入係 HTML,輸出係正確嘅解析結構。Agent 唔需要你話佢知邊度寫錯,佢跑一次測試就知道。Simon 將 GitHub Actions 設定好之後,Agent 就入咗呢個循環,用咗 140 幾萬個 Token,提交咗 43 次,直到所有測試都著綠燈。

Simon 將呢個過程叫做 「設計智能體閉環」(Designing the Agentic Loop),佢認為呢個係釋放 AI 編程潛力嘅關鍵技能。

Cloudflare 嗰邊都一樣。Next.js 倉庫入面有幾千個端到端測試,團隊直接將呢啲測試搬過嚟當驗收標準。工作流程就係:定義任務,叫 AI 寫代碼同測試,跑測試,過咗就合併,冇過就將報錯掟返畀 AI 叫佢改。幾乎全自動嘅反饋閉環。

你可能會話:我個項目邊有咁完美嘅測試套件。確實,大多數項目冇。但你可以向呢個方向靠攏:

  • • 先寫測試再叫 Agent 寫實現(測試驅動開發同 Agent 係天然搭配)
  • • 整好 Lint 同類型檢查
  • • 畀佢駁上瀏覽器開發工具令佢可以睇到運行結果
  • • 就算只係叫 Agent 可以自動跑一個 npm test,都好過你自己用肉眼睇代碼好多

畀 Agent 嘅自動驗證工具越多,佢可以自我修復嘅能力就越強。

圖片

有架構藍圖:令 Agent「填空」而唔係「作文」

Agent 受上下文窗口限制,一次任務可以處理嘅信息量有上限。你將一個複雜項目嘅成個代碼庫掟畀佢,佢消化唔到。你叫佢由頭到尾一口氣做完一個大功能,佢做到後面就會唔記得前面。

所以架構設計特別重要。將大任務按架構拆成細任務,每個任務啱啱好喺 Agent 嘅上下文窗口入面可以完成,呢個係高手同新手用 Agent 最大嘅分別之一。

Simon 嘅做法好聰明。佢第一條提示詞唔係叫 AI 寫代碼,而係叫佢睇完 Python 項目之後寫一份 JavaScript 版本嘅設計文檔spec.md)。呢份文檔包含咗 API 設計、實現步驟同驗收標準。然後佢叫 Agent 由最簡單嘅冒煙測試開始,一步步按計劃推進。架構係現成嘅(參考 Python 版),路線圖都規劃好咗,Agent 只需要按部就班咁「填空」。

Cloudflare 團隊嘅做法更系統。工程經理先花咗幾個鐘同 Claude 反覆討論架構方案,定好整體藍圖,然後按模組拆任務。每個任務嘅邊界清晰,AI 寫完一個模組就可以獨立測試,唔使等成個項目做完先可以驗證。

你唔需要係架構大師先做到呢件事。就算淨係花 10 到 30 分鐘同 AI 傾下你打算點做,叫佢幫你列個實現計劃,再按計劃分步執行,效果都會好好多。先設計再實現,呢個道理對人類程序員適用,對 Agent 同樣適用,甚至更加適用。

圖片

有人把控方向:Agent 執行,人嚟決策

Cloudflare 嘅 blog 入面有句話:

畀 AI 好嘅方向、好嘅上下文、好嘅護欄,佢就可以高產;但方向盤一定要喺人手裏。

AI 有一個令人頭痛嘅特點:佢成日寫出睇落完全正確、但實際行為唔啱嘅代碼。語法冇問題,邏輯睇落都通順,跑起上嚟就係唔啱。識別呢種「高置信度嘅錯誤」,目前仲係需要人嚟做。

Simon 叫 Agent「commit and push often」(頻繁提交代碼),咁樣佢喺手機上睇 GitHub 提交記錄就可以追蹤進度。Cloudflare 團隊將代碼審查都交咗俾 AI Agent,但架構決策、優先級判斷、識別 AI 走歪咗,呢啲仍然由人嚟把控。

呢兩個項目嘅操作者都唔係新手。Simon 係 Django 嘅聯合創始人,Cloudflare 嗰位係工程經理。佢哋知道點樣將一個大問題拆成 AI 可以消化嘅細問題,知道幾時應該介入,幾時應該放手。

你唔需要係佢哋嗰種高手,唔需要睇住 Agent 寫嘅每一行代碼,但都需要喺關鍵節點檢查方向啱唔啱。畀 Agent 一個太大嘅任務然後自己走開,通常唔會有乜嘢好結果。小步快跑、階段性驗收,係目前最可靠嘅協作方式。

圖片

呢四個條件唔係乜嘢高深嘅理論,返轉頭睇都係常識:有參考、能自測、有規劃、有人管。但正正因為佢哋太似常識,好多人在使用 Agent 時直接 skip 咗。

Cloudflare 團隊自己話,幾個月前呢件事仲做唔到,唔完全係因為模型變強咗幾多,而係佢哋揾到咗正確嘅方法。

既然知道咗 Coding Agent 嘅舒適區喺邊,就可以有意識咁將自己嘅項目向呢個方向靠攏:

  • • 先睇下有冇參考項目/代碼再落手。 唔好急住叫 Agent 由零開始寫。睇下有冇類似嘅開源實現、有冇現成嘅 API 規範、有冇可以參考嘅代碼庫。畀 Agent 一個參照物,比畀佢一段需求描述有效好多。
  • • 畀 Agent 配上自動驗證嘅能力。 手動測試係 Agent 效率嘅最大瓶頸。盡量將驗證環節自動化:單元測試、集成測試、Lint、類型檢查,甚至瀏覽器自動化測試。令 Agent 可以自己跑、自己睇結果、自己改。Cloudflare 用咗 agent-browser 嚟驗證瀏覽器端嘅渲染同交互,呢種思路好值得參考。
  • • 先設計後實現。 喺叫 Agent 落手之前,先將架構諗清楚、任務拆好。每個任務嘅範圍要細到 Agent 嘅上下文窗口裝得落,大到足夠產出一個有意義嘅模組。呢個拆分能力本身就係高手同新手嘅分水嶺。
  • • 建立反饋閉環。 Simon 嘅做法好典型:整好 CI,每次提交自動跑測試。Agent 寫代碼、提交、CI 報錯、Agent 睇日誌、修復、再提交。人只需要喺關鍵節點介入。呢個閉環跑起之後,Agent 嘅產出效率會遠遠超過你坐喺度一行行睇代碼。
  • • 知道幾時 Agent 做唔到嘢。 唔係所有項目都喺舒適區入面。冇明確規範嘅探索性項目、需要大量領域知識嘅業務邏輯、涉及複雜人際溝通嘅需求梳理,呢啲 Agent 做唔好。識別邊界同利用優勢同樣重要。

有兩個 Vibe Coding 項目讓我印象很深。

一個是 Simon Willison(Django 框架的聯合創始人),他一邊陪家人裝飾聖誕樹、看電影,一邊用 Codex CLI + GPT-5.2,把 Emil Stenström 的 JustHTML(一個純 Python 的 HTML 解析庫)遷移成了純 JS、零依賴的版本,跑過了 9200 多個 html5lib-tests 用例,產出大約 9000 行代碼43 次提交。整個過程他自己只發了 8 條左右的提示詞

《I ported JustHTML from Python to JavaScript with Codex CLI and GPT-5.2 in 4.5 hours》https://simonwillison.net/2025/Dec/15/porting-justhtml/

另一個是 Cloudflare,一個工程經理帶着 AI,用不到一週時間,在 Vite 上重新實現了 Next.js 的 API,做出了 vinext 這個項目。1700 多個單元測試、380 個端到端測試、覆蓋 Next.js 94% 的 API,已經有客戶跑在生產環境了。總花費大約 1100 美元的 Token。

《How we rebuilt Next.js with AI in one week》https://blog.cloudflare.com/vinext/

圖片

這兩個項目的規模和複雜度都不低,但 Coding Agent 的完成質量出奇地好。為什麼?

因為它們都精準命中了 Coding Agent 的舒適區——或者說甜蜜點。

有明確的參照物:讓 Agent“翻譯”而不是“創造”

大語言模型最擅長的事情之一是“翻譯”,無論是自然語言還是編程語言。給它一個明確的參照物,它能做到又快又好。

Simon 的項目就是典型的翻譯型任務。已經有一個寫好的 Python 版 HTML 解析庫,API 設計是現成的,代碼邏輯是現成的,Agent 要做的就是把這些“翻譯”成 JavaScript。不需要憑空設計架構,不需要做產品決策,照着畫就行。

Cloudflare 的 vinext 項目看起來更復雜,但底層邏輯一樣。Next.js 的 API 是公開的、文檔極其完善,Stack Overflow 上積累了海量問答,這些內容早就進了大模型的訓練數據。Cloudflare 團隊不是讓 AI 發明一個新框架,而是讓它照着 Next.js 的規格說明書,在 Vite 上重新實現一遍。

第一個條件:給 Agent 一個明確的參照物。 不管是一個已有的開源項目、一份 API 文檔、還是你之前寫過的舊版本代碼,都可以當參照物。讓 Agent 做翻譯而不是創造,成功率會高很多。

在你自己的工作中,動手之前先問一句:有沒有現成的東西可以參考?一個開源實現、一段競品代碼、甚至一份偽代碼,都能讓 Agent 的表現跨一個台階。

圖片

有自動化驗證:讓 Agent 能自己驗證對不對

Coding Agent 和人類程序員一樣,寫完代碼需要驗證。區別在於:如果驗證必須靠人工,效率就會斷崖式下降;但如果 Agent 能自己跑測試、自己看結果、自己修 bug,它就能進入一個高速循環,不知疲倦地迭代下去。

Simon 的項目能成功,很大程度上因為 HTML5 標準有一套叫 html5lib-tests 的測試集,9200 多個用例,輸入是 HTML,輸出是正確的解析結構。Agent 不需要你告訴它哪裏寫錯了,它跑一遍測試就知道。Simon 把 GitHub Actions 配好之後,Agent 就進入了這個循環,用了 140 多萬個 Token,提交了 43 次,直到所有測試亮綠燈。

Simon 把這個過程叫做 “設計智能體閉環”(Designing the Agentic Loop),他認為這是釋放 AI 編程潛力的關鍵技能。

Cloudflare 那邊也一樣。Next.js 倉庫裏有幾千個端到端測試,團隊直接把這些測試搬過來當驗收標準。工作流程就是:定義任務,讓 AI 寫代碼和測試,跑測試,過了就合併,沒過就把報錯扔回給 AI 讓它改。幾乎全自動的反饋閉環。

你可能會說:我的項目哪有這麼完美的測試套件。確實,大多數項目沒有。但你可以往這個方向靠:

  • • 先寫測試再讓 Agent 寫實現(測試驅動開發和 Agent 是天然搭配)
  • • 配好 Lint 和類型檢查
  • • 給它接上瀏覽器開發工具讓它能看到運行結果
  • • 哪怕只是讓 Agent 能自動跑一個 npm test,都比你自己肉眼審代碼強得多

給 Agent 的自動驗證工具越多,它能自我修復的能力就越強。

圖片

有架構藍圖:讓 Agent”填空”而不是”作文”

Agent 受上下文窗口的限制,一次任務能處理的信息量是有上限的。你把一個複雜項目的整個代碼庫扔給它,它消化不了。你讓它從頭到尾一口氣做完一個大功能,它做到後面就忘了前面。

所以架構設計特別重要。把大任務按架構拆成小任務,每個任務剛好在 Agent 的上下文窗口內能完成,這是高手和新手使用 Agent 最大的區別之一。

Simon 的做法很聰明。他的第一條提示詞不是讓 AI 寫代碼,而是讓它讀完 Python 項目後寫一份 JavaScript 版本的設計文檔spec.md)。這份文檔包含了 API 設計、實現步驟和驗收標準。然後他讓 Agent 從最簡單的冒煙測試開始,一步步按計劃推進。架構是現成的(參照 Python 版),路線圖也規劃好了,Agent 只需要按部就班地“填空”。

Cloudflare 團隊的做法更系統。工程經理先花了幾個小時和 Claude 反覆討論架構方案,定好整體藍圖,然後按模塊拆任務。每個任務的邊界清晰,AI 寫完一個模塊就能獨立測試,不用等整個項目做完才能驗證。

你不需要是架構大師才能做這件事。哪怕是花 10 到 30 分鐘和 AI 聊一下你打算怎麼做,讓它幫你列個實現計劃,再按計劃分步執行,效果都會好很多。先設計再實現,這個道理對人類程序員適用,對 Agent 同樣適用,甚至更適用。

圖片

有人把控方向:Agent 執行,人來決策

Cloudflare 的博客裏有一句話:

給 AI 好的方向、好的上下文、好的護欄,它就能高產;但方向盤必須在人手裏。

AI 有一個讓人頭疼的特點:它經常寫出看起來完全正確、但實際行為不對的代碼。語法沒問題,邏輯看着也通順,跑起來就是不對。識別這種“高置信度的錯誤”,目前還是需要人來做。

Simon 讓 Agent“commit and push often”(頻繁提交代碼),這樣他在手機上刷 GitHub 提交記錄就能追蹤進度。Cloudflare 團隊把代碼審查也交給了 AI Agent,但架構決策、優先級判斷、識別 AI 走偏了,這些仍然由人來把控。

這兩個項目的操作者都不是新手。Simon 是 Django 的聯合創始人,Cloudflare 那位是工程經理。他們知道怎麼把一個大問題拆成 AI 能消化的小問題,知道什麼時候該介入,什麼時候該放手。

你不需要是他們那樣的高手,不需要盯着 Agent 寫的每一行代碼,但也需要在關鍵節點檢查方向對不對。給 Agent 一個太大的任務然後自己走開,通常不會有好結果。小步快跑、階段性驗收,是目前最靠譜的協作方式。

圖片

這四個條件不是什麼高深的理論,回頭看都是常識:有參考、能自測、有規劃、有人管。但正是因為它們太像常識,很多人在使用 Agent 時直接跳過了。

Cloudflare 團隊自己說,幾個月前這事還做不了,不完全是因為模型變強了多少,而是他們找到了正確的方法。

既然知道了 Coding Agent 的舒適區在哪,就可以有意識地把自己的項目往這個方向靠:

  • • 先看看有沒有參考項目/代碼再動手。 別急着讓 Agent 從零開始寫。看看有沒有類似的開源實現、有沒有現成的 API 規範、有沒有可以參考的代碼庫。給 Agent 一個參照物,比給它一段需求描述有效得多。
  • • 給 Agent 配上自動驗證的能力。 手動測試是 Agent 效率的最大瓶頸。儘量把驗證環節自動化:單元測試、集成測試、Lint、類型檢查,甚至瀏覽器自動化測試。讓 Agent 能自己跑、自己看結果、自己改。Cloudflare 用了 agent-browser 來驗證瀏覽器端的渲染和交互,這種思路很值得借鑑。
  • • 先設計後實現。 在讓 Agent 動手之前,先把架構想清楚、任務拆好。每個任務的範圍要小到 Agent 的上下文窗口能裝下,大到足夠產出一個有意義的模塊。這個拆分能力本身就是高手和新手的分水嶺。
  • • 建立反饋閉環。 Simon 的做法很典型:配好 CI,每次提交自動跑測試。Agent 寫代碼、提交、CI 報錯、Agent 讀日誌、修復、再提交。人只需要在關鍵節點介入。這個閉環跑起來之後,Agent 的產出效率會遠超你坐在那裏一行行審代碼。
  • • 知道什麼時候 Agent 不行。 不是所有項目都在舒適區裏。沒有明確規範的探索性項目、需要大量領域知識的業務邏輯、涉及複雜人際溝通的需求梳理,這些 Agent 做不好。識別邊界和利用優勢同樣重要。