17611538698
webmaster@21cto.com

为你总结的 12 个前沿编码代理

人工智能 1 266 2025-08-02 04:33:53
图片

图片来源:豆包AI

导读:AI 驱动的编码代理如今终成现实,且已经投入实际使用。尽管仍有这样那样一些缺陷,但它仍然在迅速流行。本文便是一些最有前景的AI代理之介绍。

一年前,几乎没有人听说过编码代理(AI Agent),即使听说过,也是在尚未发挥作用的技术背景下。

而2025这一年的变化真大啊。

现如今,编码代理无处不在,触及软件开发生命周期的方方面面。目前的编码代理产品包括 Amazon Q Developer、Cline、Cursor、Devstral、GitHub Copilot、Google Jules、Lovable、OpenAI Codex、Solver、Sourcegraph Amp、Windsurf Cascade 和 Zencoder。

在本篇文章中,我们将调查当今的编码代理可以做什么,并简要介绍每种产品。

什么是AI编码代理?


人工智能代理是一种自主型工具,开发者可以委托其执行任务。


编码代理拥有与软件开发生命周期相关的专业能力,并接受过专门的计算机语言培训。


AI代理具有推理能力,通常通过AI大语言模型实现。它们需要访问其他程序,并通过连接器实现。它们亦受益于短期和长期记忆存储。使用多个AI代理需要协义,将所有这些结合起来意味着需要实现一个运行时层。

是的,允许这些不同的组件交互需要协议。目前,MCP(模型上下文协议)正在逐渐成为主流。

MCP 是由 Anthropic提出的一项开放标准,它为 AI 模型提供了一种访问外部数据和工具(例如浏览器或任何具有 API 的应用程序)的通用方式。

另一个重要的开放协议是 Google 的 Agent2Agent ( A2A ) 协议,该协议允许代理与其他代理连接并进行团队协作。

IBM 的代理通信协议 ( ACP ) 是另一个用于代理互操作性的开放标准。它定义了一个支持同步、异步和流式交互的 RESTful API,并在BeeAI中实现了它。

除了模型和协议之外,代理还需要一定权限才能对其他程序和资源采取行动。最后,代理需要数据来实现多种目的。

如上所述,除了代码训练之外,对编码代理还有一些特殊考虑。他们需要能够使用软件存储库,了解整个项目,理解内部风格,编写单元测试(以及其他十几种可选的测试),找到合适的位置添加新代码,运行代码,测试代码,调试代码,根据测试修改代码,编写提交消息,签入工作代码,生成拉取请求等等。

图片

一个更重要的是,编码代理需要人类批准或不批准对代码库提出的更改。

Amazon Q Developer


2024年的秋天,Amazon Q Developer支持两个代理:一个用于生成代码 (/dev),一个用于将旧 Java 项目转换为更新的 Java 版本的 (/transform)。2024 年 12 月,亚马逊又增加了三个代理:一个用于在代码库中生成文档 (/doc),一个用于执行代码审查以检测和解决安全性和代码质量问题 (/review),以及一个用于自动生成单元测试并提高测试覆盖率 (/test)。

Amazon Q Developer 可以为提示语提供五种上下文:工作区、文件夹、文件、选定代码和已保存提示。无论是否启用代理编码,都可以使用这些上下文。

Amazon Q 开发人员代理

Amazon Q Developer 目前提供五种代理:/dev、/test、/review、/doc 和 /transform。


Cline


Cline是一个“完全协作的 AI 伙伴”,开源并且可扩展


Cline 的功能远不止代码生成,它还能支持开发者的工作流程,监控从终端、文件到错误日志的各种环境,自动检测问题并应用修复,以及使用 MCP 集成连接文档和数据库。它拥有丰富的 MCP 插件。


Cline 支持几十家 AI 供应商,只要你能提供 API 密钥即可,但它目前与 Anthropic Claude 配合使用效果最佳。与大多数 VS Code AI 插件不同,Cline 不会监视你的 VS Code 编辑会话并尝试完成代码。相反地,你可以在聊天窗口中引导它,为其分配任务并响应澄清并许可请求。

克莱恩


Cline 可以生成完整的项目并代表你执行操作。这里它创建了一个新的项目文件夹,并生成了一个简单网页。


Cursor


虽然许多编码助手都是Visual Studio Code的插件,但 Cursor 却是 Visual Studio Code 的一个分支。


它相对于 VS Code 的主要改进在于代码补全和聊天功能,后来添加了代理模式,并且一直在持续改进。


Cursor 中当前的聊天模式选项包括 Agent(默认)、Ask(本质上是只读模式)、Manual(通过明确的文件目标进行精确的代码更改)和 Background(云端代理)。在之前的 Composer 模式已变为 Chat,而 Yolo 模式已简化为 Agent 模式下的自动运行开关。


