AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當(dāng)前位置:首頁(yè) > 科技  > 軟件

生成式 AI 帶給軟件開發(fā)的三個(gè)幻覺:速度快、質(zhì)量高、人更少

來(lái)源: 責(zé)編: 時(shí)間:2024-01-18 17:35:23 230觀看
導(dǎo)讀作者 | 張凱峰軟件行業(yè)苦降本增效久已。蔓延開去的開發(fā)周期,遙遙無(wú)望的上線時(shí)間,以及不斷冒起的缺陷,怎么看都配不上這支精兵強(qiáng)將的隊(duì)伍。生成式AI 似乎帶來(lái)了曙光,它的表現(xiàn)讓人耳目一新,不少人會(huì)這么想。它能自動(dòng)生成代碼

作者 | 張凱峰Zt228資訊網(wǎng)——每日最新資訊28at.com

軟件行業(yè)苦降本增效久已。蔓延開去的開發(fā)周期,遙遙無(wú)望的上線時(shí)間,以及不斷冒起的缺陷,怎么看都配不上這支精兵強(qiáng)將的隊(duì)伍。生成式AI 似乎帶來(lái)了曙光,它的表現(xiàn)讓人耳目一新,不少人會(huì)這么想。它能自動(dòng)生成代碼,成本低,可重復(fù),即拋的能力像云上的資源,這段代碼不合適?扔掉好了,重新生成一段。很自然就會(huì)想到,是不是也不需要這么多精兵強(qiáng)將了,程序員們也很擔(dān)心這一點(diǎn)。Zt228資訊網(wǎng)——每日最新資訊28at.com

Zt228資訊網(wǎng)——每日最新資訊28at.com

生成式 AI 回答我們的問(wèn)題時(shí),偶爾會(huì)拋出個(gè)煞有介事的答案,但如果你稍作檢索,就會(huì)發(fā)現(xiàn)這個(gè)答案徒有其表:不是查無(wú)此言,就是一派胡言,這與人工智能的威名不符。這即所謂生成式 AI 的幻覺,hallucination——因?yàn)闆]有真實(shí)可靠的語(yǔ)料,它自作主張拼湊了一個(gè)假的回答。Zt228資訊網(wǎng)——每日最新資訊28at.com

大模型技術(shù)仍然在不斷更新,能讓人感知到幻覺程度也在逐漸降低。但在它被投入到具體的領(lǐng)域和使用場(chǎng)景時(shí),幻覺效應(yīng)仍在發(fā)生,在這篇文章里我們會(huì)談到的它在軟件開發(fā)領(lǐng)域的應(yīng)用。Zt228資訊網(wǎng)——每日最新資訊28at.com

幻覺一:更快的速度

Zt228資訊網(wǎng)——每日最新資訊28at.com

不同的軟件工具廠商都在迭代更新自己的代碼助手產(chǎn)品,最著名的是 GitHub 的 Copilot,他們宣稱,可以加快程序員完成任務(wù)的速度達(dá) 55%以上,那些清麗迅捷的演示視頻看起來(lái)也如飛一般。Zt228資訊網(wǎng)——每日最新資訊28at.com

Zt228資訊網(wǎng)——每日最新資訊28at.com

