AI 工程技能地圖:使用 coding Agents

@AndrewYNg
英語2026年9月04日
513K
5.9K
919
168
9.2K

TL;DR

Andrew Ng 為 AI 工程師提供了詳細的技能地圖,涵蓋了與自主 coding Agents 協作時,在規劃、執行與監控方面的工作流程。

一項關鍵的 AI 工程技能,就是善用程式碼 Agent。你引導它們撰寫程式碼、以及執行非程式碼任務(例如分析資料或管理系統操作)的能力,能讓你完成更多工作。

程式碼 Agent 的快速演進,也意味著這項技能正以極快的速度在演變——比其他頂尖 AI 工程技能還要快。專屬的 Agent(如 Claude Code、Codex 和 Cursor)以及開源 Agent(如 OpenCode 和 Pi),都透過框架和模型的改進而大步向前。因此,要跟上如何使用程式碼 Agent,就需要一個持續實驗、建構和學習的過程。

在訪談數十位頂尖 AI 工程師,並反思我們自己團隊使用程式碼 Agent 的經驗後,我們發現了一個與它們共同建構軟體時,一致的高階工作流程。關鍵步驟如下:

  • 規劃。 這包括 (i) 腦力激盪,其中可能包含研究、實驗以及了解現有程式碼庫(如果有的話),以及 (ii) 撰寫一份包含需求、技術設計和架構的規格書,接著產生執行計畫。你可能還會審查該計畫,以質疑關鍵假設,並檢查安全性、過度工程化和其他漏洞。
  • 執行, 你在這個階段進行建構、測試和驗證,並在 Agent 自主性和人類監督之間取得適當平衡。這涉及 (i) 讓 Agent 建構軟體,並設定校準過的 Agent 自主性等級,以及 (ii) 透過自動化或人工檢查來驗證其輸出。
  • 部署與監控, 在這個階段你 (i) 進行部署,可能透過 CI/CD 管線或額外的人工關卡來把關,以及 (ii) 使用 Agent 來監看日誌、找出問題,並提出和執行改進方案。

這個高階工作流程,與在程式碼 Agent 出現之前,典型的軟體建構流程相似。現在,我們的重點已大幅從程式碼本身,轉移到決定要建構什麼、設計架構、撰寫規格書以及驗證輸出。

每個步驟的持續時間在不同專案間可能差異很大,而且步驟可以被省略。例如,一個綠地(指從頭開始建構)原型專案的規格書,可能只需在快速撰寫的提示中粗略描述;而一個擁有許多使用者的棕地(指既有)專案,其規格書可能需要花費更多心力來撰寫和驗證。此外,這個工作流程具有高度迭代性,熟練的開發者知道,當後續步驟的回饋出現時,何時應該回到先前的步驟。例如,如果驗證失敗,他們知道如何引導 Agent 重新建構並修正錯誤;或者,如果監控發現問題,他們知道如何讓 Agent 更新系統並重新部署。

為了在這個工作流程中有效使用程式碼 Agent,關鍵技能包括:

  • 引導工作流程
  • 賦予 Agent 自主性
  • 審查工作成果
  • 自訂 Agent 及其環境
  • 程式碼 Agent 基礎

引導工作流程。 你知道如何駕馭上述工作流程的每個步驟。這包括決定每個步驟要投入多少人力與 Agent 資源,以及何時該回到先前的步驟進行迭代。這需要深入理解速度、成本、技術風險和人力投入之間的取捨,以便決定要事先進行多少研究和規劃、何時保留對關鍵工作的人類主導權、如何選擇架構、要在規劃文件(如規格書)中寫入多少細節,以及如何將工作分解成可驗證的步驟。

賦予 Agent 自主性。 在將程式碼 Agent 應用於工作流程的各個步驟時,你選擇自主性的等級:你是要全程監看並與它互動式地來回溝通,還是將更大塊的工作委派給它?何時該設定一個明確的目標,讓它自行循環直到成功?此外,你必須仔細為 Agent 管理上下文。隨著建構過程進入不同階段,你會校準何時確保關鍵學習、使用者回饋和假設——包括在建構過程中改變的假設——都被記錄下來,供 Agent 在後續使用。此外,你會決定何時設置多個 Agent 來平行處理分解後的任務——無論是透過人類或更高層級的 Agent 來協調這些其他 Agent——以及如何管理跨多個並行 Agent 會話的人類注意力。你也知道如何安全地運行 Agent,適當地設定權限和把關動作,讓開發能快速進行,同時限制洩漏、資料遺失或其他損害的風險。

