输入“/”快速插入内容

All Hands AI 开源 OpenHands CodeAct 2.1:推动软件开发的新力量

2024年12月8日修改
在当今的软件开发领域,AI 代理的应用呈现出爆发式增长,它们承诺提高生产力、自动化复杂任务,并为开发者带来更便捷的工作体验。然而,一个普遍存在的问题是,这些看似前景广阔的 AI 代理在有效解决现实世界问题方面的能力与预期存在显著差距。大多数 AI 代理难以理解软件开发挑战的复杂性和上下文细微差别,尤其是在解决开发者日常面临的真实 GitHub 问题时,往往表现不佳,需要开发者进行大量的监督或手动修正,这在一定程度上违背了使用 AI 代理的初衷。
为了解决这一挑战,我们需要一种不仅更加智能,而且能够适应软件工程动态需求的解决方案。软件工程领域充满了独特的挑战和快速变化的项目,因此需要一种能够跟上这种节奏的工具。
All Hands AI 开源的 OpenHands CodeAct 2.1 便是这样一种解决方案,它是首个在 SWE-Bench(评估 AI 辅助软件工程工具的标准基准)中能够解决超过 50%真实 GitHub 问题的软件开发代理。OpenHands CodeAct 2.1 在 SWE-Bench 上的解决率达到了 53%,在 SWE-Bench Lite 上的成功率为 41.7%,这是一个重大的突破。
OpenHands CodeAct 2.1 的革命性在于它不仅仅是在受控环境中进行实验,而是真正地在实际项目中发挥作用,自主解决真实的 GitHub 问题。与其他要么过于封闭无法进行贡献,要么过于小众对更广泛的社区无用的工具不同,OpenHands 是一个开源代理,开发者可以自由使用、改进和适应。这种开放性与竞争力的完美结合,使其成为开发者寻求有效 AI 解决方案的首选。
OpenHands CodeAct 2.1 的性能提升主要源于三大更新。首先,它切换到了 Anthropic 的新 Claude-3.5 模型,这显著提高了自然语言理解能力,使 CodeAct 能够更好地理解开发者提出的问题。其次,对代理的操作进行了修改,采用了函数调用,这使得任务执行更加精确。这样可以确保代理能够准确地调用特定的代码片段,而不会产生误解,从而更准确地解决开发者的问题。最后,CodeAct 2.1 的开发者在目录遍历方面进行了重大改进,减少了代理陷入重复或循环任务的情况。通过优化代理智能导航目录的能力,能够更顺利地解决更大、更复杂的问题,显著提高了效率。
这些更新的重要性不容小觑。在 SWE-Bench 上有 53%的解决率意味着超过一半的问题在没有任何人工干预的情况下得到了解决。考虑到 SWE-Bench 是专门设计来代表软件开发人员在现实世界中面临的 GitHub 问题,这一里程碑表明,OpenHands CodeAct 2.1 可以通过自主解决大量问题,直接影响软件工程工作流程。在更广泛的自动化开发辅助领域,这一点具有重要意义,因为它为开发者节省了时间,使他们能够专注于更高层次的挑战,而不是被繁琐的问题解决所困扰。此外,OpenHands 的开源性质吸引了全球的开发者为其做出贡献并进一步改进,这是开发社区高度重视的一个特点。在 SWE-Bench Lite 上,OpenHands CodeAct 2.1 取得了 41.7%的解决率,这也证明了它在处理较简单问题时的通用性和能力,这些问题如果在开发流程中得不到及时处理,同样可能会产生严重的影响。
总之,OpenHands CodeAct 2.1 是 AI 驱动软件开发的一个突破,使我们向真正能够提高生产力的全自动编码助手又迈进了一步。它能够在 SWE-Bench 中解决超过 50%的真实 GitHub 问题,这不仅展示了技术的进步,也证明了其在实际应用中的可用性,开发者可以在日常工作中依赖它。OpenHands 的开源性质确保了它是一个社区驱动的项目,具有持续改进的潜力。无论是开发者希望在本地运行 OpenHands,通过 GitHub Actions 进行集成,还是注册即将发布的在线版本,它都提供了灵活性,并向所有开发者发出了共同参与其发展的开放邀请。随着代理能力的重大改进,如采用 Anthropic 的 Claude-3.5、实现函数调用和改进目录遍历,OpenHands CodeAct 2.1 正在为 AI 开发代理树立新的标准:高效、易用且不断进化。