(圖片來(lái)源:https://github.blog/2022-09-07-research-quantifying-github-copilots-impact-on-developer-productivity-and-happiness/)Zt228資訊網(wǎng)——每日最新資訊28at.com

但這是否意味著軟件的交付進(jìn)度可以加快 50%?Zt228資訊網(wǎng)——每日最新資訊28at.com

那些作為演示的代碼是可疑的,更多程序員在自己的項(xiàng)目中采用Copilot的反饋似乎也表明,提速基本只會(huì)出現(xiàn)在一些常用的功能實(shí)現(xiàn)上。數(shù)組的排序,數(shù)據(jù)結(jié)構(gòu)的初始化,要不然就是一些再簡(jiǎn)單不過(guò)的模板代碼。Zt228資訊網(wǎng)——每日最新資訊28at.com

可重復(fù)的工具代碼交由 AI 也就罷了。但對(duì)于一個(gè)開發(fā)中的軟件而言,有多少類似的代碼需要重復(fù)開發(fā)呢,這恐怕是值得討論的。遑論多數(shù)時(shí)候,它們只需要一次成型,封裝待用。Zt228資訊網(wǎng)——每日最新資訊28at.com

還有數(shù)量相當(dāng)可觀的業(yè)務(wù)代碼,程序員會(huì)以怎樣的速度來(lái)進(jìn)行?你可以把足夠數(shù)量的業(yè)務(wù)代碼交由 AI 來(lái)生成,但是否安全恐怕是一個(gè)更大的問(wèn)題。Zt228資訊網(wǎng)——每日最新資訊28at.com

這里還有兩個(gè)問(wèn)題值得關(guān)注。Zt228資訊網(wǎng)——每日最新資訊28at.com

一是程序員對(duì)AI 提供代碼的選擇。

AI 如此容易提供多套方法的實(shí)現(xiàn),程序員難免要嘗試從中找出最優(yōu)的選項(xiàng)。Zt228資訊網(wǎng)——每日最新資訊28at.com

這個(gè)好?還是那個(gè)好?咦,竟然有五種不同的實(shí)現(xiàn)。需要先讀懂每一種代碼的實(shí)現(xiàn),再切換到下一種。這個(gè)實(shí)現(xiàn)的方法很優(yōu)雅,但可惜單元測(cè)試失敗了。換下一個(gè)。Zt228資訊網(wǎng)——每日最新資訊28at.com

程序員的好奇心被代碼助手充分?jǐn)噭?dòng)。心猿意馬,線性的思維習(xí)慣碎落一地。程序員遺忘的不只是開發(fā)紀(jì)律,還有時(shí)間。Zt228資訊網(wǎng)——每日最新資訊28at.com

二是軟件自有生命周期。

很顯然,輪到程序員開始編寫代碼,很多事情已經(jīng)發(fā)生,而更多的事情還會(huì)繼續(xù)發(fā)生,直到系統(tǒng)上線。這些事情包括但不限于:收集需求,理解需求(從需求說(shuō)明到用戶故事),測(cè)試,維護(hù)基礎(chǔ)設(shè)施,以及那些層出不窮的修復(fù)工作。Zt228資訊網(wǎng)——每日最新資訊28at.com

我的意思是說(shuō),即便AI 幫助程序員寫得再快,這個(gè)階段也只是軟件生命周期中的一部分而已。早有相關(guān)的數(shù)據(jù)統(tǒng)計(jì),程序員日常的工作,只有 30%的時(shí)間是在編寫代碼,而更多的時(shí)間是在嘗試?yán)斫馑麄円獙?shí)現(xiàn)什么功能,以及設(shè)計(jì)和學(xué)習(xí)新技能上。Zt228資訊網(wǎng)——每日最新資訊28at.com

Zt228資訊網(wǎng)——每日最新資訊28at.com

(圖片來(lái)源:https://github.blog/2023-06-13-survey-reveals-ais-impact-on-the-developer-experience/)Zt228資訊網(wǎng)——每日最新資訊28at.com

幻覺二:更少的 Bug

Zt228資訊網(wǎng)——每日最新資訊28at.com

人編寫的代碼難免存在缺陷,這是軟件質(zhì)量的基本共識(shí)。而且似乎越有經(jīng)驗(yàn)的程序員,越容易生產(chǎn)出隱晦的問(wèn)題,要過(guò)了很久才會(huì)被發(fā)覺。線上問(wèn)題更讓人提心吊膽,但這樣的擔(dān)心很難避免。Zt228資訊網(wǎng)——每日最新資訊28at.com

AI 生成的代碼,聽起來(lái)也很高級(jí),是不是會(huì)帶來(lái)足夠完美的結(jié)果?很可惜,答案可能會(huì)讓人失望。Zt228資訊網(wǎng)——每日最新資訊28at.com

生成式 AI 背后的大模型,以互聯(lián)網(wǎng)上大量的語(yǔ)料作為數(shù)據(jù)來(lái)源,盡管大模型技術(shù)一直在改善,但網(wǎng)絡(luò)上已經(jīng)現(xiàn)實(shí)存在的帶有偏見的數(shù)據(jù)量十分可觀。這也包括大量飽含缺陷的代碼。Zt228資訊網(wǎng)——每日最新資訊28at.com

這意味著程序員在代碼助手中精挑細(xì)選的代碼,也可能存有缺陷。因?yàn)檫@段有缺陷的代碼,可能來(lái)自地球另一端的某個(gè)人,只是恰巧成為了地球這一端的選擇。Zt228資訊網(wǎng)——每日最新資訊28at.com

