本文由「大千AI助手」原創發布,專注用真話講AI,回歸技術本質。拒絕神話或妖魔化。搜索「大千AI助手」關注我,一起撕掉過度包裝,學習真實的AI技術!
01. 什么是Agentless?
Agentless是由伊利諾伊大學香檳分校(UIUC)張令明教授團隊提出的一種無代理自動化軟件開發方法。與研究焦點聚焦于Agent系統設計不同,UIUC團隊選擇反其道而行之。
與傳統的基于代理的方法的冗長和復雜的設置相比,Agentless采用了簡單的定位后修復兩階段過程,而不讓LLM決定未來的動作或使用復雜的工具。
其核心理念是摒棄復雜的AI代理系統,通過簡單的兩階段方法來定位和修復代碼庫中的bug。這種方法驚人地發現,簡單并不等于低效,反而在性能和成本上都表現出色。
本文由「大千AI助手」原創發布,專注用真話講AI,回歸技術本質。拒絕神話或妖魔化。搜索「大千AI助手」關注我,一起撕掉過度包裝,學習真實的AI技術!
往期文章推薦:
- 20.生物學自然主義:心靈哲學中的生物性探索
- 19.COLA:大型語言模型高效微調的革命性框架
- 18.生成對抗網絡(GAN):深度學習領域的革命性突破
- 17.GRPO(組相對策略優化):大模型強化學習的高效進化
- 16.接吻數問題:從球體堆疊到高維空間的數學奧秘
- 15.LDA(隱狄利克雷分配):主題模型的經典之作
- 14.InstructGPT:使用人類反饋訓練語言模型以遵循指令
- 13.DQN(深度Q網絡):深度強化學習的里程碑式突破
- 12.遺傳算法:模擬自然選擇的優化智慧
- 11.帕累托優化:多目標決策的智慧與藝術
- 10.dapo:開源大規模llm強化學習系統的突破與實現
- 9.馮·諾依曼:數字時代的天才建筑師
- 8.eniac:世界上第一臺通用電子計算機的傳奇
- 7.馮·諾依曼架構:現代計算機的基石與瓶頸
- 6.密碼破譯機bombe:二戰中破解enigma的傳奇設備
- 5.波蘭密碼破譯機bomba:二戰密碼戰的隱形功臣
- 4.注意力機制:捕獲長距離依賴關系的革命性技術
- 3.康威生命游戲:零玩家游戲的元胞自動機奇跡
- 2.OpenHands:開源AI軟件開發代理平臺的革命性突破
- 1.NoCode-bench:自然語言驅動功能添加的評估新基準
02. 為什么需要Agentless?
當前AI代理系統存在幾個顯著問題。它們通常有復雜的工具使用和設計,需要精心設計API調用規范。決策規劃的控制不足,代理容易困惑并執行次優探索。而且,它們缺乏自我反思能力,無法過濾不相關或錯誤信息。
更值得關注的是,圖靈獎得主Yoshua Bengio等專家指出,智能體AI系統可能存在災難性風險,包括目標偏差、目標泛化和獎勵篡改等問題,可能威脅人類生存。
Bengio建議開發非智能體(non-agentic)AI系統作為更安全的替代方案。Agentless正是在這樣的背景下應運而生,提供了一種更簡單、更安全、更可控的自動化軟件開發途徑。
03. Agentless的技術架構
Agentless的工作流程分為兩個核心階段:定位階段和修復階段。
定位階段(Localization Phase)
采用分層查詢方式,逐步縮小到可疑的文件、類和函數,以及具體的編輯位置:
- 項目結構轉換:將整個項目代碼庫轉換成樹狀結構,展示每個文件在項目中的相對位置。
- 文件級定位:利用LLM根據問題描述和結構圖,確定最可疑的前N個文件。
- 類與函數級定位:對于選定的文件,提供文件的聲明頭(類和函數的列表),輸出需要重點檢查的類和函數列表。
- 代碼行級定位:將選出的類和函數的完整代碼內容呈現給LLM,進一步縮小需要修改的具體代碼行。
修復階段(Repair Phase)
使用簡單的diff格式生成多個候選補丁并對其進行過濾和排序:
- 生成候選補丁:將確定的代碼位置和問題描述輸入LLM,生成多個候選補丁。
- 語法與測試過濾:對生成的補丁進行初步過濾,移除存在語法錯誤或不能通過先前測試的補丁。
- 補丁重排與選擇:剩余的補丁根據多數投票機制重新排序,選擇排名第一的補丁作為最終修復方案。
整個過程就像一位經驗豐富的醫生先進行全身體檢,然后根據癥狀快速找到病灶,最后進行精準的微創手術,只修改必要部分,大大降低了出錯風險。
04. Agentless的性能表現
在流行的SWE-bench Lite基準測試中,Agentless取得了令人矚目的成績。
使用Claude 3.5 Sonnet作為底層模型時,Agentless在SWE-bench lite和verified測試集上分別達到了40.7%和50.8%的解決率,超越了所有現有的開源Agent方案。
更令人印象深刻的是,Agentless實現了驚人的成本控制,每解決一個問題僅需0.7美元,遠低于傳統Agent方案動輒幾美元甚至十幾美元的成本。
在一些測試中,成本甚至低至0.34美元,比其他基于Agent的方案低了將近90%。這種成本效益使得Agentless對于資源有限的開發者和組織尤為吸引人。
05. 與傳統Agent方案的對比
與傳統Agent方案相比,Agentless的優勢主要體現在以下幾個方面:
架構復雜性:傳統Agent需要復雜的環境建模和工具使用協議,而Agentless采用簡單的兩階段流程,無需復雜工具。
決策機制:傳統Agent將決策權交給LLM,容易出現錯誤累積,而Agentless限制了LLM的決策權,由系統控制流程。
可解釋性:傳統Agent的多步決策過程難以調試,而Agentless的簡單設計使其更容易理解和調試。
成本效益:傳統Agent需要多次API調用,成本高昂,而Agentless通過減少不必要的調用顯著降低成本。
UIUC團隊的研究表明,復雜的方案不一定是最好的選擇。傳統的Agent方法雖然看起來很酷炫,但實際上增加了很多不必要的復雜性,反而限制了其實際效果。
06. 應用場景與前景
Agentless的應用場景廣泛,尤其在面對復雜和龐大的代碼庫時表現出色。它可以幫助開發者快速定位和修復bug,提高軟件開發效率。
此外,Agentless還可以作為其他AI系統的安全護欄,評估其行為的風險,并阻止可能導致危害的行動。它能夠通過計算某個行動可能導致的危害概率,并在概率超過閾值時阻止該行動。
在科學研究領域,Agentless的概念可以加速科學發現,幫助設計實驗和預測結果。它的非智能體設計確保人類始終掌控最終決策權,為高風險領域提供了更安全的AI應用方式。
SWE-bench Lite基準測試中,Agentless不僅以27.33%的解決率超越所有開源代理,更以單問題0.34美元的成本重塑了行業性價比標桿。
就連AWS研究科學家Leo Boytsov也贊嘆:“Agentless框架表現優異,超過所有開源Agent解決方案,幾乎達到SWE-bench Lite最高水平,而且以顯著更低的成本擊敗了其他方案,展現了卓越的實用性。”
UIUC團隊推出的Agentless已經登上開源AI軟件工程師榜首,在GitHub上獲得了超過300個Star,并登上DAIR.AI每周最熱ML論文榜單前三。這場無聲的革命正在重新定義我們對于AI軟件開發自動化的認知。
本文由「大千AI助手」原創發布,專注用真話講AI,回歸技術本質。拒絕神話或妖魔化。搜索「大千AI助手」關注我,一起撕掉過度包裝,學習真實的AI技術!