用了一個月后發(fā)現(xiàn),Devin是真不好用
在 AI 編程領域,你可能聽說過 Devin,它是由初創(chuàng)公司 Cognition 發(fā)布的一項成果。Devin 就像一個超級智能助手,能幫助工程師更快更好地完成工作,發(fā)布之初,很多人都稱贊 Devin 是全球首位 AI 軟件工程師。它似乎具備從學習新技術、調(diào)試成熟代碼庫,到部署完整應用程序,甚至訓練 AI 模型的全方位能力。
然而,事實真的如此嗎?答案是:未必。近日,來自新型 AI 研發(fā)實驗室 Answer.AI 的研究者就記錄了他們使用 Devin 翻車的情況。
他們還為此寫了一篇博客《與 Devin 共度一個月的感想》,文章詳細記錄了他們在給 Devin 超過 20 項任務之后獲得的感受。

博客鏈接:https://www.answer.ai/posts/2025-01-08-devin.html
以下是博客內(nèi)容:
簡單任務表現(xiàn)尚可
第一個任務很簡單但真實:將數(shù)據(jù)從 Notion 數(shù)據(jù)庫拉取到 Google Sheet。Devin 以令人驚訝的能力完成了這項任務。它瀏覽了 Notion API 文檔,了解需要什么,并指導我在 Google Cloud Console 中設置必要的憑證。它沒有只是轉(zhuǎn)儲 API 說明,而是帶領我完成每個菜單和按鈕點擊 —— 這通常會節(jié)省繁瑣的文檔搜索時間。整個過程大約花了一個小時(但只有幾分鐘人工交互)。最后,Devin 分享了一個鏈接,鏈接到一個格式完美的 Google Sheet,其中包含我們的數(shù)據(jù)。
它生成的代碼有點冗長,但可以運行。這感覺像是一個展望未來的場景 —— 一個可以處理消耗大量開發(fā)人員時間的「膠水代碼」任務的 AI。Johno 使用 Devin 創(chuàng)建了一個行星跟蹤器,用于揭穿有關木星和土星歷史位置的錯誤說法,也取得了類似的成功。令人印象深刻的是,他完全通過手機就做到了這一點,Devin 處理了設置環(huán)境和編寫代碼的所有繁重工作。
致命問題:在不可能完成的任務上浪費時間
在早期的成功基礎上,我們依賴 Devin 的異步能力。我們想象讓 Devin 在會議期間編寫文檔,或者在我們專注于設計工作時調(diào)試問題。但隨著我們擴大測試范圍,問題出現(xiàn)了。看似簡單的任務往往需要幾天而不是幾個小時,Devin 會陷入技術死胡同或產(chǎn)生過于復雜、無法使用的解決方案。
更令人擔憂的是,Devin 傾向于推進實際上不可能完成的任務。當被要求將多個應用程序部署到單個 Railway 部署中(Railway 不支持這一點時),Devin 沒有識別到這個限制,而是花了一天多的時間嘗試各種方法,并幻想不存在的功能。
最令人沮喪的不是失敗本身 —— 所有的工具都有局限性 —— 而是我們花了多少時間試圖挽救這些嘗試。
深入了解哪里出了問題
在探索過程中讓我們感到困惑的是,Devin 能夠熟練地處理 API 集成并構建功能性的應用程序,但卻在一些看似更簡單的任務上遇到了困難。
我們開始懷疑是自己的運氣不好,還是使用方法有誤。為了回答這一問題,在接近一個月的時間里,我們系統(tǒng)地記錄了對以下幾類任務的嘗試:
- 從零開始創(chuàng)建新項目
- 執(zhí)行研究任務
- 分析和修改現(xiàn)有項目
結果令人震驚,在 20 項任務中,Devin 有 14 次失敗,3 次成功,3 次結果不確定。
更令人擔憂的是,我們無法找出任何規(guī)律來預測哪些任務會成功,甚至那些與早期成功案例相似的任務,Devin 都會以意想不到的方式失敗。
下面是我們在幾類任務上的一些經(jīng)驗總結。
從零開始創(chuàng)建新項目
從零開始創(chuàng)建新項目是 Devin 的強項。畢竟,Devin 最初的演示視頻就展示了其能自主完成 Upwork 任務的場景。然而,現(xiàn)實卻更加復雜。
這里,我們嘗試了一個可觀測性平臺集成的項目。任務很明確:生成合成數(shù)據(jù)并上傳。然而,Devin 并沒有提供一個簡潔的解決方案,而是生成了一堆代碼 soup—— 層層抽象使得簡單的操作變得不必要的復雜。
我們最終放棄了 Devin,轉(zhuǎn)而使用 Cursor 進行逐步構建集成,結果證明效率要比 Devin 高得多。
類似地,我們還進行了其他嘗試,比如當要求 Devin 在 AI 筆記工具和 Spiral.computer 之間創(chuàng)建集成時,Devin 生成的代碼被我們其中的一員形容為「意大利面條式的代碼,閱讀起來比從頭開始編寫更令人困惑?!?。測試后我們發(fā)現(xiàn),盡管 Devin 可以訪問兩個系統(tǒng)的文檔,但它似乎讓集成的每個方面都變得過于復雜。
不過,最能說明問題的是讓 Devin 進行網(wǎng)頁抓取。我們要求 Devin 跟蹤 Google Scholar 的鏈接并抓取某位作者最近的 25 篇論文 —— 這一任務使用 Playwright 等工具應該是非常簡單的。
考慮到 Devin 具備瀏覽網(wǎng)頁和編寫代碼的能力,這應該是特別容易實現(xiàn)的。然而,它卻陷入了一個無休止的 HTML 解析循環(huán)中,無法從自己的混亂中解脫出來。
研究任務
如果 Devin 在具體的編碼任務上表現(xiàn)不佳,或許它在研究任務上會表現(xiàn)得更好?
然而,結果充其量也只能說是喜憂參半。雖然它能夠處理基本的文檔查找,但對于更復雜的研究任務卻頗具挑戰(zhàn)性。
比如,當我們要求 Devin 完成帶有準確時間戳的轉(zhuǎn)錄摘要時 ——Devin 只是重復了一些與核心問題無關的信息,而沒有真正解決問題。具體而言,Devin 沒有探索潛在的解決方案或識別關鍵的技術挑戰(zhàn),而是提供了一些不涉及根本問題的通用代碼示例。
即使 Devin 看起來在取得進展,結果往往也不盡如人意。例如,當要求 Devin 創(chuàng)建一個最小化的 DaisyUI 主題時,它生成了一個看似可行的解決方案。然而,經(jīng)過仔細檢查,我們發(fā)現(xiàn)這個主題實際上并沒有起到任何作用 —— 我們所看到的顏色來自默認主題,而不是我們的自定義設置。
分析和修改現(xiàn)有代碼
Devin 最令人擔憂的失敗可能出現(xiàn)在處理現(xiàn)有代碼庫時。這些任務需要理解上下文并與現(xiàn)有模式保持一致 —— 這些技能本應是 AI 軟件工程師的核心能力。
我們嘗試讓 Devin 處理 nbdev 項目的經(jīng)歷尤其具有啟發(fā)性。當要求將一個 Python 項目遷移到 nbdev 時,Devin 甚至無法掌握基本的 nbdev 設置,盡管我們?yōu)槠涮峁┝巳娴奈臋n訪問權限。更令人困惑的是它處理 notebook 的方式 —— 它沒有直接編輯 notebook,而是創(chuàng)建了 Python 腳本來修改它們,為簡單的任務增加了不必要的復雜性。雖然它偶爾會提供一些有用的注釋或想法,但它生成的代碼卻始終存在問題。
安全審查也暴露了類似的問題。當我們要求 Devin 評估一個 GitHub 倉庫(不到 700 行代碼)的安全漏洞時,它反應過度,標記了大量誤報,甚至虛構了一些不存在的問題。這種分析可能更適合通過一次簡單的、有針對性的 LLM 調(diào)用來完成,而不是 Devin 這種更復雜的方式。
在調(diào)試任務中,這種模式依然存在。當調(diào)查 SSH 密鑰轉(zhuǎn)發(fā)在設置腳本中為何不起作用時,Devin 只專注于腳本本身,從未考慮問題可能出在其他地方。類似地,當要求添加用戶輸入與數(shù)據(jù)庫值之間的沖突檢查時,一位團隊成員花了幾個小時研究 Devin 的嘗試,最終放棄,并在大約 90 分鐘內(nèi)自己完成了該功能的編寫。
團隊感受:沒有什么場景讓人真正想用 Devin
經(jīng)過一個月的密集測試,我們的隊員說出了以下感受:
「它可以完成的任務是那些非常小且定義明確的任務,我用自己的方式可能能更快完成。那些有望節(jié)省時間的復雜任務,它又很有可能失敗。所以沒有什么特定場景讓我感覺真的想用它?!埂狫ohno Whitaker
「一開始,我對它如此接近我想要的樣子感到很興奮,因為我感覺我只需要調(diào)整一些小地方。然后,隨著我不得不改動越來越多的地方,我逐漸變得沮喪,最終發(fā)現(xiàn)我還不如從頭開始,一步一步來得更妥當?!埂狪saac Flath
「Devin 在使用 AnswerAI 的關鍵內(nèi)部工具時遇到了困難,此外還有其他一些問題,使得這個工具很難使用。盡管我們?yōu)?Devin 提供了大量的文檔和示例,但它仍然遇到了這樣的問題。而在使用像 Cursor 這樣的工具時,我就沒有發(fā)現(xiàn)這種問題。在使用 Cursor 時,有更多機會可以逐步地、一點一點地引導事情朝著正確的方向發(fā)展。」——Hamel Husain
與 Devin 的情況相對比,我們發(fā)現(xiàn)那些更多由開發(fā)者主導的工作流程(比如像 Cursor 這樣的工具所采用的流程)能夠避開我們與 Devin 合作時所遇到的大部分問題。
結論
與 Devin 合作展示了自主 AI 開發(fā)渴望成為什么樣子。用戶體驗很精致 —— 通過 Slack 聊天,觀察它異步工作,看到它設置環(huán)境和處理依賴關系。
但問題是,它很多時候并不好用。在我們嘗試的 20 個任務中,我們看到 14 次失敗,3 個結果不確定,只有 3 次成功。更令人擔憂的是,我們無法預測哪些任務會成功。即使是與我們早期成功案例相似的任務也會以復雜、耗時的方式失敗??此魄熬肮饷鞯淖灾餍猿蔀榱素摀?——Devin 會花幾天時間追求不可能的解決方案,而不是認識到根本性的障礙。
這反映了我們在 AI 工具中反復觀察到的一種模式。社交媒體的興奮和公司估值與現(xiàn)實世界的實用性幾乎沒有關系。最可靠的信號來自用戶交付產(chǎn)品和服務的詳細故事。
One More Thing:新版本來了,能解決問題嗎?
Answer.AI 團隊一篇洋洋灑灑的博客暴露了 Devin 遇到的問題。原博客最后的附錄還展示了幾位研究者與 Devin 合作的具體任務。
可能大家都在期待新版本的到來,或許這些問題就解決了呢。
遺憾的是,新版本是發(fā)布了,但只是一個小版本的更新。最新發(fā)布的 Devin 1.2 在存儲庫中根據(jù)上下文進行推理的能力有了重大升級。
新版本更新可總結為以下幾點:
1:更新后的 Devin 更有可能找到需要編輯的相關文件,重用現(xiàn)有的代碼和模式,并且整體上會生成更準確的 Pull Request。這些改進將逐步向所有用戶推出。
2:Devin 現(xiàn)在可以回應音頻消息。試著口頭向 Devin 解釋你的任務和反饋,就能得到回復。

3:推出企業(yè)賬戶。企業(yè)賬戶的管理員可以:
- 管理所有組織的成員和訪問權限;
- 集中管理所有組織的賬單。
目前,企業(yè)賬戶功能僅對 Devin 企業(yè)客戶開放。
4:推出按使用量計費。從本月開始,用戶可以按需付費,直至達到你設置的額外使用預算。
用戶可以在 「Settings > Plans > Manage Plan Limits 」或者「 Settings > Usage and Limits > Manage Additional Usage Budget」中設置自己的額外使用預算。
這么看下來,雖然 Devin 已經(jīng)進化到 1.2 版本,但并不能覆蓋用戶在使用過程中遇到的各種問題,比如上文中 Answer.AI 遇到的一系列問題。





























