2025 年 2 月,Andrej Karpathy 將「氛圍編碼」描述為一種實務:用自然語言表達意圖,幾乎不審查就接受 LLM 的修改,讓程式碼成長到超出自己平常的理解範圍。這種方式為個人專案和原型開發帶來了驚人的速度。
一年後,他觀察到 Agent 的能力已大幅進展,並提出「Agentic Engineering」(代理工程)作為這種演進實務的首選名稱:協調多個 Agent,同時對架構和流程保持強大的人類監督。如他所說,目標是在不犧牲軟體品質的前提下,取得 Agent 帶來的槓桿效益。
這個區別很重要。氛圍編碼很適合單一使用者處理低風險的個人工作,但一旦有其他使用者依賴它的產出,就會迅速累積隱藏的技術債、安全漏洞和可維護性問題。Agentic Engineering 保留了現代 Agent 的速度與槓桿,但將一切錨定在清晰的結構、可追溯的產出以及人類的問責制度上。
Agentic Engineering 的工作流程
從粗略的意圖出發,與 AI 進行設計對話,同時將功能記錄到設計會議筆記中,說明功能如何拆解成各個元件。一旦設計感覺穩固,就將高層觀點和元件對應圖捕捉到一個設計層級結構中(也就是人們展示 Obsidian「大腦」圖時顯示的東西)——一個可導航的結構,讓你和 Agent 都能方便存取周邊脈絡、相關決策和依賴關係。這也是放置設計圖表的地方,例如 UML(通用模型語言)、程式碼或使用者互動流程,以及連結到架構決策記錄(ADR),用來釐清元件之間的關係。
對於每個模組或最小的功能區塊,在 LLD 內建立一個專注的 spec.md,定義精確的行為、函式簽名、邊界案例、測試期望和整合點。利用整個結構作為設計脈絡提示,讓 AI 建立一個直接可追溯回 Wiki 頁面和規格的任務層級結構。接著逐項任務實施,讓 Agent 遵循相關的 spec.md 作為合約。然後執行驗證關卡、部署、觀察,並隨著需求演進更新這些活頁產出。

實際範例:每日備份驗證工具
想像一個小型的、生產等級的 CLI 工具,用來驗證每日 S3 備份,並在失敗時傳送 Slack 警報。
從粗略目標開始:「我需要一個可靠的東西,每天檢查我的備份是否健康。」然後與 AI 進行架構對話,以找出需求和邊界案例:
- 在實務中,S3 備份有哪些實際的失敗模式?
- 我們到底該驗證什麼(新舊程度、檔案數量、大小、成功率),合理的閾值是什麼?
- 在本機開發和生產 IAM 角色之間,設定檔和機密該如何處理?
- 日常使用中,哪些 CLI 命令和輸出格式最有用?
- 對一個排程每日執行的工具來說,哪些非功能需求最重要?
這些對話釐清了範圍,並協助將工具拆解成核心元件:具備重試邏輯的 S3 中繼資料擷取、驗證規則引擎、通知系統、設定載入器、CLI 介面、結構化日誌,以及錯誤處理。
設計明確後,你將高層觀點和元件對應圖記錄到設計層級 Wiki 中,每個頁面都有版本控制且可連結。

Wiki 為未來的讀者提供了平面文件無法提供的周邊脈絡。作為同一份設計工作的一部分,你為每個模組在子 LLD 層級建立一個專注的 spec.md。以下是 S3 中繼資料擷取器的合約。

這個 spec.md 就是你交給 Agent 的合約,例如:「完全按照 spec.md 在 s3_client/ 目錄中實作,遵循專案標準,並包含全面的測試。」有了 Wiki 和模組規格後,你提示 AI 直接從中生成任務層級結構。每個項目都可以追溯回一項功能需求,以及定義其合約的規格。

接著逐項任務進行實作,每項任務都連同其對應的 spec.md 合約交給 Agent。以下是在實務中產生的結果:一次排程執行捕捉到一個較短的備份集,並觸發了警報。

執行結束時傳回非零值,因此 Cron 工作會注意到,並觸發警報,最終出現在 Slack 中。

警報攜帶了值班工程師所需的情境規則:哪項檢查失敗、發現了什麼、預期是什麼、以及是哪個備份集。
這種分層方法的優點
- Agent 負責實作量,而人類在每一層掌握架構和品質。
- Wiki 提供專案層級的可發現性和決策,而 spec.md 檔案在不明確影響高層設計的情況下,提供精確的模組層級合約。
- 需求和決策直接從 Wiki 頁面和規格流入任務和程式碼。
- 變更從活頁設計產出開始,而不是反向工程程式碼庫。
- 清晰的關注點分離支援平行工作、入職和稽核。
- T 型專業人員以廣度導航、以精準提問,而 Agent 按需提供深度,無需任何人記住整個系統。
氛圍編碼仍然是探索和快速個人原型開發的絕佳模式。Agentic Engineering 則是將同樣的對話力量引導到其他人可以信任和維護的系統中的方法。
T 型專業人員的角色
這個工作流程對 T 型專業人員尤其強大:在應用程式領域擁有廣泛知識,並能在需要時深入鑽研的工程師。
因為你不需要在腦中隨時保持整個應用程式完整、最新的心智模型。Agent 可以承載那份深度,並在需要時重新解釋任何部分,只要它能從 Wiki、spec.md 檔案和對話歷史中獲得正確的脈絡。
你需要的是知道該找什麼、在哪裡找的能力,以及持續提出精確問題直到你理解當前工作的具體項目的紀律。T 的廣度部分給你了系統的地圖;AI Agent 則支援鑽研當前重要的模組、邊界案例或整合點所需的技能。只要你問,Agent 就會提供詳盡的細節。
這將人類的角色從「我必須隨時理解一切」轉變為「我知道如何在正確的高度導航、提問和驗證。」這就是 Agentic Engineering 真正的技能。





