AIGC遠(yuǎn)不止是代碼輔助
生成式人工智能(AIGC)對于軟件開發(fā)人員的生產(chǎn)力有重要的潛力。但要成功利用它,需要將其視為不僅僅是代碼生成工具而已。
生成式人工智能(AIGC)可以徹底改變軟件開發(fā)。它具有驅(qū)動軟件開發(fā)人員顯著提高生產(chǎn)力的能力,可以加快創(chuàng)新周期和上市時(shí)間。然而,如果將其狹窄地視為僅僅是代碼生成工具,其潛在影響可能會受到嚴(yán)重削弱。不幸的是,這種觀點(diǎn)并不少見;它建立在對AIGC和軟件開發(fā)實(shí)踐的誤解之上。
這意味著,對于愿意與軟件開發(fā)過程和技術(shù)團(tuán)隊(duì)的工作密切合作的業(yè)務(wù)和技術(shù)領(lǐng)導(dǎo)者來說,這里存在真正的機(jī)會。通過承認(rèn)AIGC可以支持軟件開發(fā)人員以及不能支持的領(lǐng)域,他們可以成為第一個(gè)有效利用AIGC獲得真正競爭優(yōu)勢的人,使軟件開發(fā)人員不僅工作更快,而且更智能。
AIGC可以在哪些方面增加價(jià)值?
毫無疑問,AIGC可以在整個(gè)軟件開發(fā)生命周期中增加顯著的價(jià)值。然而,要量化這個(gè)價(jià)值是異常困難的。事實(shí)上,量化AIGC的增值可能窄化AIGC的潛在影響。在Thoughtworks,我們認(rèn)為僅關(guān)注代碼生產(chǎn)力帶來的好處是逆向思維的;根據(jù)我們的經(jīng)驗(yàn),我們主張將AIGC視為工具的一部分,與工作方式和正確的團(tuán)隊(duì)拓?fù)浣Y(jié)構(gòu)一起,可以推動縮短上市時(shí)間、提高質(zhì)量,并持續(xù)維持團(tuán)隊(duì)士氣。這與最近的研究和媒體報(bào)道所采用的方法有所不同,它們將重點(diǎn)放在有限且相對簡單的問題背景下測量編碼速度上,而幾乎忽略了AIGC在軟件開發(fā)過程其他部分的價(jià)值。
這些通常是軟件開發(fā)工作中復(fù)雜的部分,通常涉及摩擦或浪費(fèi)的點(diǎn)。雖然它們可能不容易被量化,但我們相信,這些部分可能正是使用AIGC最有影響力的地方。在過去幾個(gè)月中,Thoughtworks的一小組人一直在進(jìn)行一系列實(shí)驗(yàn),探索AIGC工具(如ChatGPT和GitHub Copilot)在軟件開發(fā)生命周期中的潛力。我們看到的結(jié)果是令人鼓舞的,結(jié)果表明生產(chǎn)力可能增加10%-30%。不過需要注意的是,這種生產(chǎn)力的提升取決于三個(gè)因素:
開發(fā)體驗(yàn):工程師需要知道要詢問什么,并且具備判斷AIGC輸出的能力,而不會影響質(zhì)量。
對AIGC的使用經(jīng)驗(yàn):這些工具需要人類的輸入,這意味著用戶需要掌握知識和技能,不僅要編寫有效的提示,還要了解如何使用這些工具,并在它們只是分散注意力的情況下繼續(xù)前進(jìn)。
所處理問題的性質(zhì):對于定義明確的問題,AIGC是有效的,但隨著問題的擴(kuò)大或復(fù)雜化,它很可能無法帶來生產(chǎn)力的提升。
在考慮了這些重要的注意事項(xiàng)之后,現(xiàn)在讓我們來看看AIGC如何為開發(fā)人員的工作增加價(jià)值。
降低重復(fù)性工作,為高價(jià)值任務(wù)創(chuàng)造更多時(shí)間
AIGC在模式匹配和模式合成方面表現(xiàn)出色,比如將一種語言翻譯成另一種語言。這種優(yōu)勢在軟件交付中最明顯的應(yīng)用是一種新型的代碼生成,其中AI將自然語言翻譯成代碼,或?qū)⒁环N類型的代碼轉(zhuǎn)換成另一種類型的代碼。但這也可以在其他領(lǐng)域中利用,比如將變更日志翻譯成發(fā)布描述,將代碼和團(tuán)隊(duì)聊天轉(zhuǎn)化為更連貫的文檔,或?qū)⒎墙Y(jié)構(gòu)化信息映射到更結(jié)構(gòu)化的格式和模板中。它甚至可以幫助團(tuán)隊(duì)生成測試和示例數(shù)據(jù)。
換句話說,它可以消除一些耗時(shí)的任務(wù),使開發(fā)人員有更多時(shí)間從事復(fù)雜的、增加價(jià)值的工作。它可以為我們進(jìn)行模式匹配;然后我們完善結(jié)果并完成“最后一英里”的工作。
更早更完整的思考
大語言模型(LLMs)有能力讓我們感到驚訝。這就是為什么人們常說它們會“產(chǎn)生幻覺” - 也就是說,產(chǎn)生一個(gè)具有誤導(dǎo)性或虛假性的輸出,似乎與其訓(xùn)練數(shù)據(jù)不符。雖然在某些使用情況下,這顯然會帶來風(fēng)險(xiǎn),但它們能夠提供意想不到的東西,使它們成為極好的頭腦風(fēng)暴合作伙伴和創(chuàng)意工具。它們可以指出我們思考中的空白之處。
我們已經(jīng)看到在產(chǎn)品和策略創(chuàng)意方面取得了很好的結(jié)果,例如啟動一個(gè)LLM來生成可以引發(fā)不同思維的場景。我們還使用LLMs作為辯論伙伴,以增強(qiáng)用戶故事和測試場景。例如,如果我們嘗試構(gòu)想給定應(yīng)用程序可能被使用的不同方式,LLMs可以幫助擴(kuò)展我們的思維,填補(bǔ)我們沒有考慮到的場景的空白。這樣做的好處是,通過更有效地捕捉需求,我們減少了以后的重復(fù)工作的需要 - 大大提高了開發(fā)過程的速度。
及時(shí)獲取信息
對于軟件開發(fā)人員來說,最大的低效之一是尋找正確的信息。從在線搜索到內(nèi)部文檔,知道應(yīng)該去哪里找到所需的信息可能會增加很大的負(fù)擔(dān)。
AIGC提供了在大量非結(jié)構(gòu)化信息源上提供新類型的搜索功能的機(jī)會。這已經(jīng)在發(fā)生了:GitHub的Copilot CHAT(本文撰寫時(shí)為測試版)建立在Copilot現(xiàn)有的編碼輔助功能基礎(chǔ)上,為開發(fā)人員提供自然語言和上下文特定的支持。類似地,Atlassian Intelligence為用戶提供了一種瀏覽和搜索密集及非結(jié)構(gòu)化機(jī)構(gòu)信息的方式。當(dāng)然,AIGC系統(tǒng)必須得到適當(dāng)?shù)募?,并在必要的?shù)據(jù)上進(jìn)行訓(xùn)練,但是有效使用時(shí),它們可以使軟件交付團(tuán)隊(duì)輕松獲取與當(dāng)前任務(wù)相關(guān)的信息。這也為組織提供了展示特別關(guān)鍵信息的新方式,比如提供工具來提醒用戶需要檢查的合規(guī)性或安全問題。
雖然不應(yīng)將AIGC聊天機(jī)器人視為深入和有來源研究的完全替代品 - 并且始終應(yīng)監(jiān)控其準(zhǔn)確性和“幻覺” - 但如果它們經(jīng)過訓(xùn)練以考慮用戶的上下文,它們在減少摩擦和提高生產(chǎn)力方面會變得非常有效。
風(fēng)險(xiǎn)
AIGC的風(fēng)險(xiǎn)并不是秘密。在最近幾個(gè)月中,“幻覺”、偏見和隱私問題已經(jīng)被廣泛討論和辯論。在軟件開發(fā)生命周期的背景下,這些風(fēng)險(xiǎn)將因工程團(tuán)隊(duì)的能力、文化和目標(biāo)而表現(xiàn)出不同的形式。
例如,將AIGC工具引入一個(gè)經(jīng)驗(yàn)不足的開發(fā)團(tuán)隊(duì)有可能削弱而不是增強(qiáng)他們的效率和交付的軟件質(zhì)量。例如,當(dāng)面對AIGC生成的代碼不工作時(shí),經(jīng)驗(yàn)不足的開發(fā)人員可能會不必要地致力于解決方案,結(jié)果花費(fèi)更多時(shí)間讓AI生成的代碼工作,而他們最好是閱讀相關(guān)文檔。
簡而言之,考慮到出錯(cuò)和出現(xiàn)幻覺的可能性,必須始終謹(jǐn)慎對待產(chǎn)生的輸出。這在重復(fù)性至關(guān)重要時(shí)尤其如此:如果不付出足夠的關(guān)注,將AIGC應(yīng)用于不成熟的實(shí)踐可能會加劇和固化現(xiàn)有問題,而非解決這些問題。
展望未來:成熟的工程實(shí)踐的重要性
為了充分利用AIGC并發(fā)揮其潛力,組織應(yīng)該在軟件工程方面采用良好的實(shí)踐方法,包括持續(xù)集成/持續(xù)部署(CI/CD)和DevOps等。在AIGC時(shí)代,這些實(shí)踐比以往更重要,因?yàn)樗鼈兪箿y量和管理過程變得更容易。例如,如果你的工作流中包含交付指標(biāo),確定AIGC的影響以及可能出現(xiàn)的挑戰(zhàn),可以迅速予以解決。
這些實(shí)踐可以通過有效的AI操作模型進(jìn)一步支持。這是一個(gè)戰(zhàn)略計(jì)劃,闡明了人工智能在組織中的使用方式,并在必要時(shí)提供指導(dǎo)和治理。好處是,它可以確保組織在快速變化的步伐中始終忠于其戰(zhàn)略目標(biāo)、文化和現(xiàn)有流程。無論是指導(dǎo)工具決策還是賦予團(tuán)隊(duì)?wèi)?yīng)對不斷變化的監(jiān)管要求的能力,一個(gè)健全的操作模型可以幫助更好地跟上這些發(fā)展并相應(yīng)地進(jìn)行調(diào)整。
這并不意味著組織在AIGC方面需要采取自上而下的方法。更重要的是建立反饋循環(huán),確?;鶎庸ぷ骱蛻?zhàn)略決策之間的認(rèn)識和協(xié)調(diào)。在技術(shù)快速變化的時(shí)期,這些反饋循環(huán)對組織的成功至關(guān)重要;市場上正在發(fā)生的事情可能很誘人,但這些反饋循環(huán)可以幫助領(lǐng)導(dǎo)團(tuán)隊(duì),確保他們的決策始終受到組織內(nèi)部發(fā)生的事情的啟發(fā)和緊密聯(lián)系。
這并不意味著要避免在市場方面保持警惕,而是要認(rèn)識到真正重要的是組織的能力和意愿——充分授權(quán)開發(fā)團(tuán)隊(duì)。作為領(lǐng)導(dǎo)者,我們需要支持他們通過好奇心和現(xiàn)有專業(yè)知識來推動他們自己的生產(chǎn)力。