本文整理自騰訊智能創作與內容平臺部技術專家揭光發在【WOT2023·深圳站】大會上的主題分享,更多精彩內容及現場PPT,請關注51CTO技術棧公眾號,發消息【WOT2023PPT深圳】即可直接領取。
嘉賓丨揭光發
編輯丨諾亞
出品 | 51CTO技術棧(微信號:blog51cto)
日前,在51CTO主辦的“WOT全球技術創新大會2023·深圳站”活動中,騰訊智能創作與內容平臺部技術專家揭光發帶來了主題演講《大模型提效研發,從copilot到auto pilot》,探討了大模型如何重塑軟件開發形態,如何從copilot走向auto copilot,為大眾呈現了全新的視角。
1、AIGC應用于軟件開發的兩種形態
提到內容生產,前有UGC、PGC,當下有AIGC。作為生成式AI工具,核心還是它到底能生成什么“內容”。揭光發介紹,除了大眾耳熟能詳的AI生成文本、生成圖片、生成音視頻之外,AIGC與軟件開發相關的主要有兩種生成形態。
其一,AI生成代碼,即AIG Code。像Copilot甚至能自動生成高達90%的代碼,不過,生成的代碼片段通常是中間產品,需要進一步加工,因此往往被用作開發更復雜系統或應用的基礎。
其二,AI生成Action,即AIG Action。AI生成的具體動作或任務,常常作為粘合層連接不同系統和應用,從而完成更復雜的任務,為AI Agent的誕生和成為主流生產力做好了準備。
AIGC用于生成代碼時,可以加速軟件開發流程,幫助研發團隊完成大量的提效工作。揭光發談到,過去提到10x程序員的概念,一般是指能力可以“以一當十”的全棧程序員。但如今,“不需要你本身具備全棧能力,可能配備一個相對不錯的大語言模型,并且你有使用LLM的能力,就可以做到十倍程序員”。
而AI生成Action的本質依然是AI生成文本,只不過在其生成的文本中嵌入特定格式的代碼或配置數據,這些代碼或數據可以被解析并用來指導特定的程序執行相應的任務。揭光發進一步解釋道:“它跟生成代碼不一樣,盡管看上去可能也是生成一種代碼,但是它更接近于一些可用的指令,而這個指令是可以立刻作用在我們的軟件和硬件上面的?!痹谶@一層面上,AI充當了自然語言與既有系統間的粘合層,通過更強大的語義理解能力,更好的交互方式來實現功能調用。
盡管AIGC的作用不可小覷,但當下仍有相當一部分開發者對于用這類工具來助力軟件開發心存顧慮。在揭光發看來,影響開發人員采用AIGC工具的原因多種多樣,比如生成代碼準確率低,公司政策的限制,數據安全的顧慮等等。不過,他建議開發者,起碼不要對AI編程抱有抵觸心態,至于某些局限性可以通過適當的方法來進行優化。
比如,要提升AI生成代碼的可用性,一來可以用魔法打敗魔法,運用工程化手段,生成代碼、生成單元測試,再進一步讓其形成自動化驗收機制,在不斷迭代中提升準確率;二來可以優化Prompt技巧,通過清晰描述需求,來指導其形成“思考”,通過思維鏈(CoT)等提示詞技巧,提高 LLM 在復雜推理任務中的表現。
2、軟件開發新愿景:AI Agent將成為未來主流生產力
隨著生成式AI的發展,Copilot作為“副駕駛”輔助用戶的模式將更深層次地影響人機交互的方式。未來,就軟件使用而言,“Chat everywhere,Copilot for everything”也將成為常態。
揭光發指出,“在產品交互層面,我們會看到,Copilot以后會到處都是。所有軟件都會加上對話功能,讓人能夠跟AI一起協同使用我們的軟件?!?/p>
在傳統的AI交互中,用戶常常需要在不同的界面之間切換,花費大量時間來調用和執行特定的任務。而在Copilot模式下,用戶只需通過客戶端、瀏覽器插件,甚至是系統集成的方式,便可以隨時隨地調用Copilot,無需頻繁切換和跳轉。此外,用戶也不需要花大量時間去學習復雜指令,只通過自然語言就能與AI助理進行交流,這不僅極大地降低了使用門檻,也能更高效地執行用戶當前的任務。
如果說交互層是以Copilot的形式來完成,那么在實現層,則是以AI Agent的形態來解決問題。ChatGPT就是一個典型。那么Agent要如何定義呢?
揭光發解釋,所謂Agent,就是“你給它一個任務,它拿到這個任務會分解這個任務的實現需要用到什么工具,恰好你又有一些工具給它,它就能用這些工具來幫你組合起來,去解決你的需求,幫你完成任務。這個就是Agent。其智能化的體現就在于,它知道如何智能地拆解任務,并可以一步步幫你解決問題”。
在揭光發看來,AI Agent將成為未來的主流生產力。“ChatGPT只是其中一個Agent,我們會有越來越多的私有化的Agent,包括公司內部的或項目內部的Agent,通過與其對話,來幫助你解決自己的問題?!?/p>
從Copilot的融合,到AI Agent的普及,我們都可以看到,軟件設計與開發正在回歸解決需求本身,越來越多的功能在交互界面上消失;預先設計的、固化的軟件功能在漸次減少;傳統軟件開發模式難以兼顧的、大量個性化需求得以快速被滿足。
3、思辨:到底什么是真正的auto copilot?
如今,大模型生成文本、圖片、音視頻,基本都可以一步到位,給最終用戶直接使用。那么在軟件方面,是否也能直接生成可用工具和服務,而不止于某些待加工的代碼片段或其他中間產物呢?
揭光發提到了這樣一個思路:“回想一下,作為人類,我們是怎么去開發軟件的。實際上,無論什么團隊都有一個流程,不管是瀑布流還是敏捷,我們都有既定的標準流程,這個流程我們通常叫做SOP(Standard Operating Procedure)。參與這個流程的人有很多,比如產品經理、架構師、程序員、測試人員等等。”大家都有各自的角色,各司其職,又協同合作,共同完成任務。
由此推斷:當技術不是問題時,我們可以考慮引入結構化的項目管理來解決問題。讓不同的AI Agent模擬這個流程協同參與,可不可行?
已知目前頂級LLM的單兵能力已經超過大多數行業的大多數人,但是獨木難支,“只有一個人,你是沒有辦法完成非常復雜的工程的。但我們是可以把很多能力很強的人通過一個SOP,通過既定的流程把他們鏈接起來,協同完成一個復雜的事情?!?/p>
“AI Agent是未來主流的生產力,不是單Agent,一定是多Agent。多Agent的協同能夠把人類社會的各種協同的SOP復制到AI的世界里面去,把我們從原來的工作里面解放出來?!?/p>
隨著多Agent協同工作模式在軟件研發中越來越普遍,我們已經可以看到多Agent框架和產品在開源世界蓬勃發展??梢灶A見,結合行業SOP的LLM工程化必將重構整個行業。
不過,揭光發又指出,多Agent架構是否能真正代表Auto Pilot,還有待商榷。因為多Agent模式是建立在這樣的前提下:有很多Prompt范式,有預先編排的SOP,有諸多的管理規范和工具集。但隨著真正的AGI到來時,一切都可能重新洗牌。
最后,面對AI編程是否會取代人類,開發人員置身AIGC浪潮中又要如何自處等疑問,揭光發給出了三點建議。
其一,開放自己的思維。這一波人工智能不再是人工智障,而是真正的智能涌現,因此要拋棄偏見,接受事實;其二,全面擁抱AI。要記住“淘汰我們的不是AI,淘汰我們的是會用AI的人”,因此要用AI武裝自己;其三,持續快速學習,增強自身的泛化能力。要利用大模型拓展自己的認知邊界,不要只做一個寫代碼,或是僅做前端或后端的開發人員。“往前走一步,也往旁邊多走幾步,讓自己成為超級個體,是當下、是AGI來臨之前,我們極有可能要去做的一件事情,而且非常迫切要去做的一件事情?!?/p>