Cursor 的代理模式可以实现端到端地完成任务。使用自定义检索模型,Cursor 可以理解代码库。默认情况下,它可以自动编写和运行终端命令,前提是需要你的明确批准。Cursor 可以自动检测 Lint 错误并应用修复。代理模式可以运行你已安装的任何 MCP 模型。

后台代理是异步代理,可以在远程环境中编辑和运行你的代码。你可以随时查看其状态、发送后续操作或接管。后台代理和隐私模式是互斥的,在隐私模式下,你的任何代码都不会被 Cursor 或任何第三方存储。

最大模式可通过模型选择器中的开关启用,允许模型使用更大的上下文窗口,进行更多无需确认的工具调用,并能够从文件中读取多行。

光标


Cursor 的代理模式可以理解代码库、编写和运行终端命令、检测和修复 lint 错误以及运行你安装的任何 MCP 模型。

Devstral


Devstral是一个用于软件工程任务的开源代理大模型,由 Mistral AI 和 All Hands AI 合作构建,于 2025 年 5 月发布。它声称在 SWE-Bench Verified 上的表现远远优于所有开源模型,并且比许多闭源替代方案的性能要好很多。


据 Devstral 称它足够轻量,可以在一台 Nvidia GeForce RTX 4090 显卡或配备 32GB 内存的 Mac 上运行。事实上,我在一台配备 24GB 内存的 Mac 上使用 Ollama 运行它,速度也算可以接受。

我在本地测试了 Devstral,题目是“编写一个 C++ 程序,将圆周率计算到 20 位小数”。Devstral 的第一个程序使用了高斯-勒让德算法,这个算法还不错,但计算时使用的是 C++ double 类型。我指出:“难道不需要使用多精度浮点计算才能达到 20 位精度吗?” Devstral 说:“你说得对。标准 C++ double 类型通常提供大约 15-17 位小数的精度,因此要将圆周率精确到 20 位小数,需要一个支持任意精度运算的库。”

然后,Devstral 使用 GMP(GNU 多精度运算库)生成了一个程序。这应该可以运行,但至少可以说支持的位数很长。我提示它:“MPFR 不是可以让代码更简单吗?” 它同意了,但坚持使用高斯-勒让德算法,这又有点冗长。我又提示它:“为什么不使用 mpfr_const_pi?” 它接受了这个提示,最终生成了我自己可能编写的代码。

我很想知道 Devstral 是否知道MPFR在幕后做了什么:“mpfr_const_pi 使用什么算法?” 它没有查看 C++ 代码或文档,而是给了我一个 BS 答案,包括“一种常用的高精度计算 Pi 的算法是 **Chudnovsky 算法**”。 的确如此,但 MPFR 实际上使用的是 Brent-Salamin 公式,如MPFR 算法中所述。 在允许网络搜索的环境中运行 Devstral 可能会让它表现得更好。

GitHub Copilot


GitHub Copilot 编码代理2025 年 5 月发布,并在微软的“Microsoft Build” 大会上进行演示。

当你将 GitHub 问题分配给 Copilot 或在 VS Code 中提示它时,编码代理便会开始工作。该代理会启动一个由GitHub Actions支持的开发环境。从那里,它会将提交推送到草稿拉取请求,你可以通过代理会话日志进行跟踪。在运行任何CI/CD工作流之前,代理的拉取请求都需要人工批准。Copilot 完成后,它会标记你以供审核,你可以留下评论,要求它进行修改。

GitHub Copilot 还提供了一个代码审查代理,它有两种模式。你可以突出显示选定的代码并要求“初步审查”,也可以请求对拉取请求中的所有更改进行“深入审查”。代码审查代理将在评论中提供反馈,并建议你只需点击一下即可实施的更改。如果我们愿意,可以配置一个存储库,使其自动向 Copilot 请求所有新的拉取请求进行代码审查。

GitHub Copilot

GitHub Copilot 在 VS Code 中运行的编码代理模式。


Google Jules


Jules是一个实验性的 AI 代理,它使用 Gemini 2.0 异步执行 Python 和 JavaScript 编码任务。我们可以在 GitHub 代码库中安装并运行它。

谷歌朱尔斯

你可以从 GitHub 存储库调用 Google Jules 来修复错误、添加功能、编写文档或几乎任何你可以编写拉取请求的操作。


Lovable


图片


Lovable 是一个充满氛围的编码网站,用户无需任何编码专业知识,只需用简单的英语描述需求,即可创建全栈 Web 应用程序。它包含 AI 编码工具、实时协作(Beta 测试)和项目共享功能。


Lovable成立仅八个月,年度经常性收入(ARR)就已突破1亿美元。这使其成为有史以来最快实现这一里程碑的软件公司,超过了Cursor和Wiz等公司的历史性快速增长速度。


Lovable 提供两种 AI 模式:编辑和聊天。聊天模式具有代理功能,可帮助你制定计划。当你要求聊天执行计划时,Lovable 会切换回编辑模式并生成代码。

