Frontier · The Batch / DeepLearning.AI

循環工程:構建優秀軟件的三個關鍵循環

吳恩達 (Andrew Ng) 描述了建立 AI 原生軟體的三個相互關聯的循環:代理編碼循環、開發人員回饋循環和外部回饋循環。

本文由英文原文翻譯。

親愛的朋友們,

「循環工程」在 Boris Cherny(Claude Code 的創建者)和 Peter Steinberger(OpenClaw 的創建者)提及後在社交媒體上瘋傳,成為熱門流行語。循環現在是我們如何讓人工智慧代理進行詳細迭代以建立軟體的關鍵部分。在這封信中,我想分享我用於建立 0 到 1 產品的 3 個關鍵循環,如下圖所示。這些循環不僅指導我如何建立軟體,還指導我如何決定建立什麼軟體。

循環工程:構建優秀軟件的三個關鍵循環

**代理程式編碼循環:**給定產品規格和可選的一組評估(即用於衡量效能的資料集),我們可以讓 AI 代理程式編寫程式碼、測試其工作並不斷迭代,直到程式碼沒有錯誤並滿足其規格。這種閉環的想法在去年年底開始興起,它改變了遊戲規則,使編碼代理能夠在沒有人工幹預的情況下更長時間地高效工作。例如,週末,我正在為我的女兒建立一個應用程式來練習打字,我的編碼代理可以輕鬆地工作大約一個小時,使用網路瀏覽器多次檢查它構建的內容,然後再回复我,而不需要我的干預。

工程循環執行速度很快。每隔幾分鐘,編碼代理可能會建立並測試軟體的新版本。我經常聽到開發人員正在尋找新方法來設計更有效的工程循環。這是一個活躍的發明領域!

開發人員回饋循環: 在此循環中,開發人員檢查當前產品並引導編碼代理進行改進。去年,許多開發人員(包括我)充當我們編碼代理的 QA(品質保證)職能,手動查找錯誤,然後要求代理修復它們。但是,隨著編碼代理更能夠測試自己的程式碼,我們需要花在這個功能上的時間顯著減少。這使我們能夠做出更高層級的產品決策,例如提供哪些關鍵功能、UI 需要改進的地方等等。

開發人員回饋循環在數十分鐘到幾小時之間的時間間隔內運行 - 這是開發人員審查產品並提供回饋的頻率。就打字應用程式而言,我對視覺設計、她在學習時可以解鎖哪些貓服裝(她喜歡貓)以及成人登錄並引導孩子的學習體驗的用戶流程改變了幾次想法。

當開發人員對要建立的內容有清晰的願景時,將該願景轉化為編碼代理要實現的規範仍然需要做大量工作。此外,在開發人員看到實現後,他們可能會更新(或可能澄清)規範以引導其實現他們想要的目標。如果您發現系統反覆遇到某些問題,那麼為代理商建立一組評估就變得很有用。

人工智慧原生團隊越來越多地使用人工智慧來幫助塑造產品方向,例如,自動收集和分析使用數據、總結書面和口頭客戶回饋或進行競爭分析。然而,對於我參與的幾乎所有產品,我認為人類比目前的人工智慧系統具有顯著的上下文優勢——我們比人工智慧系統更了解用戶和產品必須運行的上下文——因此人類發揮關鍵作用。許多人將人類的貢獻描述為“品味”,但我更願意將其視為人類具有上下文優勢,因為這為我們提供了一條更清晰的道路來幫助人工智慧系統變得更好。這也說明了為什麼此步驟無法自動化:只要人類知道人工智慧不知道的東西,就需要人機互動將這些知識注入系統。

**外部回饋循環:**這包括廣泛的策略,例如向一些朋友尋求回饋、向 alpha 測試人員啟動或透過 A/B 測試將程式碼投入生產。這些策略通常很慢,很少會花費不到​​幾個小時,有時需要幾天甚至幾週。這些數據告知開發人員願景,開發人員願景進而繼續推動詳細的產品規範,進而推動編碼代理。

隨著程式設計代理加速軟體開發,更多的工程師開始扮演部分產品管理的角色。對於許多正在成長為這個角色的工程師來說,最困難的部分是塑造產品願景並在建構(彌合願景和規範之間的差距)和獲取用戶回饋以發展願景之間取得平衡。兩者兼顧很重要!

我將在以後的信件中詳細介紹如何做到這一點,但就目前而言,我發現工程師正在發揮更大的作用(就像產品經理和設計師現在做更多的工程工作一樣),這令人鼓舞。

繼續建設!

安德魯

著作權歸原作者及相關權利人所有。如需更正或刪除, 請聯絡參識AI