程式設計師教AI寫代碼,反被取代?谷歌主管:AIGC將在3 年內終結編程

infoq 發佈 2024-03-31T09:38:53.910321+00:00

近日,前哈佛大學計算機科學教授、谷歌工程主管 Matt Welsh 在芝加哥計算機協會的一個虛擬會議上表示,ChatGPT和GitHub Copilot預示著編程終結的開始。當然,我們需要進行徹底的測試,測試是非常非常重要的,這是不會消失的。

作者 | 凌敏、明知山

近日,前哈佛大學計算機科學教授、谷歌工程主管 Matt Welsh 在芝加哥計算機協會的一個虛擬會議上表示,ChatGPTGitHub Copilot預示著編程終結的開始。Welsh 斷言,生成式 AI 將在 3 年內終結編程。


Welsh 認為,由於 ChatGPT 和 Copilot 等技術的出現,編程正處於從人類工作轉變為機器人工作的轉折點。在他看來,程式設計師需要演變成 AI 程序的「老師」——或者產品經理,或者代碼評審人員。他認為這兩個人類角色相對來說不那麼受機器人的影響。「不要指望你的程式設計師職業生涯會一直持續下去,因為機器正在取代這個角色。」Welsh 說道。


據悉,Welsh 曾在谷歌和蘋果公司擔任高級工程職位,他曾在 2023 年 1 月出版的《ACM 通訊》雜誌上就這一話題寫了一篇文章。此外,Welsh 還成立了一家初創公司來證明他的理論。


下面是 Matt Welsh 在芝加哥 ACM 上發言的完整視頻:

https://www.youtube.com/watch?v=qmJ4xLC1ObU

寫代碼是髒活,讓 AI 來做吧


隨著 GitHub Copilot、ChatGPT 等 AI 產品持續火爆,AI 在編程方面展現了極強的能力。在一項新的研究課題中,ChatGPT 嘗試查找示例代碼中的 bug 並給出修復建議。其表現遠超現有程序,成功修復了 40 個 bug 中的 31 個。


擁有如此強大的編程能力,AI 真的會取代程式設計師?Welsh 斷言,生成式 AI 將在 3 年內終結編程。


在 Welsh 看來,「寫代碼是髒活」——所以就讓機器人來做吧。「用你的時間做點別的事情。對於每個人來說,寫電腦程式並不是最好的利用時間的方式。」


Welsh 表示,Copilot 是一款不可思議的產品。「在我敲鍵盤時,Copilot 經常能夠很好地幫我完成我的想法——它能讀出我的想法,比我想像的要多得多。Copilot 極大地提高了工作效率,因為它讓我避免了很多上下文切換。」


Welsh 稱現在的 Copilot「只是一個開始」,只有兩樣東西會阻止 Copilot 變得更好:更多的數據和更多的計算。由於這兩個東西都很充足,所以他認為「在未來的一兩年或三年內,Copilot 沒有理由無法會實現這樣的目標:即你在源文件的頂部輸入幾行代碼,它會把剩下的內容寫出來。」


Welsh 認為「計算機科學註定要失敗。」他說:「我認為這個領域將發生根本性的變化。計算機科學作為一門學科,你認為它的意義何在?它一直都是關於如何將想法轉化為程序。」


他認為,在過去的 60 多年裡,計算機編程在不斷發展,試圖讓人類更容易理解代碼。他將 1957 年的 Fortran 與 1964 年的 Basic 和 2010 年的 Rust 做了對比,他表示,就易用性而言,這三個程式語言之間真的沒有太大區別。


Welsh 表示,「現今人們開發的程序和以前一樣複雜,一樣難以維護,一樣難以理解,一樣充滿了 bug。」是 GitHub Copilot 讓 Welsh 從根本上重新思考計算機科學的意義。「Copilot 從根本上改變了我們寫代碼的方式,至少從我個人的經驗來看,它是一種顯著而深刻的加快開發速度的方式。」

未來的軟體開發團隊是什麼樣子的?


Welsh 還對未來的軟體開發團隊做了一些有趣的預測。基本上,當程式設計師開始被淘汰時,他認為只有兩個角色可以保留:產品經理和代碼評審人員。


在 Welsh 看來,產品經理的角色不會有太大變化。「人類產品經理仍然能夠寫出告訴軟體應該做哪些事情的英文描述——也就是產品需求文檔(PRD)。這是產品經理已經在做的事情,對吧?」


不同的是,在不久的將來,我們不再需要把 PRD 交給工程團隊,然後等上六周左右,等他們把需求實現完畢,Welsh 說:「你只需要把 PRD 交給 AI,AI 在幾秒鐘內就可以吐出代碼。」


當然,生成式 AI 在早期階段有一個缺點,即它們的輸出不一定是正確的。因此,Welsh 看到了人類代碼評審人員能夠在這方面起到的作用。


「我們怎麼知道代碼是否有效?我們怎麼知道它是否足夠好?我們怎麼知道它是對的?當然,我們需要進行徹底的測試,測試是非常非常重要的,這是不會消失的。所有 CI/CD 相關的東西,以及我們在過去幾十年裡積累的一切,在這裡仍然是有用的。」


他認為,具有編程能力的人類將承擔「評審和閱讀 AI 生成的代碼,並確保它們能夠正常運行以及做正確的事情」的任務。


至於程式設計師,以及那些即將加入這一領域的人,他們將需要成為 AI 的老師,而不是程式設計師本身。Welsh 說:「這是關於如何教會 AI 寫代碼,而不是自己寫。」


參考連結:

https://thenewstack.io/coding-sucks-anyway-matt-welsh-on-the-end-of-programming


本文轉載來源:

https://www.infoq.cn/news/qR0xQrafpDi92bTPal6t

關鍵字: