Devin第一手使用體驗(yàn):完成度很高,開始編碼就停不下來,但要替代程序員還很遠(yuǎn)
由10枚IOI金牌在手的創(chuàng)業(yè)團(tuán)隊(duì)Cognition AI開發(fā)的全球首個AI程序員智能體Devin,一發(fā)布就讓科技圈坐立不安。
在演示中,Devin幾乎已經(jīng)可以獨(dú)立完成很多人類程序員需要大量時間才能完成的工作,效果一點(diǎn)不比普通程序員差。
但是,產(chǎn)品能力的邊界在哪里,實(shí)際體驗(yàn)和演示時候有差距,還的看上手實(shí)測之后的效果。
這位斯坦福的小哥在Devin發(fā)布的第一時間就聯(lián)系了團(tuán)隊(duì),獲得了第一手體驗(yàn)的資格。
他讓Devin幫它做了幾個難度不一的項(xiàng)目,錄制了一個視頻,在推上寫下了自己的使用感受。
下一個任務(wù)是讓Devin做一個可以讓普通用戶直接與大模型下棋的網(wǎng)站。
需求復(fù)雜的編程任務(wù)還搞不定
用戶下一步棋,系統(tǒng)會翻譯成提示詞給GPT-4,然后GPT-4進(jìn)行回復(fù),然后回復(fù)再被轉(zhuǎn)換為反映在棋盤上的具體某一步棋。
按照小哥的要求,系統(tǒng)需要由相當(dāng)多的部件組成。
他個人最為關(guān)注在這個系統(tǒng)的開發(fā)過程中,Devin能不能做到以下幾點(diǎn):
- 知道如何準(zhǔn)確地使用GPT-4 API,因?yàn)榇蠖鄶?shù)LLM實(shí)際上并不知道如何使用,并且API的調(diào)用存在版本沖突。
- 正確地請求API密鑰并安全地處理。
- 處理包錯誤。
- 了解如何提示LLM下棋并能精確地返回提示詞。
令小哥想不到的是,Devin不僅要求小哥提供API密鑰,而且在試用過程中還可以正確地保護(hù)它。
不過,Devin目前反饋速度還相當(dāng)慢,小哥推測是因?yàn)楹笈_發(fā)生的代理提示遠(yuǎn)遠(yuǎn)比要看到的要多得多。
從小哥發(fā)起請求開始,它花了大約19分鐘才詢問API密鑰。
小哥猜測,如果延遲是由于他們在后臺運(yùn)行大量提示造成的,那么延遲應(yīng)該會隨著時間的推移而加快。
因?yàn)樗麄円院罂梢栽L問專用GPU或與Claude或OpenAI合作降低延遲(估計(jì)是GPT-4或Claude Opus)。
Devin首先制定了一個規(guī)劃。
在右上角,用戶可以切換「跟隨」?fàn)顟B(tài),這樣用戶可以將屏幕自動移動到#Devin當(dāng)前激活了的選項(xiàng)卡上。
小哥沒有打開跟隨狀態(tài),因?yàn)樗MS時觀察各個位置的變化。
規(guī)劃器會隨時保持針對當(dāng)前任務(wù)的更新狀態(tài)。
Shell看起來和普通的Shell沒什么區(qū)別,但用起來真的很有趣!
Devin在工作過程中會打開多個shell,在shell的底部,用戶可以拖動藍(lán)色滑塊來往前查看Devin編寫的命令。
下圖是它當(dāng)在嘗試調(diào)試棋盤未渲染的內(nèi)容。
與此同時,小哥要求它再執(zhí)行一個數(shù)據(jù)分析的任務(wù)。
小哥讓Devin去「創(chuàng)建一張過去五十年南極洲海水溫度的地圖」。
對于這個請求,小哥覺得有兩個方面可能很具有挑戰(zhàn)性:
- 處理空間數(shù)據(jù)繪圖/可視化。
- 知道在哪里下載數(shù)據(jù),而且了解如何使用數(shù)據(jù)源,因?yàn)榈乩砜臻g數(shù)據(jù)處理起來很麻煩。
Devin能像一個優(yōu)秀的程序員一樣聰明地閱讀自述文件,并且還執(zhí)行一些基本的EDA來理解數(shù)據(jù)結(jié)構(gòu)。
數(shù)據(jù)居然是一個ascii文件,小哥覺得有點(diǎn)奇怪。
小哥單擊對話「調(diào)試Python腳本...」中的其中一個步驟時,它會打開與該步驟相關(guān)的代碼庫部分,因此可以跟蹤某一個具體時間點(diǎn)發(fā)生的情況。
小哥比較擔(dān)心的是,如果不是必須要詢問API密鑰,Devin似乎會不停地編碼停不下來。
所以他試了試是否可以更改他之前提出的請求或指定其他內(nèi)容,中斷Devin的編碼過程。
因?yàn)閷τ诖蟛糠钟脩粼诰幋a時,都有可能會改變主意或者有一些新的東西想要添加進(jìn)系統(tǒng)之中,能夠處理這種情況是很有必要的。
這是編碼過程中的截圖:
瀏覽器界面的呈現(xiàn)方式如下:
然后小哥又提了針對數(shù)據(jù)可視化的任務(wù)又提了一個要求,讓系統(tǒng)將高溫設(shè)置為藍(lán)色,低溫設(shè)置為紅色。
為了不中斷編碼的過程,似乎Devin又開啟了一個工作線程來記錄小哥的臨時要求。
最終,Devin將APP部署到了Netlify上了,一個應(yīng)用已經(jīng)上線了。
網(wǎng)頁的鏈接:https://t.co/wTbtz2waDn
就像人類寫的程序一樣,第一個版本肯定是有Bug的。
因?yàn)樾「缫蟮氖悄蠘O洲的溫度記錄,似乎對于Devin來說它理解起來有些障礙。
于是小哥把要求顯示的位置改為了北美。
總結(jié)
小哥沒有給出Devin修改了Bug的結(jié)果,只是初步總結(jié)了用Devin開發(fā)的第一個網(wǎng)站的使用體驗(yàn)。
先說優(yōu)點(diǎn):
Devin產(chǎn)品化做得很好,他給人的使用體驗(yàn)是一個完整的產(chǎn)品而不是只是一個簡單的對話框。
AI是系統(tǒng)最關(guān)鍵的部分,但支撐AI功能的產(chǎn)品化的結(jié)構(gòu)是Devin的亮點(diǎn)。
Devin能夠完成自動部署,API密鑰保護(hù),隨時修改和添加需求等等非常好的各種功能。
產(chǎn)品的完成度已經(jīng)非常高了,遠(yuǎn)遠(yuǎn)超過了一般的演示Demo。
再說缺點(diǎn):
Devin的反應(yīng)還很慢,當(dāng)然小哥也說,因?yàn)樗玫氖?M的Starlink來上網(wǎng),所以反應(yīng)慢很有可能是他自己的原因。
其次就是還不能允許用戶直接自己編輯代碼,而且也沒法協(xié)作完成。
當(dāng)然,最初那個下棋的應(yīng)用,難住了Devin,最終沒有完成部署。而那個數(shù)據(jù)可視化的任務(wù),似乎也有些Bug。
最終,小哥用Devin做了一個chrom插件,可以幫助用戶把Github repo轉(zhuǎn)化成Claude prompt。
插件下載地址:https://t.co/k3l8JTWK7Z
網(wǎng)友評價
網(wǎng)友看了這個實(shí)測之后還是感覺有點(diǎn)失望,畢竟這個任務(wù)一個初級程序員是能做到的,但是Devin的可視化項(xiàng)目的結(jié)果只做出了一個有Bug的網(wǎng)頁。
看樣子Devin本質(zhì)上還只是一個可以上網(wǎng)的大模型,現(xiàn)在要讓他解決實(shí)際問題還有難度。