雖然我仍然有些懷疑,但我在日常開發(fā)工作中使用GenAI的經(jīng)歷促使我開始更開放地思考我認為可能的事情。AI將以一些非?;镜姆绞礁淖冘浖_發(fā),既有好處也有壞處。讓我們先從積極面開始談起。
結(jié)束重復(fù)性工作
開發(fā)者花費了大量時間在諸如語法和標(biāo)點符號等細節(jié)上。這些大部分可以(也應(yīng)該)消失。他們將不再翻閱手冊或拼湊代碼交換中的片段,而是描述一個期望的結(jié)果并獲得格式完美的代碼作為回應(yīng)。大型語言模型(LLMs)還可以檢查現(xiàn)有代碼以發(fā)現(xiàn)打字錯誤、標(biāo)點錯誤和其他讓開發(fā)者煩惱的細節(jié)。
重新定義框架
像Spring、Express.js和Django這樣的軟件框架通過抽象掉軟件開發(fā)的平凡方面,設(shè)置一致的指導(dǎo)方針并為常見功能提供預(yù)寫代碼,帶來了巨大的生產(chǎn)力提升。生成式AI將通過創(chuàng)建樣板代碼、自動化重復(fù)任務(wù)和建議代碼優(yōu)化來增強它們的價值。AI還可以幫助將框架組件定制化到特定項目。
全能型開發(fā)者的崛起
許多開發(fā)者的專長是他們在特定語言上的專業(yè)知識。當(dāng)機器可以吐出任何語言的代碼時,Python或Ruby的熟練程度就不那么重要了。類似地,像測試和代碼優(yōu)化這樣的專門后端技能將迅速轉(zhuǎn)移到生成式AI模型上。最珍貴的技能將是機器不擅長的,如構(gòu)建引人入勝的用戶界面、將用戶需求轉(zhuǎn)化為規(guī)格和發(fā)明新的方式來支持客戶。軟件“詩人”,或者那些構(gòu)想代碼能實現(xiàn)什么的人,將成為焦點。
測試的革命
生成式AI是為軟件測試而生的。開發(fā)者編寫代碼,而機器人可以創(chuàng)建任意多的測試腳本。最近的IDC調(diào)查發(fā)現(xiàn),生成式AI最被廣泛期待的兩大好處是軟件質(zhì)量保證和安全測試。這將顛覆DevOps實踐中的持續(xù)集成/部署,并使許多測試專家尋找新的工作方向。
加強版的公民開發(fā)
當(dāng)前的低代碼/無代碼開發(fā)工具已經(jīng)很不錯了,生成式AI將使它們更上一層樓。盡管低/無代碼具有自動化的優(yōu)雅性,但它仍然需要人們在白板上拼湊工作流程,然后再提交給軟件。將來,他們可以給模型一個手繪草圖,描述期望的工作流程,并在幾秒內(nèi)得到必要的代碼。
AI并不是萬能的
盡管充滿希望,生成式AI不應(yīng)被視為靈丹妙藥。考慮這些潛在的缺點。
過度測試的風(fēng)險
因為模型可以快速生成測試,我們可能最終會有比需要的更多的測試。過度測試是軟件開發(fā)中的一個常見問題,特別是在以團隊生成的測試數(shù)量來衡量績效的組織中。進行過多的重復(fù)
或不必要的測試會減緩項目進度,并在管道更上游產(chǎn)生瓶頸。當(dāng)AI能夠推薦何時移除測試時,我們將看到開發(fā)者的巨大解放——這種生成式AI的前景讓我對未來感到興奮。
技能退化
有句話常被錯誤地歸功于比爾·蓋茨:“我總是選擇一個懶惰的人來做一項艱難的工作,因為他會找到一種簡單的方法去做。”雖然這句話的出處不明,但情感是有效的。懶惰的人找到了避免艱苦工作的捷徑。生成式AI對懶惰的開發(fā)者來說是一種誘惑。它可能導(dǎo)致產(chǎn)生臃腫、效率低下和性能不佳的代碼。它可能扼殺使偉大的開發(fā)者如此有價值的創(chuàng)新。記住,生成式AI編寫代碼是基于現(xiàn)有的模式和數(shù)據(jù)。這可能限制了開發(fā)者的創(chuàng)新潛力,他們可能不會考慮更多超出常規(guī)的解決方案。
信任赤字
生成式AI的好壞取決于用來訓(xùn)練模型的數(shù)據(jù)質(zhì)量。質(zhì)量差的數(shù)據(jù)、訓(xùn)練的捷徑和糟糕的提示工程可能導(dǎo)致AI生成的代碼不符合質(zhì)量標(biāo)準、存在缺陷或無法完成任務(wù)。這可能導(dǎo)致組織對生成式AI的質(zhì)量失去信心,并錯過其許多好處。
現(xiàn)在的關(guān)鍵問題:AI會讓軟件開發(fā)者過時嗎?
盡管一些引人注目的評論家這樣建議,但歷史上沒有這樣的先例。從高級語言到面向?qū)ο蟮娇蚣艿募夹g(shù)進步不斷提高了開發(fā)者的生產(chǎn)力,但需求只增不減。生成式AI可能會對低端基礎(chǔ)編碼技能的市場產(chǎn)生影響,但更大的影響將是將整個行業(yè)提升到價值鏈中做得不是很好的事情:創(chuàng)新。記住,生成式AI模型是基于已知的內(nèi)容訓(xùn)練的,而不是可能的內(nèi)容。我不指望機器很快就能設(shè)計出革命性的用戶界面或構(gòu)想出一個Uber。
然而,開發(fā)者在他們的職業(yè)生涯中不會再看到這樣的變革。與其像我最初那樣對抗機器,不如順應(yīng)潮流。消除構(gòu)建軟件的大部分繁瑣工作的前景應(yīng)該讓每個人都感到興奮。某些功能可能消失的風(fēng)險應(yīng)該成為行動的動力。將業(yè)務(wù)需求轉(zhuǎn)化為優(yōu)雅且高性能的軟件的高質(zhì)量開發(fā)者將始終有很高的需求。使提升你的技能成為你的使命。
企業(yè)網(wǎng)D1net(r5u5c.cn):
國內(nèi)主流的to B IT門戶,同時在運營國內(nèi)最大的甲方CIO專家?guī)旌椭橇敵黾吧缃黄脚_-信眾智(www.cioall.com)。同時運營19個IT行業(yè)公眾號(微信搜索D1net即可關(guān)注)。
版權(quán)聲明:本文為企業(yè)網(wǎng)D1Net編譯,轉(zhuǎn)載需在文章開頭注明出處為:企業(yè)網(wǎng)D1Net,如果不注明出處,企業(yè)網(wǎng)D1Net將保留追究其法律責(zé)任的權(quán)利。