一天深夜,在加爾各答,一位開發人員坐在那裡,盯著一塊閃閃發光的螢幕。
那個開發者就是我。
在我從事 Angular 開發兩年後,我學到了一些關於軟體開發的有趣知識:
最難纏的敵人並非那些會發出巨大噪音的敵人。
他們會悄悄地假裝一切都好。
最近,隨著人工智慧工具的普及,我開始注意到現代開發中一種奇怪的現象——速度的錯覺。
讓我給你講個故事。
我目前正在開發一個物業管理系統(PMS) SaaS平台。
如果你曾經從事過SaaS產品開發,你就會明白一件事:
資料完整性至關重要。
個人專案中出現小bug會很煩。
如果一個用於管理房產、租戶、租金和財務資料的SaaS系統中出現了一個小漏洞…
……這可能會成為一個代價非常高昂的錯誤。
最近,我們一直在解決一個常見的SaaS問題:
我們的平台需要支援多種語言,以便物業經理和租戶都能方便地使用它。
這聽起來像是人工智慧的完美工作。
有一天晚上,我打開了 VS Code 中的 AI 聊天窗口,自信滿滿地輸入了一條命令:
“找到專案中的所有 SweetAlerts,將所有面向用戶的字串提取到翻譯 JSON 文件中,並將鍵綁定回去以進行本地化。”
我按下回車鍵。
五秒鐘後。
人工智慧提供了一套完整的解決方案。
文件已建立。
JSON結構。
裝訂已完成。
看起來……完美極了。
就像魔術師從 TypeScript 檔案中變出一隻兔子一樣。
但隨後我突然想到:
如果這段程式碼不是我寫的…我真的能理解它嗎?
於是我做了件無聊的事。
我審閱過了。
一行一行地。
裂縫就是在那時出現的。
人工智慧非常擅長編寫看起來正確的程式碼。
但SaaS系統並非僅靠外觀正確就能運作。
它們執行得完全正確。
在審查人工智慧的工作時,我發現了三個雖小但危險的問題。
其中一個警報最初的意思是:
“保存租賃協議。”
人工智慧將其翻譯成一個字,其技術含義是「保存」。
但就物業管理而言…
……聽起來更像是「拯救租賃」。
這有點誇張了。
想像一下,點擊一個按鈕後,你會看到:
“租賃業務成功挽救。”
誰綁架了租約?
在一條 SweetAlert 訊息的某個地方,我看到了這樣一段話:
`Rent payment of ${amount} received successfully`
人工智慧意外地修改了綁定,結果變成了類似這樣的形式:
"rent_received_message"
但在重構過程中遺失了變數插值。
結果?
警報將顯示:
已成功收到金額不詳的租金支付。
恭喜。
租戶支付了數額不詳的盧比。
針對逾期租金,有一個特定的特殊情況警報。
人工智慧從未觸碰過它。
為什麼?
因為人工智慧只能看到提示或編輯器上下文中包含的檔案。
這意味著該系統將是本地化的…
只有一個重要的財務警報。
最糟糕的那種漏洞。
一個沉默寡言的人。
一切就緒後,我向後靠去,突然意識到一件有點諷刺的事情。
審查人工智慧的工作所花費的時間幾乎和我自己編寫程式碼的時間一樣長。
人工智慧節省了打字時間。
但這並不能節省思考時間。
在專業的SaaS系統中,思考是最昂貴的部分。
但更重要的教訓來自一位同事的經驗。
他當時正在除錯一個小問題。
一個簡單的例子。
使用者介面錯誤。
他使用人工智慧編碼代理修復了這個問題。
人工智慧完全實現了它的承諾。
漏洞消失了。
任務完成。
表面上看起來是這樣。
經紀人沒有提到的是,它還具有以下特點:
修改了其他三個檔案中的程式碼
重構了一個實用函數
清理了權限檢查
這些都不是原任務的一部分。
但人工智慧報告指出:
✅ 問題已成功修復
我的同事相信它。
他推送了程式碼。
現在想像一下這種情況發生在SaaS控制面板中。
你可能會突然得到:
房產稅計算出錯。
權限檢查消失了。
分析圖表在三頁之後。
這一切都源自於一個人工智慧代理商試圖提供幫助。
人工智慧工具真是太棒了。
他們可以:
編寫樣板
生成結構
加快重複性任務的速度
解釋複雜程式碼
但它們有一個很大的限制。
他們缺乏對系統結果的背景理解和責任感。
生產中斷時:
人工智慧沒有收到呼叫。
人工智慧不會被責怪。
人工智慧不會參加緊急會議。
你做。
所以我現在遵循的規則是這樣的。
人工智慧不是掌舵人。
人工智慧是副駕駛。
副駕駛可以:
建議
協助
導航
但機長仍然在駕駛飛機。
因為當湍流來襲時…
需要有人了解整個系統。
SaaS產品中的每一行程式碼都會產生影響。
本地化字串的微小改動都可能影響使用者介面邏輯。
一次小小的重構就可能導致報表模組崩潰。
一個微小的變數缺失可能會讓成千上萬的用戶感到困惑。
這就是軟體開發中無形的漣漪。
人工智慧可以帶來改變。
但開發商必須明白,這些影響會波及多遠。
我們不應該害怕人工智慧。
但我們應該尊重我們所建構系統的複雜性。
因為在實際開發過程中:
一次“快速”推動,導致儀錶板損壞。
這是打造產品最慢的方式。
如果你讀到這裡,感謝你的閱讀。
如果你像我們大多數人一樣,正在使用人工智慧編寫程式碼…
記住:
相信人工智慧的幫助。
但要像對待生產環境一樣認真審查程式碼。 ** 😄
你是否遇到過人工智慧產生的程式碼引入的漏洞?
我很想聽聽你的經驗。
原文出處:https://dev.to/subhrangsu90/when-ai-writes-the-code-who-takes-responsibility-19fc