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)
采用分层查询方式,逐步缩小到可疑的文件、类和函数,以及具体的编辑位置:
- 项目结构转换:将整个项目代码库转换成树状结构,展示每个文件在项目中的相对位置。
- 文件级定位:利用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技术!