去年我还在和同事争论:GitHub Copilot 到底算不算“会写代码”?今年这个问题已经没人再聊了。因为一票号称“编程 Agent”的平台,已经把我们过去熟悉的 AI 编程助手的玩法彻底卷了一遍。我私下把这条演进路径概括成四个字:由夯到拉。
“夯”是你抡起锤子一下一下砸实地面,每一下都得自己发力;“拉”则是目标在前方,你接上一根牵引绳,任务自己往前走。放在编程里,过去用 Copilot 类工具就是“夯”:你写一半,它补一半;你问一句,它答一句。指令到响应,响应到指令,所有节奏都靠你手动维持。而现在这些编程 Agent 平台,更像是“拉”:你给它一个目标,它自己读仓库、查日志、改代码、跑测试、修报错,最后给你交付一个能跑的版本。更夸张的是,有些云端 Agent 在你睡觉的时候还在干活,早上醒来你只需要 Review 它开的 PR。
这篇文章想干一件事:把这 17 款编程 Agent 平台一次性盘点清楚。它们形态差别很大,有的长在 IDE 里,有的活在终端里,有的干脆跑在云上,背后用的模型、计费方式、适合场景也完全不同。不管你是天天写业务代码的同学,还是在研究 Agent 架构的开发者,或只是好奇“AI 到底能不能替我干活”的围观者,按着这条“由夯到拉”的主线往下看,基本都能找到自己的定位。
1. 编程 Agent 的本质变化:从“夯”到“拉”
1.1 一次真实工作流:Copilot 时代 vs Agent 时代
我先用一个具体场景说明白什么叫“夯”,什么叫“拉”。假设现在线上有个 Java 服务报空指针,日志指向某个订单处理方法,问题说大不大,说小不小,得花二十分钟定位。
用传统 AI 编程助手,你的节奏是这样的:先打开报错日志,人肉分析可能是哪个对象没判空;然后跳进项目里找到对应方法,选中代码,问一句“这个方法哪里可能抛 NPE”;助手给你列了几个候选位置;你再复制堆栈信息追问“这个报错符合哪一条”;最后你手动改完,再手动编译、跑测试、推分支。整个过程,你像一个抡锤子的人——每一次 AI 的响应都建立在你的主动发力上,AI 不会自己走下一步。
换成 Agent 平台,节奏就变了:你把 GitHub Issue 链接丢给一个云端 Agent,说“修一下这个 NPE,顺便补个单测验证”。它自己 fork 一份代码,起一个隔离沙箱,读堆栈日志,在仓库里 grep 相关方法,修改代码,跑测试,如果测试挂了就继续修,全部通过后开一个 PR 等你 Review。中途你完全不用盯着它。你只是在“拉”的那头轻轻用了一下力,后面整个链条被它自己拽着走。
这就是我理解的“由夯到拉”的核心:AI 从“响应式工具”变成了“目标驱动型执行者”。前者永远在被动等待你的下一条指令,后者会主动规划路径、执行动作、根据结果自我修正。
1.2 编程 Agent 的四个核心能力,缺一不可
市面上的 Agent 平台这么多,判断一个工具是不是真 Agent,不是看它产品页上写没写“Agent”三个字,而是看它有没有这四块能力。
第一是模型推理能力。这是地基。现在各家平台普遍接的是 Claude、GPT、Gemini 这梯队的模型,或者 DeepSeek、Qwen 这类开源模型的顶配版本。模型不够聪明,后面再努力也是白搭。
第二是长上下文与代码库理解能力。真实项目动辄几十万行代码,Agent 有没有能力把相关文件都装进上下文,决定它是“真懂你的代码”还是“假装懂”。这一项是很多平台拉开差距的关键。Cursor 靠的是索引和检索,Claude Code 靠的是超大上下文窗口加精准的 grep,各家思路不太一样。
第三是工具调用能力。只说不会做,那不叫 Agent。会编辑文件、会跑终端命令、会执行测试、会调浏览器验证页面、会直接操作 git 和 GitHub,这才叫 Agent。工具调用越丰富,它的自主性越强。
第四是自我修正循环。Agent 做完一次修改后,不是直接收工,而是跑测试、看输出、发现失败、分析原因、再改,直到通过。没有这个循环的,只能叫“高级补全”,有了这个循环,才配得上“Agent”这个名字。很多人分不清 harness 和 agent 的区别。简单说,harness 是包裹模型的管道,负责把提示词、工具、上下文组装起来;agent 则是在这个管道里带着目标和决策权独立执行的主体。现在很多平台其实是一个很优秀的 harness,但真正的 agent 感,还要看它有没有目标规划与自我修正。
1.3 为什么是今年集中爆发
说实话,编程 Agent 的概念2023年就有了,AutoGPT 那种自动拆任务的项目还火过一阵,但当时根本没法用在真实项目里,跑不了几步就失控。为什么偏偏近两年突然能打了?我总结是四条线同时到位。
模型能力到了临界点。Claude 3.5 以后的长上下文和工具调用准确性,GPT-4.1 和 GPT-5 的并行任务处理,Gemini 2.5 和后续版本的百万 token 窗口,让 Agent 第一次能“读完整个仓库再动手”。这是一个质变。
评测基准把目标定义清楚了。SWE-bench 这类基准让“修真实 GitHub Issue”成为可量化的指标,各家的解决率从 2023 年的不到 5%,一路涨到现在的 70% 以上。有了成绩单,厂商才敢把 Agent 从玩具推向产品。
工程化基础设施成熟了。Docker 沙箱、云端开发环境、MCP 协议、IDE 扩展机制,这些东西把 Agent 需要的能力模块标准化了。以前想给 AI 一个“干净的房间”很难,现在拉起一个隔离容器只需要几秒钟。再加上 token 价格这几年降了不止一个数量级,Agent 跑一个任务是烧钱,但烧得起的人越来越多了。
1.4 17 款平台速览:先看全貌再深入
开始逐个拆之前,我把这 17 款平台的基本信息放在一张表里,你对着表先找一个自己感兴趣的形态,再往下细读。
| 编号 | 平台名称 | 形态 | 运行位置 | 核心特点 | 商业模式 |
|---|---|---|---|---|---|
| 1 | Cursor | IDE | 桌面/云端 | Agent 模式内嵌编辑器,并行 Agent,Bug Finder | 订阅制 |
| 2 | GitHub Copilot | IDE + 云端 | VS Code / GitHub | 从补全到 Coding Agent,云端自动开 PR | 订阅制 |
| 3 | Cline | IDE 插件 | VS Code | 开源,可换任意模型,Plan/Act 模式 | 开源 + API 费用 |
| 4 | Roo Code | IDE 插件 | VS Code | Cline 增强分支,多模式角色,Flash 模式 | 开源 + API 费用 |
| 5 | Windsurf | IDE | 桌面 | Cascade Agent 流式预测 | 订阅制 |
| 6 | Aider | 终端 CLI | 本机终端 | 轻量结对编程,自动 commit,repo map | 开源 + API 费用 |
| 7 | Claude Code | 终端 CLI | 本机终端 | 全栈终端 Agent,子代理,权限分级 | 订阅 + API |
| 8 | Amazon Q Developer | IDE/云端 | AWS 生态 | 自动定位修复问题,升级 Java 代码 | 订阅制 |
| 9 | Google Jules | 云端异步 | GitHub | 从 Issue 自动修 Bug 并开 PR | 预览期 |
| 10 | OpenAI Codex | 云端异步 | GitHub/网页/IDE | 沙箱并行任务,自然语言驱动 | 订阅制 |
| 11 | Devin | 云端异步 | 网页/IDE | 全自主“AI 软件工程师”,浏览器验证 | 订阅制 |
| 12 | Replit Agent | 在线 IDE | 浏览器 | 描述需求生成全栈应用并部署 | 订阅制 |
| 13 | Bolt.new | 在线 IDE | 浏览器 | 浏览器内一键生成应用,WebContainers | 订阅制 |
| 14 | OpenHands | 开源平台 | 本地/Docker | 事件流架构,可运行代码的通用 Agent | 开源+API |
| 15 | AutoGPT | 开源平台 | 本地 | 目标驱动自主 Agent,任务自动拆解 | 开源+平台版 |
| 16 | 通义灵码 | IDE 插件 | 阿里云生态 | Agent 模式,多文件修改,企业定制 | 免费+企业版 |
| 17 | MarsCode | IDE/Cloud IDE | 字节生态 | Agent 模式,免费额度,豆包大模型 | 免费+企业版 |
这张表里的 17 款,没有哪一款是“全面最强”。它们分布在不同轨道上,接下来我按形态分成四条线,逐个说清楚它们的脾气和适用场景。
2. IDE 内置 Agent:日常开发的主战场
2.1 Cursor:把 Agent 模式焊进编辑器
如果只能推荐一款编程 Agent 平台,我大概率还是会说 Cursor。它在 2025 年推出 1.0 版本的时候,直接把自己定义为 “Superhuman IDE”,听起来是营销话术,但用过一段时间后你确实会感觉它和普通 IDE 不是一个物种。
Cursor 最核心的升级是 Agent 模式。以前的 Composer 还要你明确告诉它改哪些文件,现在 Agent 模式可以自己翻阅代码库,定位相关文件,改完自动帮你跑命令验证,跑挂了还会继续迭代修。我日常用得最多的情况是:选中一个报错信息,按快捷键进入 Agent 模式,说一句“找到这个报错的源头,给出修复方案并直接改掉”,剩下就看它表演。它改动之前会先给你展示计划,你点了接受,它才动手写文件。
Cursor 还做了一个很有用的后台 Bug Finder,它在你不干扰当前工作流的情况下,在后台扫一遍项目,找出潜在问题,并把修复包好等你处理。这个功能刚出的时候我觉得是噱头,后来在一个老项目上它帮我预判了一个国际化 key 缺失的运行时错误,省了一次线上事故。2025 年更新的并行 Agent 功能也很值得讲:你给它一个大的重构需求,它可以同时开多个 agent 分别处理不同模块的文件,最后统一合并。相比过去一个 agent 串行地改十个文件,效率提升不是一点半点。
不过 Cursor 的缺点和优点一样明显。绑定格式比较“私有”,迁移到别的 IDE 有摩擦;默认模型虽然效果很好,但 token 消耗大,重度使用者一个月很容易把免费额度烧穿。我的建议是订阅 Pro 档位,把它当日常主力,但别把所有任务都交给它——有些简单补全,用免费的补齐模式就够了。
2.2 GitHub Copilot:从补全器到 Coding Agent 的进化
很多人对 Copilot 的印象还停留在“自动补全代码”阶段,实际上它的 Agent 化转型非常激进。现在 VS Code 里的 Copilot Agent 模式已经能理解你正在处理的任务,自动编辑文件、运行终端命令、执行测试并在失败后继续修复,而不只是在你光标后面吐几行代码。
真正让我印象深刻的,是它 2025 年推出的云端 coding agent。你可以直接在 GitHub 仓库的 Issue 下面 @copilot,让它处理这个 issue。它会在 GitHub 的云端沙箱里 fork 代码、创建分支、修改、测试,最后提交一个 PR。这基本把 Agent 的使用场景从“坐在 IDE 里”扩展到了“异步协作”。睡觉前往 issue 里丢一句“帮我修这个 bug”,第二天早上 PR 已经躺在那里了。
Copilot 的另一个优点是生态绑定足够深。它和 GitHub Actions、Code Review 等功能天生打通,团队如果本来就在 GitHub 上协作,整个流程的摩擦非常小。缺点是它更像一个“大而全”的平台,不如 Cursor 在编辑器交互细节上打磨得精致;模型选择自由度和 Cline 这类开源工具比也差一些。但如果你是 GitHub 重度用户,Copilot 的进化路线完全值得你重新评估。
2.3 开源双雄:Cline 与 Roo Code
如果你不想被厂商绑定,想用自己的 API key,甚至想接本地模型,那 Cline 是绕不开的选项。它是 VS Code 里的开源插件,能干大多数商业 Agent 能干的活:读取项目结构、编辑文件、执行终端命令、调用浏览器验证。最有特色的是 Plan/Act 模式:在 Plan 模式下,它只做调研和出方案,不真正改动任何文件;等你确认了,再切到 Act 模式让它动手。这个机制我很看重,因为它把“思考”和“执行”分离了,降低了不少误操作风险。
Cline 几乎支持所有主流模型接入,OpenAI、Anthropic、Gemini、DeepSeek,甚至 Ollama 本地模型都可以。我试过在完全不联网的隔离机器上用 Cline 接本地模型,虽然效果比云端旗舰模型差,但至少跑得通,这对有数据合规要求的团队是巨大的价值。Cline 的代价是 token 消耗大,尤其是让它在复杂项目里自主探索时,经常跑一个任务烧掉几十万 token。所以用 Cline 的时候,一定要做好预算控制,别让它无限自由发挥。
Roo Code 是 Cline 的增强分支,保留了 Cline 的核心能力,加了更多自定义空间。它的多模式角色功能可以让你定义不同的 agent 身份,比如“架构师模式”负责设计,“代码实现模式”负责写代码,“调试模式”专门修 bug。这种方式比单一角色更贴近真实团队分工。另外 Roo Code 的 Flash 模式可以让它在不同能力档位的模型间切换,比如先用快而省的模型做初稿,再用强模型做审核,成本控制方面比 Cline 更精细。如果你 fork 过 Cline 觉得自由度不够,Roo Code 值得试一下。
2.4 海外与国内 IDE 助手们的 Agent 化现状
Windsurf 是从 Codeium 走出来的产品,它的 Cascade Agent 主打一个“流式预测”体验——它在你还没完全表达清楚时就开始预测下一步动作,交互手感非常顺滑。2025 年被 Google 收购后,后续版本与 Gemini 模型的整合更深,如果你已经在用 Google 生态,Windsurf 是个值得关注的方向。
Amazon Q Developer 的 Agent 能力走的是“企业级务实路线”。它的 Agent for code transformation 可以把 Java 8 的代码自动升级到 Java 17,这种大工程量的迁移任务,人工处理要几个星期,它能在几小时内出一版初稿。Q Developer 还能自动定位代码问题并修复,官方演示里一个安全漏洞从发现到出补丁只要不到十五分钟。如果你身处 AWS 生态,它价值很高;如果没有 AWS 绑定,优先级可以往后靠。
国内阵营里,通义灵码和 MarsCode 是这两年进展比较明显的。通义灵码已经覆盖了主流 IDE,Agent 模式可以拆解任务、多文件修改、自动跑单测,企业版还能针对团队代码规范定制,对国内开发环境适应得很好。MarsCode 则是字节跳动系的代表,IDE 插件免费额度给得比较大方,Agent 模式体验不错,而且配套的 Cloud IDE 让“云端开发 + Agent”成为一个整体方案。它家的海外版本 Trae 在海外开发者社区也有不少好评,针对 Agent 体验做了很多交互创新。对于国内团队,这两款的好处是服务器、文档、模型都在国内,合规和速度都占优;缺点是模型能力追海外头部还有差距,遇到复杂架构问题就不如 Cursor + Claude 那套组合能打。
3. 终端里的 Agent:极客与自动化脚本的归属
3.1 Aider:轻量级结对程序员
有一批人不想被 IDE 束缚,Aider 就是为这群人准备的。它是命令行工具,你在终端里启动它,然后直接用自然语言对话:“把 user service 里的缓存逻辑重构一下,统一走 Redis”,它会读取仓库结构,修改对应文件,然后自动帮你创建 git commit。
Aider 最大的特色是 Repo Map。它会对整个代码库生成一个压缩的“地图”,让模型在动手前就能感知哪些文件是相关的,不至于瞎猜。这个机制在处理老项目时尤其好用,我第一次用它重构一个五年没有文档的 Flask 项目时,它居然准确找到了三个相互依赖的模块,人工找可能要花半天。Aider 还支持多模型配置,付费 API 可以接 Claude、GPT-4,省钱方案可以接 DeepSeek 或本地 Ollama。它自动 commit 的特性也让人安心,每次修改都有 git 记录,不满意可以轻松回滚。
但 Aider 有个劝退点:它没有 GUI,报错展示远不如 IDE 直观。如果你不熟悉命令行、不习惯 git 操作,上手成本会很高。它更适合已经有很强命令行基础的开发者,用它做增量和重构,而不是从零写一个巨型项目。
3.2 Claude Code:终端里最能打的六边形战士
如果说 Aider 是轻量级结对工具,那 Claude Code 就是终端里的六边形战士。它是 Anthropic 出品的终端 Agent,能力覆盖得很全:可以读项目文件、编辑文件、执行 bash 命令、运行测试、甚至同时开多个子代理并行处理不同任务。
Claude Code 让我服气的一点是它的“工程素养”。它会严格按照你项目的 lint 规则、测试约定来修改代码,而不是只求功能跑通。有一次我让它给一个 Python 项目加缓存,它不只是改了业务代码,还顺手补了类型注解、更新了单元测试、在文档里加了缓存的注意事项。这种东西,过去只有团队成员才会考虑。
它还有一个很实用的权限机制。你可以给 Agent 设置不同级别的权限:哪些 bash 命令能直接跑,哪些必须每次询问。默认情况下 rm -rf 这种危险命令一定会经过你的确认,最大程度避免“AI 把你的项目清空”这种恐怖故事。Claude Code 也引入了 Agent Skills 的概念,Skill 和 Agent 的区别在于:Skill 是一组能力和工具的封装,比如“处理 PDF”“分析性能日志”;Agent 则是使用这些能力去完成目标的执行者。你可以把团队内部的最佳实践包装成 Skill 给 Claude Code 用,这让它更像一个“能学习的员工”,而不只是一个代码生成器。
当然,Claude Code 对新手并不友好。纯命令行界面、需要自己配权限规则、烧 token 也很快。我一般把它用在两种场景:一是复杂的全栈任务,需要它在整个项目里自主探索;二是接入 CI 流程,比如在 push 前让它自动检查代码问题。从结果看,这两类场景它都比我预想的要稳。
3.3 终端 Agent 到底适合谁
关于终端里跑的 Agent,我总结一句实在话:这是一个“懂的人很爽,不懂的人很懵”的领域。适合的人群包括:习惯用 vim、neovim 或纯终端环境的开发者;做 DevOps、需要把 Agent 集成到脚本和 CI 里的工程师;对数据隐私敏感、希望代码只在本地处理、不上传 IDE 的人。
不适合的人群也有明确的特征:刚接触编程的小白,或者依赖图形界面和可视化操作的同学。终端 Agent 虽然能力强,但它把所有的复杂度都摆在了台面上,没有 IDE 的导航、没有按钮、没有图形化的 diff,理解成本很高。我的建议是,如果你连 git 命令还没完全闹明白,先别急着碰终端 Agent,把它放到候选列表里,等基础打牢了再回来。
4. 云端异步 Agent:把任务丢给它,醒来收 PR
4.1 Devin:把“AI 软件工程师”当成远程同事
Devin 可能是最像“人”的编程 Agent。它不是长在 IDE 里的插件,而是有一个自己的云工作环境,有虚拟的终端、代码编辑器、浏览器,可以做规划、改代码、运行任务、打开浏览器验证页面,甚至能把应用部署到测试环境给别人看。Cognition 团队最早展示 Devin 的时候,视频里它在一个真实的 Upwork 外包任务里完成了调试和部署,当时看完我觉得像演示片,后来自己用了几次才发现,它在处理那些“需要跨多步骤、涉及多个工具”的任务时确实有两把刷子。
Devin 的交互方式很有意思。你可以像给远程同事发消息一样在 Slack 里给它安排活:“把这个支付模块的退款流程修一下,再写个说明”,它会回复你它的执行计划,进度更新,遇到卡点还会问你。这种异步协作模式,比盯着终端输出要轻松得多。它还支持关联 GitHub、Linear、Notion,可以把任务从一个项目管理系统里自动拉出来,做完之后在 GitHub 上开 PR,并把状态同步回项目管理里。
不过 Devin 的定价一直偏高,功能很强但性价比对个人用户并不友好。我建议先把它当作“外挂”来用:分配一些低风险、边界清晰的活给它,比如技术债务清理、日志分析、给某段文档补注释,而不是一上来就把核心业务逻辑交给它。云端 Agent 的一个通病是,它解决“能跑”没问题,但“跑得对不对”需要你花时间 Review,Devin 也不例外。
4.2 OpenAI Codex:在云端沙箱里跑起来的异步 Agent
OpenAI 的 Codex 在 2025 年给了整个行业一个很鲜明的示范:Agent 不再只是 IDE 里的一个按钮,而是可以常驻在云端、随叫随到的“程序员”。它基于 GPT-5 系列模型,特点是可以在隔离的云端沙箱中并行跑多个任务,每个任务都遵循“克隆仓库 → 读代码 → 改代码 → 跑测试 → 提交 PR”的完整闭环。
最方便的使用方式是直接在 GitHub Issue 里 @codex,它就会开始处理问题,并在评论区更新进度。这个场景太适合开源维护者了:那些积压了两个月的第三方 bug 报告,以前你要么自己抽时间看,要么礼貌地回复“欢迎提交 PR”,现在可以顺手把 issue 丢给 Codex,让它试一遍。我试过让 Codex 修一个爬虫项目的反爬兼容问题,它第一次提交的 PR 测试没过,但它在 PR 评论区里又把失败日志贴出来,继续修改,最终把测试跑绿了。整个过程完全自动,我只是在最后点了一下 Merge。
Codex 的并行能力让我印象很深。你可以在同一个项目里同时开五个任务,分别处理不同模块的 issue,最后一起出 PR。它还有一个很实用的功能:不指定具体代码,直接用自然语言描述需求,比如“这个 API 需要支持批量查询,参考现有的单条查询逻辑”,它会自己去理解并落地。目前 Codex 的模型能力很强,但计费也是按“活”来的,一个复杂任务用掉不少 token 很常见。预算敏感的同学,建议先拿小 issue 练手。
4.3 Google Jules 与 Amazon Q Developer:大厂把“自动修 Bug”做成产品
Google 的 Jules 和 Amazon Q Developer 的 Agent 功能有相似之处:都是大厂出品,都强调“异步自动修 Bug”,都主打 GitHub 工作流。Jules 会从你指定的 GitHub Issue 或 bug 报告出发,在谷歌云沙箱里创建一个分支,分析代码库,定位问题,修改并运行测试,最后生成一个带详细说明的 PR 让你 Review。整个过程不需要你实时盯着,它会在完成或遇到阻塞时发送通知给你。有点遗憾的是,Jules 目前还是预览阶段,并且与 Google Cloud 项目绑定,对非 Google 生态的开发者来说有门槛。但它的路线很清楚:让 Agent 处理存量仓库里那些“没人愿意碰”的维护型 Bug,把开发者的时间释放出来干正事。
Amazon Q Developer 的 Agent 化同样走务实路线。它的 Agent for software development 可以从一张 Jira 工单出发,自动实现代码变更并生成 PR;Agent for code transformation 则专攻老代码升级,Java 版本升级这种活它尤其擅长。我记得亚马逊官方做过演示,Q Developer Agent 在 15 分钟内自动定位并修复了一个代码问题,整个过程还生成了完整的测试方案。对于大型企业里千疮百孔的老仓库,这种“自动修 Bug 代理人”是有真实价值的。不过 Q Developer 和 AWS 生态绑定很深,非 AWS 用户使用体验会打折。
4.4 在线开发平台的 Agent:Bolt.new 与 Replit Agent
还有一类云端 Agent,适合“从零生成一个完整应用”的场景,代表是 Replit Agent 和 Bolt.new。Replit 本来就是浏览器里的云端 IDE,它的 Agent 可以直接根据你的自然语言描述,生成一个项目的基础结构,包括前端页面、后端服务、数据库 schema,并自动部署到 Replit 的托管环境。对于没有本地开发环境的初学者,或者想快速验证一个 MVP 想法的产品经理,这个体验很丝滑。我认识一个不会写代码的产品朋友,用 Replit Agent 搭了一个内部用的表单收集工具,前后不到半小时,这在以前是不可想象的。
Bolt.new 的思路更激进。它直接运行在浏览器里,用的是 StackBlitz 的 WebContainers 技术,连后端服务和 Node 环境都在浏览器里模拟,不需要登录远程服务器。输入一段需求描述,你肉眼就能看到应用的构建过程:文件被创建、依赖被安装、页面在预览窗口里渲染出来。它特别适合前端原型验证,比如你下一版产品的落地页长什么样,给 Bolt.new 一句话,它能直接给你一个可交互的高保真 demo,这比让设计同学先出图再让前端实现的周期短太多了。
但这类“从零生成”Agent 的局限也很明显:它们适合绿地项目,不适合复杂存量系统。全自动生成的应用,代码规范、项目结构、可维护性都比较粗放。你可以把它当成“会写代码的白板”用,快速试错、快速 demo,但生产系统的核心代码,该自己写还是自己写。
5. 开源与研究前沿:多 Agent 协作模式才是下一站
5.1 OpenHands:能真正跑代码的开源 Agent
如果你有条件自己做实验,OpenHands(原 OpenDevin)是我最愿意推荐的开源 Agent 平台。它是当前最接近“通用 AI 软件工程师”的开源项目,也是社区里被验证最多的一个。它和那些只在 IDE 里改文本的插件有一个本质区别:OpenHands 会把你的代码跑起来,做实际验证,然后根据真实运行结果自我修正,而不是只靠静态分析猜。
OpenHands 采用事件流(Event Stream)架构,整个 Agent 的工作过程——每一步计划、每一次工具调用、每一条命令行输出——都以事件流的形式记录,你随时可以查看它到底做了什么,甚至可以回溯到某一步进行人工干预。这种透明性在开源工具里非常难得。运行时上,OpenHands 会为你每次任务分配一个 Docker 沙箱,隔离开来,避免 Agent 在你本机乱跑膝盖。它支持的模型也很广,Claude、GPT、Gemini、DeepSeek、Ollama 本地模型都能接入,这意味着你可以完全自控成本和数据流。我拿它在本地做过一次真实实验:给它一个 Python 项目的 Issue,让它修一个数据清洗的 bug。它在沙箱里装了依赖、复现了问题、改了代码、跑了 pytest,整个流程用了不到十分钟,结束时还给我输出了一份记录。那一刻我意识到,开源 Agent 的完成度已经不是 2023 年那种“看着热闹、跑几步就废”的水平了。
5.2 AutoGPT:自主 Agent 的启蒙与争议
提到开源 Agent,绕不开 AutoGPT。它是 2023 年那阵“自主 Agent”热潮的引爆点,原理很直白:你给一个总目标,它把目标拆解成子任务,逐个执行,每执行一步根据结果反思并生成下一步。当时所有人都觉得这是通往通用人工智能的方向,GitHub 星标狂涨。
然而理想很丰满,现实很骨感。当时的模型能力撑不起这种自由的自主循环,AutoGPT 经常跑着跑着就跑偏了,给自己下达一些莫名其妙的子任务,然后无限循环烧掉大量 token。我在 2023 年亲自跑过一次,本想让它写一个小工具,结果它自己开始研究“如何构建通用人工智能架构”,我当时就卸载了。后来 AutoGPT 团队把重心转向了低代码构建 Agent 的平台,让用户可视化编排任务流,实用性提升了不少。但作为一段历史,AutoGPT 的价值在于:它证明了“目标驱动+自我反思”是一个正确的方向,只是当时的技术底座还不到位。
5.3 看一眼更前沿:MetaGPT、ChatDev 与 SWE-agent
如果说上面这些都是“单 Agent 干活”,那 MetaGPT、ChatDev 代表的就是“多 Agent 协作”的方向。MetaGPT 的想法很像是把一家软件公司装进代码里:产品经理 Agent 先写需求文档,架构师 Agent 出设计,工程师 Agent 写实现,测试 Agent 写测试,整套流程基于 SOP(标准作业程序)驱动。ChatDev 则更进一步,把整个开发过程模拟成一个虚拟软件公司的对话,多个 Agent 各司其职,用自然语言互相协作完成一个项目。
这类多 Agent 项目的瓶颈在于:Agent 之间的沟通越频繁,上下文消耗越大,信息损失越严重,最终出活质量反而不如一个强的单 Agent 靠谱。我自己用下来,多 Agent 协作适合探索和教学,适合让你理解 Agent 之间的协作机制,但离实际生产还有距离。
SWE-agent 则是另一个维度的方向。它是普林斯顿大学开源的工具,目标非常聚焦:让模型在真实代码库上自主修 Issue。它也是 SWE-bench 基准背后的推动者之一——这个基准现在基本是所有编程 Agent 的“考试卷”,各家平台动辄宣传“SWE-bench 解决率突破 70%”,源头就在这里。如果你要做 Agent 性能评估,SWE-agent 和 SWE-bench 这条线是绕不开的。
5.4 开源 Agent 使用的四个红线
开源 Agent 自由度大,但自由的另一面是风险。我用自己的教训总结了四条红线。
第一,API Key 别乱放。很多开源 Agent 需要你配置 API key,这个 key 会随着 Agent 的请求发往模型服务商。如果你在多人协作的项目里跑 Agent,要确认 key 不会被打进 git 历史。第二,沙箱隔离必须做。能跑代码的 Agent 就有能力执行危险命令,务必在 Docker 容器或虚拟机里运行,不要直接给宿主机权限。第三,Agent 改完的代码必须人工 review diff,不要因为它跑通了测试就盲目信任,测试覆盖不全时它也会用一种“看似正确实则错误的姿势”蒙混过关。第四,成本上限要提前设。很多开源 Agent 没有内置预算控制,一个失控循环能烧掉你一个月 API 配额,建议在 API 平台侧设置硬性限额,并做好日志监控。
6. 选型与避坑:这 17 款平台怎么选、怎么用
6.1 按场景选平台:一张表帮你定位
看完这么多平台,你可能会问:这样多,到底选哪个?我的建议是不要问“哪个最强”,而是问“我现在最需要解决什么问题”。按场景来选,答案会清晰很多。
| 使用场景 | 首选 | 备选 | 理由 |
|---|---|---|---|
| 日常 IDE 编码,追求综合体验 | Cursor | Windsurf | Agent 模式最成熟,交互细节最好 |
| 重度 GitHub 协作,想要异步修 Issue | GitHub Copilot 云端 Agent | OpenAI Codex | 与 GitHub 原生打通,直接 @ 即可 |
| 不想绑定厂商,想自己控制模型和成本 | Cline | Roo Code | 开源、可接 DeepSeek/Ollama/任意 API |
| 终端爱好者,喜欢命令行+git 工作流 | Claude Code | Aider | 终端里能力最全面,与脚本结合好 |
| 快速做原型、从零搭一个 demo | Bolt.new | Replit Agent | 浏览器里一步到位,门槛最低 |
| 自动化修存量 bug、技术债 | Google Jules | Amazon Q Developer | 大厂异步 Agent,专为修问题设计 |
| 团队在企业环境,有合规和数据隔离要求 | 通义灵码 | MarsCode | 国内服务、可定制、合规方便 |
| 研究和学习 Agent 架构 | OpenHands | AutoGPT | 开源透明,能看到完整执行逻辑 |
6.2 成本与模型选型:别让 Agent 烧穿你的钱包
编程 Agent 的能力强,但成本是真金白银。同样一次“修复 bug 并补测试”的任务,用贵的商业 Agent 和用开源模型接入的方案,花费能差到十倍以上。我一般按这个逻辑做成本控制:复杂架构分析任务,用 Claude、GPT-4 系的顶配模型,不要省;日常简单修改,用 DeepSeek 这类性价比模型或本地模型,能省则省;需要保密的任务,优先用本地模型或私有化部署,钱不是首要考量的。
具体到同一个平台,模型选型也会影响成本。比如 Cline 里你可能想接 DeepSeek 来跑日常任务,我实测下来,DeepSeek 在代码理解和生成上的能力已经足够处理很多常见需求,而 token 价格只是 Claude 的零头。如果你每天要跑几十个任务,这种组合能节省非常大的一笔费用。但要注意,模型切换可能影响任务质量和稳定性,尤其是跨平台切换时,不要盲目只看便宜。
6.3 安全与权限:别把 Agent 当玩具
我见过太多人兴致勃勃地把 Agent 接进生产仓库,然后差点酿成事故。几个原则必须反复强调。第一,最小权限原则:给 Agent 的权限永远只覆盖它需要操作的范围,能只读就不要给写权限,能不开终端就不要让它执行命令。第二,危险操作设防:像删除分支、强制推送、清理缓存这种操作,必须设置人工确认。Claude Code 的权限分级就是一个好例子。第三,Review 是底线:Agent 生成的 PR,无论它多自信,你都要亲自看一眼 diff。不要因为测试过了就无限信任。第四,注意许可证和合规问题:Agent 生成的代码可能受训练数据影响,在大厂或受监管行业,上线前必须做代码合规审查。
6.4 三条实战心得:怎么让 Agent 真的“好用”
最后分享三条我自己的实践心得,这些都是踩过坑之后才懂的。
第一条,把 Prompt 当成需求文档来写,而不是聊天。很多人用 Agent 时习惯说“帮我改一下这个”,Agent 就会懵。你应该给它背景、约束和验收标准,比如“在 user_service.py 里,login 方法有个空指针风险,如果 user 对象为 null 就抛自定义 BusinessException,并补一个对应的单测”。提示词越像需求文档,Agent 的交付质量越高,这是所有 AI 编程场景下通用的一条铁律。
第二条,让 Agent 先 Plan 再 Act。现在大部分主流 Agent 平台都有“计划模式”或“只读模式”,Usage:先让它只调研,给出修改方案,你确认方向对了,再让它执行。这一步能避免很多方向性错误。我刚接触 Agent 时贪图快,直接让它放手干,结果它在一个错误方案上越走越远,浪费了时间和 token。现在凡是重要任务,我一定先看计划。
第三条,小步验收,把大任务拆小。你要让 Agent 一次只完成一个明确目标,而不是“把整个系统重构了”。单个目标越小,它的成功率越高,你的 review 成本也越低。而且每次验收完顺手让它在代码里加注释或更新文档,长期下来项目的可维护性是正循环。
还有一个非常实用的小技巧:在项目根目录放一个 AGENTS.md 或 CLAUDE.md 规则文件,把项目的技术栈、编码规范、文件结构约定写进去。很多支持这些约定文件的 Agent 平台会自动读取它并在执行任务时遵守。我维护的一个老项目加了 AGENTS.md 之后,Agent 的代码风格明显更贴合团队习惯,几乎不再需要我逐行调整格式。这个习惯,越早养成越好。
我个人在实际操作中的最大体会是:编程 Agent 的“由夯到拉”,改变的其实不是写代码的速度,而是你分配注意力的方式。以前你被钉在编辑器前,事无巨细都要自己管;现在你更像一个产品经理,负责定义目标、拆解任务、验收结果。这个转变对很多老程序员来说一开始会不适应,总想去看它每一行做了什么。适应之后,你就发现自己的精力终于能花在更重要的事情上了。
最后再分享一个我私藏很久的启动技巧:不管是 Cline、Claude Code 还是 OpenAI Codex,交任务前先把仓库当前测试跑一遍,把失败输出贴进提示词开头,然后告诉 Agent“这是当前失败状态,请你负责修好它”。带着真实失败信号出发的 Agent,比我直接描述需求要少走一半弯路。今晚下班前,挑一个积压了三个月的 bug,试一次,明早看它开的 PR能不能替你省下这顿加班。