Agentless:革命性的無代理軟件工程方案

本文由「大千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)

采用分層查詢方式,逐步縮小到可疑的文件、類和函數,以及具體的編輯位置:

  1. 項目結構轉換:將整個項目代碼庫轉換成樹狀結構,展示每個文件在項目中的相對位置。
  2. 文件級定位:利用LLM根據問題描述和結構圖,確定最可疑的前N個文件。
  3. 類與函數級定位:對于選定的文件,提供文件的聲明頭(類和函數的列表),輸出需要重點檢查的類和函數列表。
  4. 代碼行級定位:將選出的類和函數的完整代碼內容呈現給LLM,進一步縮小需要修改的具體代碼行。

修復階段(Repair Phase)

使用簡單的diff格式生成多個候選補丁并對其進行過濾和排序:

  1. 生成候選補丁:將確定的代碼位置和問題描述輸入LLM,生成多個候選補丁。
  2. 語法與測試過濾:對生成的補丁進行初步過濾,移除存在語法錯誤或不能通過先前測試的補丁。
  3. 補丁重排與選擇:剩余的補丁根據多數投票機制重新排序,選擇排名第一的補丁作為最終修復方案。

整個過程就像一位經驗豐富的醫生先進行全身體檢,然后根據癥狀快速找到病灶,最后進行精準的微創手術,只修改必要部分,大大降低了出錯風險。

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技術!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/95249.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/95249.shtml
英文地址,請注明出處:http://en.pswp.cn/web/95249.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CVE Push Service | 高危漏洞實時情報自動化推送工具

工具介紹 🔥 CVE Push Service | 自動化高危漏洞情報推送 ? 面向網絡安全從業者的 高危漏洞實時情報推送工具 自動拉取 NVD 最新漏洞數據,篩選 CVSS ≥ 7.0 的高危漏洞,并通過 Server醬3 第一時間推送到您的設備,幫助您在應急響…

SpringBoot的基礎介紹,用法和配置

為什么會推出一款全新的SpringBoot?雖然Spring已經取得了非常大的成功,他的優點非常的多,將創建方法的權利給了Spring架構使我們程序員寫代碼更加的便利。但是Spring也有很多的缺點:配置麻煩,而且很多都是模板化的配置…

深度學習】--卷積神經網絡

?????? 卷積神經網絡 卷積神經網絡(Convolutional Neural Network,簡稱CNN)是一種深度學習模型,特別適用于處理具有網格結構的數據。主要目的是自動地、層次化地從原始數據中學習有效的特征表示,以完成特定的任…

RK3588部署YOLOv8姿態估計

1. YOLOv8姿態估計與部署 姿態估計(Pose estimation)是一項涉及識別圖像中關鍵點位置的任務。 關鍵點可以表示對象的各個部分,如關節、地標或其他獨特特征,關鍵點的位置通常表示為一組2D[x, y]或3D[x, y, visible]坐標。 YOLOv8-Pose人體姿態估計,會先檢測出圖像中…

信創之-麒麟v10服務器安裝tengine(已完成)

之前的文章太長了,所以單獨寫背景:java8springbootnginxredissqlserverwindows server2000目前java8已經更換,windows也已經更換,sqlserver也已經更換成dm8其實java的靜態文件目錄,可以很好處理前端網站了,…

Redis進階(上)

Redis系統架構中各個處理模塊是干什么的? Redis 系統架構 本課時,我將進一步分析 Redis 的系統架構,重點講解 Redis 系統架構的事件處理機制、數據管理、功能擴展、系統擴展等內容。 事件處理機制 Redis 組件的系統架構如圖所示,主…

【K8s】整體認識K8s之監控與升級/ETCD的備份和恢復/kustomization/CRD

metrics-server 先說一下metrics-server,這是一個聚合器,專門用來顯示集群的資源使用情況,主要是內存和cpu。 安裝 metrics-server kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.7.0/comp…

【數據分享】多份土地利用矢量shp數據分享-澳門

而今天要說明數據就是多份土地利用矢量shp數據分享-澳門。數據介紹▲ 土地利用數據(2025年)▲土地利用數據(2018年)▲ 30m土地利用數據(2023年)▲ 公路鐵路道路河流水系數據概況其他概況注:本文…

增強現實—Gated-attention architectures for task-oriented language grounding

