口述/李亞飛 ,訪談、撰文/宇婷
在AI自動編程軟件Devin第一時間官宣出來后,我邀請了三位程序員代表直播討論:ShowMeBug創(chuàng)始人&CEO /?全棧工程師/連續(xù)創(chuàng)業(yè)者李亞飛;聯(lián)易融副總裁沈旸;技術領導力黃哲鏗?Mr.K先生。
特別的是,在這次連麥討論中,我驚奇發(fā)現(xiàn),亞飛和團隊其實早在去年已經做出相關探索,并研發(fā)出了1024Code這款產品。
如果按照時間線,1024Code幾乎可以稱為中國的Devin。在和亞飛的團隊深度交流時,他們認為1024Code的產品功能和內測效果可以稱得上國內“第一個AI自動編程軟件”。當然1024Code的技術邏輯和產品思路與Devin又有所不同,后文中會做詳細論述。
沈旸在討論中,也表達了他的觀點:
1、Devin的發(fā)布是比較典型的AI在編程領域的突破。AI Agent跟過去的AI相比,與外界有一定互動能力。比如ChatGPT一開始就有聊天的功能;但類比為人,其實沒有眼睛、手和腳,因此“不能干別的”。Devin現(xiàn)在可以跟很多工具做鏈接,它會自動找哪些工具比較好用,主動閱讀博客,訪問網站,通過不停迭代你的意圖,把編程實現(xiàn)。
2、整個AI最先落地的就是AI編程領域。它不需要和物理世界關聯(lián),編程領域中有Github以及后面很多運行程序,從而支持形成了閉環(huán)。從request提需求開始,到需求解決,代碼合并,到最后運行,形成一個閉環(huán)。
其實,沈旸曾經找到李亞飛,提出過一個訴求——實現(xiàn)Web IDE(我們會在下文分析“IDE”),很多程序員以前是在本地寫程序、做文檔,這里包含了編程的幾個關鍵步驟:
第一步,也許是幾個人之間聊天,在思想上產生碰撞。對產品產生訴求。
第二步,產品經理畫出原型圖,大家確認,團隊開發(fā)。整個過程都是線下的,雖然有數字化,但可能是斷點的,原始資料也可能會丟失。
基于在線編程,比如在線設計軟件、Figma等工具結合起來以后,就從需求到運行,實現(xiàn)了閉環(huán)。這樣,AI就能培養(yǎng)出一個很好的工具體系。
無論是Web1.0還是3.0,最重要的就是積累足夠的數據,以培訓AI。
Web/云端IDE其實就是AI編程,或者說帶領AI工程師打開第一步。
黃哲鏗(Mr.?K)的觀點是:
Kevin比較震撼地在于實現(xiàn)了工程閉環(huán)。就像是做軟件開發(fā),首先要定義問題,確認需求,反復交互。Devin先定義問題,確認好之后,會嘗試聯(lián)網讀取文檔,學習編程語言,用工程的方法調試和開發(fā)。整個過程復刻日常工作的流程,實現(xiàn)了AIGC。
如果有足夠的法律法規(guī)監(jiān)管,確實能夠實現(xiàn)編程領域的AI智能體。
Devin的優(yōu)點是沒有情緒,不會犯低級錯誤。缺點是展現(xiàn)出偏工程化的思維,對產品的哲學思考欠缺,達不到產品思維。接下來,也許會產生AI產品經理這樣能夠解決產品哲學思考的智能體。
下文,我把李亞飛的思路,做一個完整的梳理,希望給到更多讀者啟發(fā)。也希望你有任何不同意見,可以與我探討。
以下,為亞飛口述體整理的內容:
1、從“工程效能”到對Devin的辯證思考
研發(fā)效能的提升以及相關技術的定制,是我們在2019年之后的工作重點。我的主要工作就是提升“工程效能”這件事。工程效能的最高境界是全自動編程,評估好人才的能力,我們從這個維度去做了一些工作。
AI跟程序員領域怎么結合出一個新的應用?或者說如何探索AI對于開發(fā)架構的改變,我把AI編程領域的創(chuàng)新理解為L5級別的全自動編程探索。
海外軟件Devin,是一個十多個人的團隊,他們發(fā)布了號稱全球首款AI軟件工程師。
我認為這就是趨向L5級別的創(chuàng)新應用。去年,ShowMeBug探索出關于編程能力的全新的底層邏輯。我們制作出了1024Code這款產品。專門成立了一個小分隊研究自動寫代碼的技術和體系。
1024Code是采用?1024PaaS(全棧自研的云端編程環(huán)境)為核心,通用大模型為基座,花費了十多個月構建一套自主決策鏈AI Agent(目前稱為AI導師),提供了編程環(huán)境感知,代碼編輯,Shell、Console的自主閱讀,運行與自主Debug。簡單來說,就是將AI Agent安裝了手與腳,讓其自主完成需求分析到編碼調試的過程。
在這個工作體系之外,我看到的方向是自研一套云上最好用的IDE。因為你掌握了核心技術,后面才能跑得更快、更遠。實際上,融資幾千萬之后,我們一直在規(guī)劃這個核心引擎。
參考自動駕駛的理解,這里分析一下,L1到L5之間在自動編程上的差異是什么:
L1是取代一定搜索能力的AI搜索。智能化搜索體現(xiàn)為信息整合檢索的能力,尚不能支持對人類的啟發(fā)。
L2是超越20%-30%人類的思考能力,對人類有一定的啟發(fā)作用。能夠用在助理和自動化領域。
L3能夠替代50%的人類工作,自動化完成任務。
L4能夠完成90%的人類工作。
L5則100%超越人類。
從L3開始,AI能夠替代50%人類的工作,用自動化的方式完成任務。L3以上級別的自動化程度就可以解放出人類,人類就可以干別的工作了。
所以也會有“程序員不存在”這個話題的討論。
2、AI自動編程要看誰跑得快
Devin在替代工程師而不是產品經理的事情上,能夠做得很好。軟件領域的特殊性會使之在AI里面能夠發(fā)揮巨大的作用。軟件工程是客觀的,這意味著每一步的探索都有正確答案,像是做數學題。軟件中的每一個步驟,可以一步步驗證是對還是錯。
Devin的應用過程中,跑程序出現(xiàn)錯誤之后,通過找到錯誤的編碼,就能夠解決掉問題。AI的能力和ChatGPT在本質上是概率的動作。在AI編程領域的成功,每一步都相當于做一次Commit,把非常難的步驟分成多步驟,每一步驟都可以驗證對不對,相比其他工程更為清晰明了。
Devin在獲取工具的能力上,包括連接海外的搜索應用,其效果非常好。對工具的檢索有一個非常好的體系和列表。借助工具做想做的事,每一步都能夠檢驗。對于產品經理來說,產品從實踐到落地,以及涉及的運營環(huán)節(jié),判斷產品好壞,需要進行大量灰度測試。軟件工程師是目前能夠看到的AI進展最快的一個應用。
Devin最大的缺點在于他還是一個預覽版本。一個公司的CTO朋友曾經在第一時間覺得Devin是1024Code的翻版。Devin的交互思路體系和我們很接近。今天我們對AI編碼的暢想肯定能夠實現(xiàn),關鍵是什么時候實現(xiàn)。
現(xiàn)在要看誰跑得快?快步向前,抓住機遇。
3、給自動化編程軟件裝上“手”與“腳”
如果硬說Devin的第二個缺點,現(xiàn)在AI大模型底座能力還不夠強,Devin SWE-bench?測試(解決指定2000個問題)?13%?的通過指標,還是偏弱。
1024Code也能做到這個程度,但我們認為這不是一個高標準,所以去年1024Code做出來后,沒好意思去做專門的發(fā)布。
此外,我還發(fā)現(xiàn)一個核心的問題,不管你(Devin這些應用層Agent)怎么努力,其實只是在大模型之上加入了一套特別復雜的決策鏈(類似現(xiàn)在最流行的ReAct決策鏈)。但最終可能會發(fā)現(xiàn)這些都是無用功,等到后面大模型升級,從普通人變成聰明人,這些將不再需求。
所以更關鍵的是給AI軟件裝上手和腳。什么是手和腳?AI軟件需要閉環(huán),且最容易閉環(huán),而閉環(huán)的核心就是程序員經常工作用的那套編程環(huán)境IDE,或者在AI編程領域,叫做CDE(云端編程環(huán)境)的東西。?CDE的發(fā)展趨勢,最后就是云端編程+AI的融合體,它里面會很簡單,沒有那么多功能概念,只有測試、發(fā)布兩三個步驟。
1024Code現(xiàn)在是公測邀請階段,雖然是邀請制(有邀請碼才能注冊),但我們也沒限制的那么死。只要是有一定經驗的軟件工程師去申請獲取邀請碼我們就會給,然后就可以去體驗功能。
更多是讓大家感受AI自主編程的能力,1024Code的目標是設計成?L5?級別自主編程能力的?AI?編程軟件,在實現(xiàn)里,也是有一套決策鏈,會去分析項目/程序代碼的語義語法結構,壓縮信息(一些大模型的上下文是有限的),決策修改或者添加哪些文件,然后再進入到具體的更新代碼動作里。
傳統(tǒng)的大模型助手模型下,生成代碼,需要你自己找地方寫入,比較費勁。1024Code基于CDE?可以做到自主去定位修改文件,并在CDE編輯器內完成修改。
這里面的決策鏈還是比較復雜的,但實際上我們已經給大模型加上了手和腳,比起本地IDE更有競爭力。
4、“塊編輯”與“CDE”技術的發(fā)展前景
我的思考邏輯是——一定會誕生一種人類與AI更友好的交互方式。比如1024Code,我們更認為人類要審批,人類可以直接改代碼,AI也可以改它自己的代碼。
程序員當下培養(yǎng)成本是非常高的,復雜而且稀缺。當AI進入這個行業(yè),程序員會變成一個普通職業(yè),讓這個職業(yè)在未來成為一個供給平衡的市場。這是1024Code和ShowMeBug能夠幫助行業(yè)創(chuàng)造的一種新的交互形式。程序員的精力也會被釋放出來。
讓4天的工作進入到3天的工作制甚至繼續(xù)壓縮。我的邏輯是程序員行業(yè)要像美國社會一樣,人均生產力提高幾倍。推動整個社會經濟的發(fā)展。
對于AI自動編程,你的手和腳裝齊,等待大模型能力不斷變強,對著IT體系不斷增強,最終形成一個自主化高效的編程體系。
如果想讓IDE落地,需要再補充一條——兼容現(xiàn)有環(huán)境。海外現(xiàn)在流行一個新的概念——CDE。也就是云端開發(fā)環(huán)境這一概念。并且能夠實現(xiàn)兼容到你的私有化IT環(huán)境中部署。Gartner預測,到2026年,60%的云工作開發(fā)將使用CDE構建和部署。
先講一下什么是云端IDE。IDE是指本地集成開發(fā)環(huán)境,也就是包括開發(fā)人員所需要的、與編寫代碼相關聯(lián)的一系列環(huán)境及配置。而云端IDE即是簡單放在瀏覽器上,就可以直接運行的IDE環(huán)境。但云端IDE技術實現(xiàn)上有很多差異,針對場景不同,功能會有取舍考量。
隨著時間的推移,大家也逐步意識到,只是把IDE搬到云端并不會被用戶簡單接受,而是需要全新思考與設計。22年底,隨著Gitpod拿到2500萬美元的A輪融資,整個市場進入了全新的元年,重新把云端IDE定義為?CDE(Cloud Development Environment),我認為這個詞總結得特別好,所以以下我們將原本用「云端IDE」但更合適用?「CDE」?的地方,統(tǒng)稱為CDE。
說到?CDE,我們必須從海外的市場開始講起。
第一個值得講的就是?Coder(https://coder.com/)。
Coder是一個先從開源出發(fā)(code-server),允許開發(fā)者用?VSCode?連接到任意的遠程服務器,進而演化出來完整的CDE(coder)環(huán)境的發(fā)展模式。也是開發(fā)者生態(tài)經典的發(fā)育模式。其核心定位是為開發(fā)者提供云端的資源配置管理、復用,開發(fā)者仍然可以復用本地開發(fā)環(huán)境。目標畫像是在實際開發(fā)工作場景的開發(fā)者。
PV 4.9萬,UV:2.4萬。
值得講一下,他們三個聯(lián)創(chuàng)都特別年輕,現(xiàn)在才20出頭,但已經創(chuàng)業(yè)5年了。在22年宣布拿到了3000萬美元。
第二個是現(xiàn)在?CDE?市場的新秀產品?Gitpod。
能感受到他們更加懂開發(fā)者,Gitpod?的定位也是為開發(fā)者提供生產力工具,替代本地開發(fā)。目前增長比較明顯,很多開源項目的托管平臺選擇都有他們的影子。目標畫像:在實際開發(fā)工作場景的開發(fā)者。
PV:67.3萬,UV:15萬。
目前融資情況:Github?的創(chuàng)始人領投了最新一輪2500萬美元。
AI編程自動化這項技術,你要把自主技術核心掌握在自己的手里。1024Code提倡一個概念——塊編輯。也就是一開始,就要決定是誰在寫,但其實其他體系是做不到的,包括Devin。我的思考是要更閉環(huán)。
在我們做ShowMebug的時候,也積累了這項技術。并且花了兩年多的時間。這是一個非常核心能夠形成壁壘的技術。
CDE的應用場景上,本質是一家技術驅動的公司。技術應用在什么樣的地方,是需要你自己進行探索和判定的。我們當時從能力測評這個角度出發(fā),面試驗證程序員能力這個場景開始。這是因為我們判斷,這個地方離商業(yè)化最近。
第二個場景是編程教育。海外公司Replit,目前有2000萬活躍用戶,活躍率超過50%,價值12億美元。
第三個領域就是AI自動編程。中國有上千萬正規(guī)程序員。加上非正規(guī)軍達到2000萬人群體。節(jié)省一半人力,就能達到一千萬市場。其實,微軟40年來,就是抓住了程序員的群體,微軟之前也推過.net但都被歷史淘汰了。
現(xiàn)在有了AI加持之后,會讓創(chuàng)業(yè)公司擁有創(chuàng)新力。但是挑戰(zhàn)就在于早期對于產品的要求需要突破一個臨界值。這方面,商業(yè)化挑戰(zhàn)比較大。
AI編程的挑戰(zhàn)還在于要結合更多領域,僅僅有Devin不夠。本質需求上的驅動不是來自于程序本身,而是來自于產品經理,來自于客戶,來自于項目,需要形成一個更完整的閉環(huán)。
未來把項目中間的對話、文檔,甚至是大家的聊天記錄,所有事物形成非結構化的數據,保留在對話框之中。如何調用一個開源的工具,節(jié)省下來99%的代碼,這里的能力只有靠云上的版本能夠體現(xiàn)出來。如果是私有部署,所有的部署,要能夠讓AI編程工具能夠理解公司的體系。
5、軟件工程師生存環(huán)境的變化,開發(fā)左移
AI理解數字世界或者軟件的過程要靠RPA或者API。但在API方面,國內軟件發(fā)展的進程并不太友好。國內產品在標準接口和標準文檔上有缺陷。國內很難順利地把兩個系統(tǒng)對接起來。按理說簡單粗糙的策劃工作應該是AI完成,現(xiàn)在AI在做一些比較高級的工作,人類再完成前后較為低級的體力活。
1024Code中,有比較多的手自一體的設計理念,邏輯是把人放在一個比較高的位置上,AI把活先干了,人點審批。
程序員不管做多久,基本上都是跟業(yè)務打交道比較多。未來程序員演變的方向就是把業(yè)務語言和程序更好地結合起來。
程序員的工作目前分為三類:一類是比較低水平的重復勞動,大部分是剛入行的程序員、初級程序員或者學生群體。第二類是被動接受需求,實現(xiàn)功能交付。一些工業(yè)化軟件開發(fā)和企業(yè)之中的程序員屬于這一類。第三類是技術和商業(yè)融合,創(chuàng)造出有價值產品的程序員。十幾個人的團隊,能夠做出一個顛覆性的產品。
AI出來之后,可能會淘汰第一類低水平重復勞動的程序員;部分取代第二波被動接受需求的程序員,實現(xiàn)一些簡單或者復雜功能的程序員;并成為第三類程序員的助手。
真正懂技術又懂商業(yè)和業(yè)務,這樣的程序員在AI的幫助下,能夠很快實現(xiàn)他們商業(yè)上的構想,低成本去驗證他們商業(yè)上的構想,這是對于程序員群體的影響。
要擁抱AI,對于AI來說,打不過就加入。
AI編程工具已經實現(xiàn)了幫助程序員的“開發(fā)左移”,意思是在整個開發(fā)鏈里面,程序員會越來越向價值鏈的上游移動,去理解業(yè)務,通過AI實現(xiàn)自己的構想,這也是所謂的技術商業(yè)化。和創(chuàng)意結合,和產業(yè)結合,這是程序員應該具備的能力。
英偉達創(chuàng)始人黃仁勛曾經說過,以后程序員就不存在了,人們只需要會中英文。我把這種言論輸入到ChatGPT里;AI說,這是黃仁勛在宣傳他們的產品,并不是給程序員寫的,真正懂得,就知道編程不是這樣的。這是一個玩笑,也是事實。
超級程序員的出現(xiàn),以及企業(yè)數字化轉型的場景,可能是AI編程自動化帶來的結果。后者生態(tài)如果爆發(fā),對程序員的需求反而會越來越大。
國內的情況,程序員和AI絕對會長期共存,很長時間內會是一種協(xié)作的關系。
參考文章
李亞飛《我這5年技術創(chuàng)業(yè)對云端IDE的理解和預測》
https://mp.weixin.qq.com/s/2Xz9p5WiPa3zigZdZih-tw
張海龍《Cloud IDE?是不是一個偽命題》
https://www.infoq.cn/article/dtkgop7ilvontssfpwrc
王亞偉《被逼出來的自主可控,從華為自研看國產?IDE?的未來和商業(yè)模式》
https://www.infoq.cn/article/d4613NRodWJEAXqRblEu?? ?