作者:王強,張雅文
生成式 AI 技術(shù)正在為開發(fā)工作提供更加智能、高效的輔助。根據(jù) InfoQ 最新調(diào)查顯示,在采用生成式 AI 技術(shù)輔助編程的過程中,大多數(shù)開發(fā)者會使用多種 AI 編程助手結(jié)合的方式提高編程效率。在開發(fā)者高頻使用的眾多編程助手中,Amazon CodeWhisperer 是為數(shù)不多對于開發(fā)者完全免費開放使用的。那么,這款編程助手的表現(xiàn)究竟如何?
InfoQ 特別邀請了 20 余家公司的研發(fā) 1 號位、技術(shù)管理者暢談他們使用 Amazon CodeWhisperer 工具改變開發(fā)工作方式的體驗、收獲和期待改進的部分。
這些見解將為我們揭示 AI 編程輔助工具在現(xiàn)代開發(fā)中的實際應(yīng)用和前景。InfoQ 將訪談內(nèi)容匯總成文,希望籍此帶動更多從業(yè)者了解、使用編程輔助技術(shù),推動生成式 AI 技術(shù)的普及與發(fā)展。
AI 編程助手的代碼生成和補全功能最受開發(fā)者關(guān)注
雖然基于 AI 技術(shù)的編程輔助工具才剛剛誕生不久,但這類工具的迭代速度非常迅速,提供的功能可謂日新月異。那么,對于開發(fā)者而言,他們更重視、更多使用編程輔助工具的哪些能力來提升開發(fā)效率呢?
軟件開發(fā)過程中經(jīng)常會出現(xiàn)漏洞。當(dāng)前的靜態(tài)掃描方法的漏檢率很高,希望 Amazon CodeWhisperer 的代碼掃描功能可以大幅降低漏檢率,從而顯著降低企業(yè)在這方面的成本。
——扛造科技 CEO 陳冰
我的體會是比較深入的。我在四個月的深度使用中最滿意 Amazon CodeWhisperer 根據(jù)上下文推測后續(xù)代碼的準(zhǔn)確度,而且工具提供的備選推測還可以幫助打開工程師的思路。
——蜂量科技 CEO 張子天
我經(jīng)常使用代碼補全功能,Amazon CodeWhisperer 在沒有很多代碼嵌套集成的環(huán)境中補全代碼的功能是很好用的。
——某推薦算法公司 高級架構(gòu)師 崔正文
Amazon CodeWhisperer 提供的根據(jù)評論和注釋生成代碼的效果非常不錯,速度令人滿意。
——智教互聯(lián)公司 工程師 大聰
希望 Amazon CodeWhisperer 可以根據(jù)不同的場景去做性能優(yōu)化。比如:注釋生成代碼環(huán)節(jié),是可以接受等待的,甚至是去喝一杯咖啡。但是代碼補全環(huán)節(jié),需要的是即時的速度體驗。是否可以針對不同的場景使用不同的模型?
——極客邦科技 副總裁 楊攀
總體而言,高級開發(fā)者最常用、最關(guān)注的功能是代碼補全和代碼生成。理想的編程輔助工具應(yīng)該能夠根據(jù)已有代碼快速生成準(zhǔn)確的補全結(jié)果,或根據(jù)提示詞獨立生成一段完整的、可以正常工作的程序代碼。能夠在這兩項功能上提供較為完善體驗的產(chǎn)品,更容易獲得開發(fā)者的青睞。
易用性是決定 AI 編程工具成敗的關(guān)鍵
易用性是決定軟件成敗的關(guān)鍵之一,面向程序員的專業(yè)編程輔助工具更需要良好的易用性。那么本次受訪的嘉賓對 Amazon CodeWhisperer 提出了哪些易用性方面的建議呢?
一些受訪嘉賓很重視工具快捷鍵的易用性:
Amazon CodeWhisperer 的一些功能實現(xiàn)快捷鍵可以提供更多選項,或者自定義能力,從而適應(yīng)開發(fā)者的習(xí)慣用法。
——某大型互聯(lián)網(wǎng)公司 資深技術(shù)專家 右軍
開發(fā)者更希望輔助工具直接生成代碼框架,而不是簡單的代碼片段:
希望 Amazon CodeWhisperer 在根據(jù)注釋或提示生成代碼時,可以一次生成一整個框架,方便程序員在其中一點點修改,而不是一次生成一小部分。
——曠視科技 團隊 leader 蔣承知
我還希望生成的代碼框架可以在插件的輔助下快速填充內(nèi)容,使工程師可以便捷地生成每個功能模塊。建議工具預(yù)置一些場景的框架代碼,供開發(fā)人員按需選擇。
——曠視科技 團隊 leader 蔣霆
在測試中,注釋語言的理解力有較大進步空間,尤其具有抽象屬性的對象更難用自然語言形容,而用數(shù)學(xué)語言形容復(fù)雜抽象事物形成注釋,不如自行編程。但 Amazon CodeWhisperer 的代碼糾錯、安全審查是亮點,這 2 個功能點可在不打擾現(xiàn)有 DevOps 流程的同時融入補充。
—— 知道創(chuàng)宇 總經(jīng)理 王利偉
同樣,經(jīng)驗豐富的程序員也會重視新工具的學(xué)習(xí)曲線:
希望 Amazon CodeWhisperer 提供一些視頻引導(dǎo),或者快速上手實踐和案例,幫助程序員解決復(fù)雜一些的需求和任務(wù)。為 AI 編寫提示詞是比較專業(yè)的操作,如果能有新手引導(dǎo)會大大降低使用門檻。
——互聯(lián)極簡網(wǎng)絡(luò)科技成都有限公司 CTO 馬力遙
希望 Amazon CodeWhisperer 能為開發(fā)運維人員日常使用到的一些腳本命令提供提示,甚至可以用自然語言交互直接調(diào)用。
——微鯉科技 技術(shù)總監(jiān) 樊偉偉
目前,編程輔助工具尚處于發(fā)展初期,產(chǎn)品易用性存在很多的改進空間,但是 Amazon CodeWhisperer 擁有強大的注釋語言理解力和代碼糾錯、安全審查功能,這些功能點可以在不打擾現(xiàn)有 DevOps 流程的同時融入補充,同時,Amazon CodeWhisperer 的提示詞編寫操作比較專業(yè),可以幫助開發(fā)人員快速編寫出應(yīng)用基礎(chǔ)模塊和功能的代碼,拓展編程思路,節(jié)約開發(fā)時間。據(jù)悉,CodeWhisperer 未來將有可能響應(yīng)開發(fā)者的反饋,加入更多高級能力,成為開發(fā)人員工作中不可或缺的智能助手,乃至于改變整個團隊的開發(fā)流程和體驗。
30 分鐘上手云技能《Amazon CodeWhisperer 入門》
免費學(xué)習(xí)資料:https://explore.skillbuilder.aws/learn/course/external/view/elearning/16405/amazon-codewhisperer-getting-started?trk=d15c46ed-1e4e-4e8b-82c0-63ba2feb26b9&sc_channel=el
安全性和隱私保護決定 AI 編程助手是否能走進企業(yè)
基于云端 AI 能力的代碼輔助工具在實際應(yīng)用中無可避免會遇到隱私和安全挑戰(zhàn)與信任難題。開發(fā)者擔(dān)心使用工具的過程中代碼上傳到云端泄露,企業(yè)更擔(dān)心上傳的數(shù)據(jù)中包含敏感信息、企業(yè)機密、用戶隱私等內(nèi)容,這些信息傳統(tǒng)上是盡量完全保留在本地的。一旦敏感信息被泄漏或利用,給開發(fā)者和企業(yè)造成的損失可能難以估量。
安全性和隱私保護是企業(yè)關(guān)注的焦點話題:
希望 Amazon CodeWhisperer 能支持私有化部署,徹底打消企業(yè)的安全顧慮。
——扛造科技 CEO 陳冰
戴爾公司禁止員工使用 AI 輔助編程插件,但員工連接到外網(wǎng)服務(wù)是可以允許的。公司將來可能會在邊緣團隊逐漸嘗試云端編程助手。
——戴爾公司 團隊 leader 周翔、林利
編程輔助工具用于訓(xùn)練模型的代碼數(shù)據(jù)應(yīng)該有版權(quán)保障,用戶不能因為使用了這類工具而引入合規(guī)風(fēng)險。希望工具開發(fā)廠商明確知識產(chǎn)權(quán),打消用戶的后顧之憂。
——成都與睿創(chuàng)新科技公司 高級架構(gòu)師 張濤
我們主要服務(wù)金融客戶,擔(dān)心萬一交付給客戶的系統(tǒng)代碼泄露了會造成非常大的影響。所以目前我們內(nèi)部會有要求,只是允許我們自身的內(nèi)部系統(tǒng)開發(fā)使用代碼助手,涉及金融客戶系統(tǒng)研發(fā)的項目不允許使用。
——東方金信 解決方案西區(qū)總監(jiān) 梁強
也有一些技術(shù)管理者對云端工具的安全問題持開放態(tài)度:
我注意到 Amazon CodeWhisperer 的協(xié)議注明上傳的數(shù)據(jù)不會被用于訓(xùn)練目的,所以可以接受這樣的設(shè)置。
——G7 易流 研發(fā)總監(jiān) 汪中
我們公司本身就是遠(yuǎn)程團隊,相對比較開放,因此更容易接受 Amazon CodeWhisperer 這樣的云端新品。
——Ideartrip 工程師 王潤林
無論如何,需要在使用過程中向云端傳輸代碼的編程輔助工具還是會存在信息泄漏的隱患。相比之下,亞馬遜云服務(wù)一直將用戶數(shù)據(jù)隱私保護和安全合規(guī)性放在云服務(wù)的至關(guān)重要地位,投入了大量資源確保云端敏感數(shù)據(jù)不會泄漏。Amazon CodeWhisperer 在這樣的保障下,可以打消很多企業(yè)與開發(fā)人員的后顧之憂,讓他們能夠放心地利用前沿人工智能技術(shù)創(chuàng)造更多價值,提升企業(yè)競爭力。
更智能、更容易學(xué)習(xí):來自資深工程師的改進建議
在這次訪談中,工程師們對 Amazon CodeWhisperer 以及其他編程輔助工具的未來前景表現(xiàn)出了極大的期望。
開發(fā)人員對 AI 輔助開發(fā)技術(shù)表現(xiàn)出極高的熱情:
我們公司在體育科技領(lǐng)域深耕已久,團隊積累了大量代碼資產(chǎn),所以,我希望編程輔助工具將來可以提供精簡已有代碼庫、提煉精華內(nèi)容供未來使用的智能能力。
——成都威威賽網(wǎng)絡(luò)科技有限公司 CEO 李鵬飛
希望 Amazon CodeWhisperer 將來能夠全面檢查代碼語法錯誤,并發(fā)現(xiàn)簡單的隱藏邏輯漏洞。如果能提煉函數(shù)的功能點就更不錯了。
——四川眾力嘉華信息技術(shù)公司 工程師 馮麒麟
AI 編程輔助工具在教育行業(yè)的潛力:
小朋友將來可以利用 Amazon CodeWhisperer 快速編寫代碼,并使用自動生成的注釋加強理解、快速學(xué)習(xí)。自動生成的注釋可以大大減輕家長和老師教學(xué)兒童代碼知識的負(fù)擔(dān),讓兒童可以發(fā)展自學(xué)能力。
——騏源智能 聯(lián)合創(chuàng)始人 李濤
AI 輔助編程正等待屬于它的“奇點”時刻
通過與二十位具有豐富開發(fā)經(jīng)驗并在公司和團隊中擔(dān)任管理職務(wù)的嘉賓的訪談,我們可以看出,當(dāng)前的軟件行業(yè)對于 AI 輔助編程技術(shù)的態(tài)度仍然處于初步探索的階段。然而,即便如此,一線開發(fā)人員仍然懷有極大的期望,期待像 Amazon CodeWhisperer 這樣的服務(wù)在不久的將來能夠滿足他們的日常需求,顯著提升開發(fā)流程中各個環(huán)節(jié)的生產(chǎn)效率。特別是對于那些有豐富經(jīng)驗的從業(yè)者來說,他們更加重視和期待編程輔助工具在企業(yè)生產(chǎn)力、團隊協(xié)作能力以及開發(fā)人員職業(yè)生涯成長等方面產(chǎn)生的廣泛影響。另一方面,雖然仍有很多用戶對云端服務(wù)的安全性表示擔(dān)憂,但也有不少企業(yè)開始認(rèn)可這種解決方案,選擇信任云廠商所提供的安全與隱私保障。
隨著生成式 AI 技術(shù)的飛速發(fā)展,在可預(yù)見的未來,基于大模型的輔助編程服務(wù)甚至有望幫助程序員完成大部分低級重復(fù)編程任務(wù)。這樣的時刻來臨之際,AI 輔助編程也將迎來全面爆發(fā),徹底改變軟件行業(yè)格局。下一代程序員甚至在青少年時期就可能掌握高水平的編程技能,為軟件行業(yè)注入更多熱情和活力。我們也期待亞馬遜云持續(xù)改進 Amazon CodeWhisperer 服務(wù),將它打造成為 AI 輔助編程領(lǐng)域的標(biāo)桿級產(chǎn)品,幫助千百萬開發(fā)人員更好地完成工作、揮灑創(chuàng)意、加快行業(yè)創(chuàng)新步伐。