要命的是,生成式 AI 有放大器(amplify)的功效。簡(jiǎn)單來(lái)說(shuō),就是如果程序員采用了存有缺陷的生成代碼,Copilot 會(huì)記錄這樣的行為,在接下來(lái)類似的場(chǎng)景,會(huì)繼續(xù)建議有缺陷或差不多的代碼。AI 并不能讀懂這樣的代碼,它只是被鼓勵(lì)繼續(xù)提供。我們可以預(yù)想最后的結(jié)果。Zt228資訊網(wǎng)——每日最新資訊28at.com

Zt228資訊網(wǎng)——每日最新資訊28at.com

(prompt:A programmer is sitting at a computer desk, looking confused and frustrated. The computer screen shows a code editor with a pop-up window of GitHub Copilot suggesting incorrect code, symbolized by red error indicators and crossed-out lines in the code. The programmer is scratching their head, surrounded by crumpled paper, indicating multiple failed attempts. The scene conveys a sense of challenge and confusion due to the reliance on incorrect AI-generated code suggestions, leading to quality issues in software development. The room is cluttered, reflecting the chaotic situation. )Zt228資訊網(wǎng)——每日最新資訊28at.com

程序員要嚴(yán)守團(tuán)隊(duì)的開發(fā)紀(jì)律,保持統(tǒng)一的代碼規(guī)范,因?yàn)檫@樣別人才能讀懂,也意味著更容易發(fā)現(xiàn)潛在問(wèn)題并修復(fù)它。但代碼助手提供的不同樣貌的代碼,似乎也提供了更多的混亂。Zt228資訊網(wǎng)——每日最新資訊28at.com

代碼有缺陷,只是軟件最后會(huì)爆出難以挽回的問(wèn)題來(lái)源之一,甚至是很少的一部分。構(gòu)建軟件的過(guò)程,其實(shí)是知識(shí)生產(chǎn)和創(chuàng)造的過(guò)程。在軟件生命周期不同階段加入進(jìn)來(lái)的各角色,共同理解和分析軟件的需求,然后轉(zhuǎn)換其為代碼,也在團(tuán)隊(duì)和人員更替的過(guò)程中,傳遞這些表面為需求和代碼實(shí)則為知識(shí)的信息。Zt228資訊網(wǎng)——每日最新資訊28at.com

但通常,知識(shí)會(huì)衰減,知識(shí)資產(chǎn)的傳遞會(huì)不可避免地出現(xiàn)差池。讀不懂代碼,無(wú)法持續(xù)更新文檔,整個(gè)團(tuán)隊(duì)又被替換,還有更多可能性。這些才是軟件不斷產(chǎn)生 Bug 和問(wèn)題的原因所在。人工智能并未能解決這些軟件工程中棘手的問(wèn)題,至少現(xiàn)在看短時(shí)間內(nèi)做不到。Zt228資訊網(wǎng)——每日最新資訊28at.com

幻覺三:更少的人

Zt228資訊網(wǎng)——每日最新資訊28at.com

AI 的代碼助手看起來(lái)確實(shí)像見多識(shí)廣的程序員。甚至有人愿意把它當(dāng)成結(jié)對(duì)編程實(shí)踐的伙伴。用人成本一直是 IT 團(tuán)隊(duì)頭疼的問(wèn)題,好手太貴,合適的人招不到,從頭去培養(yǎng)熟練的程序員又需要太久時(shí)間。有了人工智能和代碼助手的加持,是否意味著可以縮編快一半的人?Zt228資訊網(wǎng)——每日最新資訊28at.com

AI 和代碼助手不僅無(wú)法提供上述的速度快和質(zhì)量高保障外,也期待使用者要有足夠經(jīng)驗(yàn)的程序員才好,才能盡可發(fā)揮它該有的優(yōu)勢(shì)。這位有經(jīng)驗(yàn)的程序員,需要有能力判斷代碼的優(yōu)劣,判定對(duì)已有生產(chǎn)代碼的影響,還需要有精心調(diào)整提示詞的耐心和技巧。Zt228資訊網(wǎng)——每日最新資訊28at.com

在這篇文章里,作者講述了她在使用代碼助手時(shí)諸多要留意的問(wèn)題,還有你能看到的她縝密的內(nèi)心戲。因?yàn)榇a助手帶來(lái)的不確定性,可能會(huì)引起兩類風(fēng)險(xiǎn),一是影響到代碼的質(zhì)量,二是浪費(fèi)時(shí)間。這里其實(shí)顯示的是一位足夠資深的程序員的自省能力。Zt228資訊網(wǎng)——每日最新資訊28at.com

