在前往舊金山的 AI Engineer 活動 之前,我很期待被徹底震撼。話雖如此,我也不禁深思,在今天的軟體開發環境中,我們究竟要如何真正把事情做成。
在 AI 驅動的軟體開發原則上,存在著競爭壓力,促使大家必須取得一致。作為開發者與技術領導者,我們總是在當下的務實與對未來的願景之間努力取得平衡。
回顧軟體開發的歷史,我們對炒作的集體免疫系統一直是最重要的資產。最安全、最可靠的策略幾乎總是不隨著當前的流行風潮起舞。讓早期採用者去在前沿承受風險,你則等待塵埃落定,然後再採用那些真正經得起實際生產環境考驗的工具。分辨炒作與現實,對各層級的開發者來說都是關鍵能力;從長期來看,傾向於拒絕炒作通常才是最明智的選擇。
在這場 AI 革命中,分辨真實與炒作依然有價值,但我們原本的判斷準則正在失靈,因為這場革命顯然已經到來。然而,即使 AI 輔助開發確實蘊含巨大的實質價值,日常的討論仍然深受炒作驅動。這種聲音既無助又刺耳,一端是極端烏托邦式的情緒,另一端則是冷嘲熱諷式的過度否定,兩者混雜成令人疲乏的噪音。
要從這些噪音中找出真正的訊號,就必須嚴肅檢視究竟什麼改變了,更重要的是,什麼其實沒有改變。
AI 已經永久改寫了我們能產出多少軟體的規則。若只從數量角度看,我們現在幾乎具備產生無限程式碼的能力。但如果你曾花時間維護真實世界的系統,你就知道,原始的程式碼產生能力,往往不是成功真正的阻礙。
實際的價值交付受制於瓶頸點。
這些瓶頸點幾乎總是由複雜且以人為中心的因素所驅動:決策者需要取得共識、跨團隊協作、整合彼此衝突的想法時所產生的摩擦,以及對架構一致性的更高要求。一致性是那個關鍵階段,在這裡,原本龐雜、四散的潛在功能網絡,必須被提煉成一個真正說得通的產品。
在軟體世界裡,多不一定代表更好。事實上,缺乏引導的「更多」,通常只是在加速技術債。我們仍然需要交付精準、聚焦且有意圖的價值。
雖然 AI 在攻克單一瓶頸點方面幫助極大——它可以搭建樣板程式、撰寫測試,或除錯語法——但瓶頸其實不會消失,只是會轉移到別處。如果我們把寫程式速度提升 10 倍,瓶頸就會轉向程式碼審查;如果我們改用 LLM 讓審查更快,瓶頸就會轉向產品對齊與部署基礎架構。限制永遠都會移動。
任何仍以「傳統方式」運作的開發團隊,毫無疑問都正在落後。照我們過去的方式撰寫規格文件,開始顯得完全多餘——那份規格應該直接交給你選定的代理來描述。我們知道,為了眼前的問題,需要在更高層次上協作,讓個別開發者能在不斷重新對齊規格的情況下,完成多輪開發迭代。
在所有人的門檻都被拉高的競爭環境中,如何真正發揮無限程式碼的價值,根本上仍是未解問題。
因為這個瓶頸會不斷轉移,所以會造成一種特定的開發者癱瘓。有時候,為了解決我們今天看到的瓶頸而去打造工具或工作流程,感覺本質上只是權宜之計。
那個揮之不去的念頭總是存在:為什麼要花心力優化這個工作流程,或圍繞這個摩擦去打造系統?我們不如等模型變得更聰明就好。再過六個月,代理之間就會彼此溝通,原生地把這些問題搞定。
這就是預測 S 曲線的陷阱。大約一兩年前,這套邏輯其實還說得通。昨天的一些瓶頸,確實不值得去解,因為下一次模型智慧的大躍進,會讓那些在地優化變得完全無關緊要。針對早期大型語言模型打造高度特化、複雜的包裝層,在下一個基礎模型推出後,往往都是浪費時間。
但我認為,我們現在已經到了這樣一個節點:這套邏輯開始失效,因為我們已經有足夠的時間,集體學會如何與核心 AI 生產力工具協作。目前情況正在趨於穩定——至少暫時如此。我們今天在軟體開發與價值交付上面對的瓶頸,本質上在人的層面就已經相當複雜,而且超出了短期 AI 的能力範圍。
除非是人工超智慧(ASI),否則無法克服真實世界中那些自然且混亂的阻礙。只要 AI 還不能坐在會議室裡,處理利害關係人會議中的政治動態,理解公司的現金跑道,並同理終端使用者在日常生活中的真實挫折,這些瓶頸就仍然會被人類現實所牽制。
沒錯,我們確實已經把一些事情自動化了。大多數事情頂多也只是半自主而已;而如果這些東西存在於一個黑盒裡,老是讓我們意外,而且又無法用可用的方式交接,讓事情持續往前推進,那我們其實並沒有真的打贏那些瓶頸。
基於這個現實,我不認為我們已經到了可以靠放手不管來解決瓶頸的階段。當前主流的科幻想像——把電腦完全、無監督地交給 AI,並把它當作提升生產力的萬靈丹——其實忽略了好軟體是怎麼被打造出來的。
真正的生產力前沿,反而在於直覺化、具有人在迴路中的工作流程。重點是人體工學。
我們需要的是一種環境與指揮中心,讓我們能一眼以人體工學的方式理解整個系統。目標不是把人完全從迴路中移除;而是讓整個迴路順暢到一個程度,使人可以在本質上更高的抽象層次上操作。我們需要能降低協調開發代理所帶來的認知負擔的工具,同時仍然讓我們牢牢掌握主導權。我們需要能輕鬆發出訊號、修正 AI 的方向,並手動排除系統無法理解脈絡的下游阻礙。
當開發者能輕鬆看出代理正在嘗試什麼、只要按下一個按鍵就能引導它,並把這些工作有機地整合進更大的系統架構時,真正的價值才會被釋放。
我們並不會因為等待從頭重構的大型系統設計思維轉變,而獲得多少幫助來擺脫目前的瓶頸。解法是:用我們現在手上已有的工具,去解決今天看得到的摩擦。
是的,模型會變得更好。是的,代理會變得更聰明,而我們做事的方法也會隨著成功與失敗而演進。但我們已經來到當前 S 曲線上一個足夠成熟的位置,足以讓解決今天的摩擦變得極具價值。
要滑向冰球將要去的地方,而不是它曾經在的地方(借用 Wayne Gretzky 的話)。這在 AI 也是一樣。我們完全可以滑向冰球將要去的地方,但不需要假裝冰球現在已經在另一個完全不同的場館裡。今天在 AI 工具上的務實,意味著接受我們當下已經擁有的驚人槓桿,打造真正能發揮它們效用的、具有人在迴路中的人體工學系統,並回到交付精準且一致的價值這件事上。
今天,我們已經能以前所未有的效率,徹底解決昨天的問題。然而,日常的迭代進展與跨越式創新之間的拉扯,整體上仍然是我們必須自己管理的問題。你現在最務實的做法,就是停止等待那個完美的自主系統來替你清除阻礙,並開始調度你手上的工具。今天就打造你自己的指揮中心——也就是那些能讓你高階觀察代理與複雜工作流的介面與工作流程。投資於能讓你有效留在迴路中的工具,而不是試圖把自己工程化地排除在迴路之外。這一輪競賽中真正勝出的開發者,不會是那些擁有最聰明、最少監督代理的人;而是那些打造出最符合人體工學的管理系統的人。
從人仍在迴路中的生產力流程出發,並把下一階段中「在迴路中」的概念持續變動這件事考慮進去,這是合理的。以這種方式為未來設計是合理的,但把今天的問題延後,指望將來某個假設中的未來再來解決,並不實際。
要替你的人、你的團隊,以及你真正有產出的客戶打造,而不是繞著他們、甚至對抗他們來設計。他們比以往任何時候都更有能力。正視這一點,就是我們推動成果前進的方式。
原文出處:https://dev.to/dailycontext/pragmatism-in-an-age-of-infinite-code-and-unavoidable-bottlenecks-1bkd