審查工作成果。 程式碼 Agent 的輸出是不確定的。我們無法預先知道它會產生什麼好點子,以及它會引入什麼錯誤。審查和驗證輸出是確保你獲得預期結果的關鍵步驟,如果沒有,則需重新引導 Agent。你將設計與任務相匹配的測試和驗證,並根據需要應用行為驗證和功能驗證。你可能還會測試使用者流程,或許讓 Agent 提供螢幕截圖作為成功或失敗的證據。對於質化/行為評估,可以使用評估集,或許搭配 LLM-as-a-judge(以 LLM 作為評審)。

你還需要決定這些測試中有多少應該自動化。某些工作流程會讓所有測試和驗證完全自動化,以便 Agent 能檢查自己的工作,並知道何時成功完成任務。你必須評估這些測試,確保它們符合你的目標,如果不符合,則需進行調整。此外,你會使用 Agent 程式碼審查,並執行 AI 驅動的安全性和架構稽核。當 AI 審查不足時,你會審慎地插入人工對程式碼行為的審查(以及較少情況下,對程式碼本身的審查),同時探索如何進一步自動化此審查流程。最後,你驗證部署,並能使用 Agent 來操作監控和事件管理。

自訂 Agent 及其環境。 你更新 Agent 及其工作環境的能力,能讓你的 Agent 有效率地取得所需的上下文、存取工具,並正確且高效地進行建構。你知道如何整合 Agent 技能、外掛程式和 MCP 伺服器。有時,當它們不再必要時(例如,當新模型使舊技能變得過時),你會將它們移除。你可以使用鉤子(hooks)來自動化開發過程中可重複的部分,例如觸發自動化程式碼審查或 CI/CD 管線。你也可以維護 Agent 的工作環境:更新常駐上下文(例如 AGENTS.md 或 CLAUDE.md),加入關於程式碼庫、關鍵架構假設、程式碼風格和資料存取模式的資訊。你知道如何在多個會話和並行 Agent 之間保存狀態,並隨著時間累積 Agent 的學習成果,或許透過在運行後進行回顧,來記錄哪些方法有效、哪些無效。你也知道如何建立一致的慣例和結構,讓你的程式碼庫對 Agent 來說易於導航,以及如何偶爾清理 Agent 產生的技術債。當你在團隊中工作時,你會考慮如何協調不同開發者 Agent 之間的上下文。

程式碼 Agent 基礎。 最後,為了在整個過程中做出良好的決策,你對程式碼 Agent 的運作方式有很好的理解:它們如何執行程式碼庫搜尋/檢索、如何管理它們的上下文視窗、不同的操作(如添加工具呼叫、MCP 伺服器等)如何影響上下文、Agent 和子 Agent 如何互動,以及 Agent 是如何透過將框架包裝在 LLM 周圍來建構的。這使得 Agent 不再那麼像個黑盒子,並幫助你識別失敗模式,例如將簡單的解決方案過度工程化、因 Agent 缺乏明確的驗證過程而失去嚴謹性、未能達成目標,或 Agent 的行動可能導致檔案或生產資料被破壞。這也幫助你推理 Agent 的狀態,並透過給予它正確的指示或上下文來引導它。而在監控運行時,這種理解能讓你更好地察覺 Agent 何時偏離軌道,需要你的介入。

我發現社交媒體上對於如何使用程式碼 Agent 的描述往往過於簡化。例如,讓 Agent 自主運行數小時並消耗數百萬甚至數千萬個 token 有時確實有用。但目前,超長程任務的實際效用——尤其是相對於其成本——已被過度放大。相反地,大多數有效的程式碼 Agent 使用是一個複雜、高度迭代的過程,而能夠以高超的判斷力進行干預,會帶來更好的結果。

你使用程式碼 Agent 的技能將使你成為一個有效率的建構者。這也讓你準備好去引導整體的建構過程。我將在未來的一篇文章中對此進行更多說明。

一鍵儲存

使用 YouMind AI 深度閱讀爆款文章

保存原文、追問細節、總結觀點,並在一個 AI 工作空間裡把爆款文章沉澱成可複用筆記。

了解 YouMind
寫給創作者

把你的 Markdown 變成乾淨的 𝕏 文章

圖片上傳、表格、程式碼區塊,往 𝕏 上手動重排太痛苦。YouMind 把整篇 Markdown 一鍵轉成乾淨、可直接發佈的 𝕏 文章草稿。

試試 Markdown 轉 𝕏

更多可拆解樣本

近期爆款文章

探索更多爆款文章