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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈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. **工厂…