🌟🌟 歡迎來到我的技術小筑,一個專為技術探索者打造的交流空間。在這里,我們不僅分享代碼的智慧,還探討技術的深度與廣度。無論您是資深開發者還是技術新手,這里都有一片屬于您的天空。讓我們在知識的海洋中…

CC攻擊的技術分析與防御策略

CC攻擊(Challenge Collapsar Attack)是一種針對Web應用的拒絕服務攻擊方式,其主要通過模擬正常用戶行為來消耗服務器資源。為了更好地理解這種攻擊,讓我們詳細分析其技術原理及防御策略。CC攻擊的技術原理CC攻擊主要是通過發送大量…

【圖論】分層圖

一、分層圖的核心思想 分層圖是一種將圖的不同狀態拆分為多個“層”的建模方法,每層對應一種特定狀態。通過這種方式,可以將復雜的狀態轉移問題轉化為多層圖中的最短路徑問題。 核心特點: 層內邊:表示普通操作(如正常行…

當穩定幣開始生息:USDT0 與 Berachain 的二次進化故事

如果說過去幾年,穩定幣是 DeFi 世界里最安穩的一塊基石,那么 2025 年的 Berachain 正在把它們重新塑造成一種新的資產類型。在這條新興的公鏈上,穩定幣不再只是 “資金的搬運工”,而是搖身一變,成為能生息、能博弈、能…

Kafka、RabbitMQ 與 RocketMQ 在高并發場景下的高可用與性能對比分析

Kafka、RabbitMQ 與 RocketMQ 在高并發場景下的高可用與性能對比分析 消息隊列作為分布式系統中常見的異步解耦組件,在高并發場景下對可用性和性能提出了極高的要求。本文基于生產環境需求,深入分析 Kafka、RabbitMQ 與 RocketMQ 三大主流消息中間件在高…

深入理解 HTTP 與 HTTPS:區別以及 HTTPS 加密原理

目錄 一、HTTP 與 HTTPS 的基本概念 二、HTTP 與 HTTPS 的核心區別 三、為什么需要 HTTPS? 四、HTTPS 的加密通信原理(核心) 1. 客戶端發起 HTTPS 請求 2. 服務端返回 SSL/TLS 證書 3. 客戶端驗證證書 4. 客戶端生成對稱密鑰并用公鑰…

零售行業的 AI 革命:從用戶畫像到智能供應鏈,如何讓 “精準營銷” 不再是口號?

AI 浪潮下的零售變革?在科技飛速發展的今天,人工智能(AI)正以前所未有的態勢席卷全球,深刻地改變著各行各業的運營模式和發展軌跡,零售行業自然也難以置身事外。AI 技術憑借其強大的數據處理能力、精準的分析預測能力…

PyTorch 面試題及詳細答案120題(96-105)-- 性能優化與調試

《前后端面試題》專欄集合了前后端各個知識模塊的面試題,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs,nodejs,mangoDB,SQL,Linux… 。 前后端面試題-專欄總目錄 文章目錄 一、本文面試題目錄 96. 如何查看PyTorch模型的…

Linux 孤兒進程 (Orphan Process)

🎁個人主頁:工藤新一 🔍系列專欄:C面向對象(類和對象篇) 🌟心中的天空之城,終會照亮我前方的路 🎉歡迎大家點贊👍評論📝收藏?文章 文章目錄孤…

Linux Tun/Tap 多隊列技術

🔥 Linux Tun/Tap 多隊列技術 引用:Linux tun/tap 驅動多隊列模式(C/C) 📖 引言 Tun/Tap 是 Linux 內核提供的虛擬網絡設備,廣泛應用于 VPN、虛擬化、網絡隧道等領域。傳統單隊列模式在高吞吐量場景下存…

docker 啟動一個clickhouse , docker 創建ck數據庫

1. 拉鏡像:docker pull clickhouse/clickhouse-server2. 創建容器并且啟動命令:docker run -d --name clickhouse-server \-p 8123:8123 -p 9000:9000 \clickhouse/clickhouse-server3. 日志文件的映射,可以自己配置下,目前創建的…

合約服務架構-OOP 方式

文章目錄前言🎯 經典的面向對象編程!1. 🏗? **封裝 (Encapsulation)**2. 🧬 **繼承 (Inheritance)**3. 🎭 **多態 (Polymorphism)**4. 🎨 **抽象 (Abstraction)**🏛? 設計模式的應用1. **工廠…