代理式編碼無疑非常有用,但同時也帶來了許多負面影響,對我們自身、技藝以及彼此間的關係造成了嚴重傷害。我深切感受到這一點,許多人也有同感。然而,每當我試圖解釋到底出了什麼問題時,卻常常語無倫次、跳來跳去。你說什麼?到底哪裡有問題?太多問題了!

好吧,這裡列出四個問題,暫時看不到解決方案——我稱之為代理式編碼的四騎士。

第一,LLM生成的代碼帶有強烈的異味,讓代碼庫對人類極具排斥感。

大型語言模型(LLM)不是人類,它們寫代碼的方式……很不一樣。不是絕對更差,但確實不同。我們很快為此取了個名字——「糟糕代碼」(slop),這個詞毫無疑問帶有負面含義。

對於普通文字,人們似乎普遍認為AI生成的文章充其量平淡無奇,最糟則是侮辱智商。至於代碼,因其工具性質,爭論尚未結束。許多人認為很快我們甚至不必閱讀代碼了。「記住,這是模型最差的狀態,未來會更好。」他們這麼說。

然而,最新一代模型的表現令人驚訝地平淡。它們確實聰明,但似乎正朝著「無法聘用的聰明」而非「激勵人心的聰明」發展。Claude現在以一種完全無法理解的文字沙拉溝通,Astra則用奇怪的競賽式代碼風格寫作,普通人難以理解。糟糕代碼成了LLM輸出的標誌性特徵,而非成長的陣痛。

這對仍想深入代碼庫、保持熟悉感的開發者尤其糟糕,尤其是在團隊環境中。一旦允許代理介入,它們很快就會接管。曾經是人類共享、每個成員都貢獻的空間,變成了AI荒原,人們不願花時間停留。

但如果我們不必在這些糟糕代碼的洞穴中耗費時間呢?為何不當個設計大師,坐在聊天介面前指揮一群忠誠的代理?

第二,工程師與代碼疏離,因而漸漸失去關心。

軟體工程曾是一種相當「動手」的工作。或許不及木工那般,但我們也熱愛自己的工具,無論實體或虛擬。文字編輯器擁有狂熱追隨者,流行的配色主題和程式字體也有粉絲群。分體式鍵盤曾經風靡一時,鍵盤聲音測試影片層出不窮。

我們親手編寫代碼,這自然帶來強烈的成就感和歸屬感。當然,這種感覺因情境而異,但即使只是從積木組裝東西,也會有感覺。IKEA深諳此道!

代理式編碼大幅拉開了工程師與其工作成果之間的距離。這道鴻溝如此之大,以至於我們的動手工具無法跨越。我們不再直接體驗代碼:只需給代理一組模糊指令,然後瀏覽報告。甚至打字都可選擇性省略——你可以一邊開車一邊對手機說話。

因此,我們自然變得疏離,關心減少,與技藝失去聯繫。這表現在缺乏深思熟慮的功能上,缺乏反對意見;表現在治標不治本的修補錯誤上;表現在每天結束時的空虛感。軟體要帶來喜悅,必須蘊含創作者的熱愛。

第三,AI削弱現有技能,阻礙學習,且無法帶來有意義的技能提升。

我認為此刻說去技能化是真實存在的,已不具爭議。許多人報告長期使用AI後,智慧似乎在流失。這很合理:生活中許多事物都是用進廢退,專業技能亦然。是的,你永遠記得怎麼騎腳踏車,我自己也會死前記得如何退出Vim,但其他技能就不一定了。

我曾指出,我們正處於一個歷史異常期。有許多經驗豐富的工程師,花多年時間苦學,現在能以正確方式使用LLM,達到極高生產力。但除非我們弄清楚AI時代的學習機制,這批人才供應不會持久。

一個常見建議是,職涯初期不應使用AI。我完全同意,但必須明白這對整個人類來說並非可行策略。不是每個人都能做到。

我們不能忽視「輕鬆按鈕」的出現,如何徹底改變了學習的動機。而我對人類唯一確定的事,就是他們會追隨動機。

另一個常見反駁是,使用LLM本身也有學習曲線,你只需提升技能,學會下載Markdown文件的細節!我不買帳。學習曲線幾乎不存在。

印刷機或電鋸至少需要一定操作技巧,但這個新奇魔法盒?你不必會讀寫。穴居人也能建立B2B SaaS,準時參加每週播客。如果你認為自訂代理編排工作流程是重要的工程成就,請再等等。

第四,代理削弱工程團隊的社會結構,減少人際溝通,增加自我依賴,阻礙技能表達。

Slack頻道曾經熱鬧非凡。任何橡皮鴨答不出的問題,都會丟進團隊聊天。現在聊天已成昔日影子。大家忙著和代理對話。每個人都有一個魔法夥伴,像迪士尼主角般跟隨左右。它非常聰明,全天候待命,永不向人資告狀。橡皮鴨終於會回話了!

某種意義上,更自主是美德。為何要用無聊的事打擾同事?問題是,幫助他人解決無聊問題正是我們的特色。這是我們建立和維繫關係的方式。你必須親自走過這條路,否則它會被雜草淹沒。

我深信AI大幅減少了人際溝通。現在的團隊聊天多是代理對話串,偶爾有LLM生成的長文,然後謙虛地問「你們覺得怎麼樣?」

代理式編碼也改變了我們看待他人的方式。團隊曾像冒險者隊伍:Git高手、Rust女巫、熱愛機械鍵盤的吟遊詩人。技能表達空間充足,專業多元受到讚賞。

如今,平均團隊由Claude操作者、Codex低語者,以及堅持提交.md文件的AI精神錯亂者組成。「這是John,你一定要看看他的提示詞」這種話從未有人說過。

事實上,沒人想看John怎麼提示。與代理對話有種令人反感且根本不性感的感覺。自己做時還好,別人看了……唉,去聊天室吧。他們的提示詞令人尷尬,代理怪異,就像看別人的TikTok一樣。

所以,我們仍是組織圖上的同儕,卻越來越疏遠。我曾讚美你的Vim技巧和Advent of Code解答。如今你整天提示Claude,我也是。我們還算是團隊嗎?

這就是我的清單。老實說,我不知道該怎麼辦。只能希望我們最終能在這詛咒般的討論中前進。無論AI多有益,我們為此付出了好奇心、工藝和社交連結的沉重代價。

AI的討論將持續,直到士氣回升。

代理式編碼的四騎士代理式編碼的四騎士代理式編碼的四騎士代理式編碼的四騎士代理式編碼的四騎士代理式編碼的四騎士