本週,這場辯論在中文 AI 開發者社群中浮出水面,直接點出了英文世界炒作機器經常忽略的問題。一位非技術背景的使用者在看了數十個「這個工具改變了一切」的影片後,嘗試使用 Codex。她遇到了連線錯誤,得到了胡言亂語的結果,並誠實地問道:是大家都在說謊,還是我做錯了什麼?
這個討論串爆發了 738 條評論,共識答案是:你用錯了。請訂閱 GPT Plus,先用 GPT-4 或 GPT-5 規劃你的任務,讓大型語言模型(LLM)建構提示詞,然後再將其貼到 Codex 中。安裝正確的技能,約束每個步驟,並審查你的差異(diffs)。我認為這個共識答案是錯誤的,或者至少,它對所解釋的內容是錯誤的。
「你用錯了」這個說法,其潛在論點是 Codex 是一個強大的自主編碼代理,只要配置得當就能產生出色的結果。設定上的摩擦只是一次性的成本,一旦克服,這個工具就能真正代表你處理複雜任務。
這就是 Codex 在演示中呈現的版本:工程師輸入一個模糊的目標,然後走開,回來時就看到一個可運作的拉取請求(PR)。這種敘事是:現在 AI 正在進行軟體工程。
看看「正確」的工作流程實際上包含了什麼:你先有一個目標或想法,然後與 GPT 溝通以釐清你的需求。GPT 協助你將問題分解成多個步驟,並為每個步驟建構帶有約束條件的提示詞。
你將這些提示詞貼到 Codex 中,Codex 執行程式碼,然後你審查差異(diff)以找出它破壞或遺漏的部分,接著進行調整並重新執行。僅僅第七步就要求你對程式碼庫有足夠的理解,才能評估輸出是否正確。
第二步到第四步則要求你已經完成了軟體設計中艱難的認知工作:理解問題、識別邊緣案例、設定範圍邊界。Codex 僅執行第六步,其餘的都是你。
這裡提出一個反向論點:那些從 Codex 獲得出色成果的人,並非受益於 Codex 的自主性。他們受益於自己預先具備的撰寫嚴謹規格的能力。那位在兩小時內建立了一學期課程計畫的評論者,其任務清晰、重複且定義明確,並具有已知的輸出格式。
那位在一個下午建立了一個微信小程序的人,其功能集有明確範圍,並且知道「完成」的樣子。這些都不是透過 AI 學習編碼的初學者,而是那些已經能清晰思考需求,並為他們已在腦中規劃好的工作找到快速執行者的人。
對於原發文者而言,問題不在於設定。問題在於她帶著「我想建立一些東西」的模糊想法而來,卻沒有具體的規格。Codex 無法從模糊的意圖中生成嚴謹的規格,它會嘗試,但結果將是聽起來自信卻毫無意義的內容,這正是她所得到的。
告訴某人「在使用這個工具之前你需要更好地規劃」,這並非權宜之計,而是對其根本限制的描述。每個強大的工具都有其先決條件,例如圓鋸機要求你懂得測量,編譯器要求你懂得程式語言。
這些先決條件都會被明確地教授,沒有人會告訴初學者「只要你懂木工,圓鋸機就很好用」。但 Codex 的炒作週期正是如此,它將工具呈現為非技術使用者也能輕鬆上手,展示的演示來自於已經熟練的人,然後當新手失敗時,卻將其解釋為設定問題。
這些設定建議是真實且正確的。是的,先使用 GPT 有幫助;是的,約束步驟很重要;是的,審查差異(diffs)是必要的。但這些並非是為了充分利用一個自主代理的技巧,它們是軟體工程師的核心工作流程,現在只是分散到多個工具上。
這一切都不代表 Codex 不好,它只是意味著其使用案例比廣告宣傳的更為狹窄。對於那些已經懂得如何編寫軟體,並希望在有界限、明確理解的任務上更快行動的人來說,Codex 確實很有用。
它是一個快速、大部分可靠的執行者,可以消除輸入樣板程式碼、轉換格式、生成測試案例或實作明確指定功能的繁瑣工作。對於學習編碼或試圖在沒有明確規格的情況下建立東西的人來說,Codex 會讓你加速撞牆。
你會非常快速地得到大量輸出,但這些輸出並非你想要的,因為你沒有足夠精確地知道自己想要什麼來進行溝通。AI 編碼工具的失敗模式並非它們太慢或太貴,而是它們足夠快,讓模糊的思考感覺富有成效,直到它不再如此為止。
如果 Codex 的最佳工作流程要求你首先用另一個大型語言模型(LLM)釐清需求,那麼你必須問:你從自主性敘事中實際得到了什麼?你正在使用一個 AI 來思考,然後使用另一個 AI 來打字。
這絕對比你自己做這兩件事更快,但這與擁有一個能夠接受目標並產生結果的自主代理是不同的。思考仍然是你的,規格仍然是你的,審查仍然是你的。
炒作聲稱 AI 正在進行軟體工程,但實際工作流程表明 AI 正在做軟體工程中快速的部分,而你仍然在做慢的部分,只是透過不同的介面。在你花一個下午與連線錯誤搏鬥,並疑惑為什麼你的結果與演示完全不同之前,這一切都值得了解。你認為是否存在一種 Codex 使用方式,讓規劃步驟真正變得不必要,或者無論模型變得多好,撰寫規格永遠都是人類的工作?