也只有這樣,代碼助手才可以心安理得扮演見多識(shí)廣的新手,而經(jīng)驗(yàn)程序員充當(dāng)守門員,她才是那個(gè)負(fù)責(zé)提交代碼的人。這樣說(shuō)來(lái),AI 改變的是編程體驗(yàn)。Zt228資訊網(wǎng)——每日最新資訊28at.com

Zt228資訊網(wǎng)——每日最新資訊28at.com

(圖片來(lái)源:https://martinfowler.com/articles/exploring-gen-ai.html,作者把代碼助手想象成一個(gè)著急幫忙、固執(zhí)、說(shuō)話清楚但缺乏經(jīng)驗(yàn)的角色,于是用 AI 畫出了這個(gè)卡通形象)Zt228資訊網(wǎng)——每日最新資訊28at.com

AI 和代碼助手在解決簡(jiǎn)單重復(fù)性問(wèn)題上,效果顯著。但在構(gòu)建軟件的過(guò)程中,有更多需要人和專業(yè)經(jīng)驗(yàn)的場(chǎng)景,來(lái)解決復(fù)雜的問(wèn)題。比如軟件系統(tǒng)日益增加的架構(gòu)復(fù)雜度和范圍,應(yīng)付市場(chǎng)和業(yè)務(wù)側(cè)的需求,跨角色之間的溝通和協(xié)作,還有那些更加時(shí)髦的涉及代碼倫理和安全的問(wèn)題。Zt228資訊網(wǎng)——每日最新資訊28at.com

雖然判斷程序員是否足夠?qū)I(yè)和熟練,不像數(shù)數(shù)那樣一目了然,但我們也可以說(shuō),引入AI 和代碼助手然后減員開發(fā)團(tuán)隊(duì),能帶來(lái)的成效是不確定的,目前看弊大于利。Zt228資訊網(wǎng)——每日最新資訊28at.com

寫在最后

Zt228資訊網(wǎng)——每日最新資訊28at.com

生成式 AI 的本質(zhì)是模式轉(zhuǎn)換,從文字的一種形式,轉(zhuǎn)換成另一種形式,高級(jí)的代碼助手的能力也不出其右。如果把涉足軟件構(gòu)建的 AI 代碼助手,認(rèn)為是解決諸多軟件工程難題的妙方,我們恐怕只是把復(fù)雜的問(wèn)題想得過(guò)于簡(jiǎn)單。Zt228資訊網(wǎng)——每日最新資訊28at.com

寫到這里,我們一直在談什么呢。Zt228資訊網(wǎng)——每日最新資訊28at.com

我們?cè)谡劦钠鋵?shí)是,在軟件開發(fā)上投資 AI 的成效該如何衡量。投資 AI 并不是簡(jiǎn)單如購(gòu)買代碼助手的 License,然后就可以坐享降本增效。不斷詢問(wèn)“我們要如何衡量投資 AI 和代碼助手的效果?”,不如詢問(wèn)“我們到底要衡量什么?”。從DORA 定義的四個(gè)關(guān)鍵指標(biāo)開始,是個(gè)明智的選擇,它們是變更前置時(shí)間、部署頻率、平均恢復(fù)時(shí)間 (MTTR) 和變更失敗率。Zt228資訊網(wǎng)——每日最新資訊28at.com

下面是建議的一些基本衡量原則:Zt228資訊網(wǎng)——每日最新資訊28at.com

Zt228資訊網(wǎng)——每日最新資訊28at.com

  • 衡量團(tuán)隊(duì)效率,而不是個(gè)人績(jī)效。
  • 衡量成效而不是產(chǎn)出。
  • 查看隨時(shí)間推移的趨勢(shì),而不是比較不同團(tuán)隊(duì)的絕對(duì)值。
  • 用儀表板上的數(shù)據(jù)開啟對(duì)話,而不是就此結(jié)束。
  • 衡量有用的東西,而不是容易衡量的東西。

本文鏈接:http://www.tebozhan.com/showinfo-26-64502-0.html生成式 AI 帶給軟件開發(fā)的三個(gè)幻覺:速度快、質(zhì)量高、人更少

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: C++基礎(chǔ)庫(kù)實(shí)現(xiàn)Windows下的貪吃蛇游戲

下一篇: Python系列:摸魚小利器,使用Python創(chuàng)建一個(gè)聊天室

標(biāo)簽:
  • 熱門焦點(diǎn)
Top