在代码模式下,你可以使用 Lovable 项目编辑器查看和编辑 Lovable 项目的完整代码库;Lovable 项目编辑器是一款 React 应用。你可以使用 Builder.io 插件从 Figma 导入设计,前提是正确构建了 Figma 文件的结构。

可爱


Loveble的原型应用程序(右)是根据提示“创建一个仪表板,其中包含用户登录信息、折线图中的月销售额以及饼图中的客户人口统计数据”(左)生成的。


OpenAI Codex


OpenAI Codex 包含两个组件:与 GitHub 兼容的 Codex 和在命令行界面中运行的 Codex CLI。


此外,Codex 允许你将任务委托给云端的软件工程代理;Codex CLI 则充当终端中的轻量级编码代理。


Codex 可以并行执行多项任务,例如编写功能、解答代码库相关问题、运行测试以及提交拉取请求以供审核。每个任务都在其专属的安全云沙盒中运行,并预加载了你代码库和相应的运行时环境。

OpenAI Codex 01


OpenAI Codex 主屏幕。请注意,所有三个任务都在不同的虚拟环境中同时运行。


OpenAI Codex 02

OpenAI Codex 解释了 Gorilla WebSocket 代码库结构并提供了指针和后续步骤。 

OpenAI Codex 03


OpenAI Codex 发现并修复了代码库中的一个重要错误。请注意,如果您愿意,可以针对该错误修复生成拉取请求 (pull request)。


OpenAI Codex 04


OpenAI Codex 识别并提出针对拼写错误、错误、文档和测试的修复。


Solver


2025 年 2 月,我第一次接触Solver

就说过:“虽然它尚未完成……但 Solver 确实提升了自动化软件工程的标准。”

从那时起,Solver 将其预配置的用于代码执行的运行时(Docker 镜像)从一个(Python)扩展到超过 20 个(这个数字包括不同的语言版本,因此实际上接近 10 个),通过Smithery添加了 MCP 服务器支持,与 Slack 集成,添加了一个依赖于存储库的内存功能,用于存储指令和首选项,并添加了在提示中提供镜像的功能。

Solver 也在持续改进自己的模型。

Solver 声称其自动化程度达到 4 级,这意味着“高度自动化:软件可以在很少甚至完全不需要人工监督的情况下自行编写”。

解算器

带有选项的求解器应用程序弹出。 

Sourcegraph Amp

Amp是一款由 Sourcegraph(Cody 的开发者)开发的代理式编码工具。

Amp 可以作为 VS Code(以及兼容的分支,例如 Cursor、Windsurf 和 VSCodium)的插件运行,也可以作为命令行工具运行。它支持 Playwright 等 MCP 服务器,并连接到 GitHub 和 Slack 等其他程序。Amp 可以“读取”屏幕截图、生成 Mermaid 图表、执行构建、运行代码并修复错误。它还支持团队协作。

Amp 的理念与 Cody 以及大多数其他编码代理不同。

首先,你可以使用任意数量的代币,只需按使用量付费,无需支付固定的月费。其次,Amp 使用目前最好的模型,即 Claude Sonnet 4,用于大多数任务。

最后,Amp 的设计初衷就是为了改变。

Sourcegraph Amp


我要求 Amp 查找并修复https://github.com/meheller/websocket中一个重要部分的一个 bug ,这也是我交给 Codex 的任务之一。


Amp 和 Codex 分别修复了不同的 bug。


Windsurf


Windsurf是一款 AI 代码编辑器,前身曾称为 Codeium,基于Visual Studio Code 开源演化,近期被 OpenAI 收购,引发了 OpenAI 与微软之间的知识产权纠纷。


Cascade是 Windsurf 的编码代理,即在用户界面的右侧有一个聊天界面。Windsurf 声称 Cascade 具有完整的上下文感知功能,可以建议和运行命令,可以从上次中断的地方继续操作,并可以执行多文件编辑。它可以搜索网页,使用图像作为参考,使用持久内存,并使用模型上下文协议 (MCP)。

Cascade 目前支持多达 16 种型号,具体取决于用户的订阅计划和提供的密钥,包括其自有的 SWE-1 型号。

此外,它还提供了一个可供安装的 MCP 服务器库。

Zencoder


Zencoder利用其对代码库的理解,帮助你修复代码、生成完整的单元测试并实时解决问题。

目前,Zencoder有四个预定义代理,外加一个包含20多个自定义代理的库。 评测自定义代理的定义及其允许使用的工具是一项很有趣的练习。

Zencoder


我们在界面左侧可以看到专为代码审查而设计的 Zencoder 自定义代理的定义。


结语


正如各位朋友所见,编码代理现在已经真实可用,而且高达有十几种。


你可能会问,我应该用哪一种?AI顾问通常会回答“视情况而定”。然而,我们甚至还没做好准备。我现在的答案是“等几个月,看看情况如何?”

作者:洛逸

评论