很多人以为 AI 编程 Agent 已经能”自己写代码”了。
Devin 号称”全球第一个 AI 软件工程师”,Claude Code 能自主规划和执行多步编程任务,Cursor 的 Agent 模式可以连续修改多个文件。看起来,把需求丢给它们,等着收 PR 就行了。
但如果你真的这么用过,你大概已经发现了:所谓的”自主”,和你想象的不是一回事。
这篇不是要说这些工具不行。它们确实在进步,而且进步很快。但”自主性”这个词,正在被严重误解。搞清楚它们到底能自主到什么程度、在哪里会断,比盲目信任或盲目否定都更有用。
误解为什么流行:Demo 效应 + 营销叙事
“自主性幻觉”的根源很简单:你看到的 demo 和你实际用到的场景,复杂度差了一个量级。
Devin 的发布视频里,它能独立完成一个 SaaS 应用的搭建。Claude Code 的演示里,它能自主分析代码库、定位 bug、提交修复。Cursor Agent 的宣传里,它能跨文件重构。
这些都是真的。但它们有一个共同的前提条件:任务边界清晰、代码库规模可控、不涉及复杂的业务逻辑判断。
一旦你把它们放进一个真实的、有历史债务的、多人协作的项目里,”自主性”就开始打折。不是打八折,是打三四折。
营销叙事也在推波助澜。”AI 软件工程师””自主编程””全自动开发”——这些说法不算撒谎,但它们省略了太多限定条件。就像说一辆车”能自动驾驶”,但没告诉你只能在特定路段、特定天气、特定速度下才行。
真问题是什么:不是”能不能自主”,而是”在哪个粒度上自主”
把”自主性”当成一个开关——要么能自主,要么不能——这是最大的误解。
更准确的理解方式是把它看成一个光谱,而且这个光谱上的位置取决于任务类型:
高自主区(Agent 真的能独立完成):
- 单文件 bug 修复,错误信息明确
- 格式化、重命名、简单重构
- 写单元测试(给定函数签名和预期行为)
- 生成样板代码(CRUD、API endpoint、配置文件)
- 文档生成和注释补充
中等自主区(能做,但需要人盯着):
- 跨文件重构(可能改对了 A 文件但漏了 B 文件的引用)
- 新功能开发(能出初版,但设计决策经常需要人纠正)
- 性能优化(能找到明显的瓶颈,但优化方案不一定是最优的)
- 依赖升级和迁移(能处理简单的,复杂的会卡住)
低自主区(基本还是得人来):
- 架构设计和技术选型
- 涉及业务逻辑理解的 bug(”这个行为是 bug 还是 feature?”)
- 跨服务的系统级调试
- 安全相关的代码审查
- 需要理解用户意图的产品级决策
这个分类不是我拍脑袋想的。我拿 Claude Code 和 Cursor Agent 在真实项目里跑了两周,Devin 也试了它的 free tier,观察下来的规律非常一致:任务越接近”有明确输入输出的执行”,自主性越高;越接近”需要理解上下文和做判断”,自主性越低。
这和我之前测 Claude Code 时的结论完全吻合——它最强的不是”什么都能做”,而是在特定任务类型上做得又快又稳。
三个工具的自主性边界,各不相同
虽然都叫”AI 编程 Agent”,但 Devin、Claude Code、Cursor 的自主性模型其实很不一样。
Devin:异步委托型
Devin 的设计哲学是”你把任务交给我,我自己搞定,搞完了你来 review”。它有自己的开发环境、能自己开浏览器查文档、能自己跑测试。
优势:真正的异步。你可以同时给它派好几个任务,去做别的事,回来看结果。
边界:它的”自主”高度依赖任务描述的质量。如果你的需求写得模糊,它会按自己的理解去做,而它的理解经常和你想的不一样。Cognition 自己都承认,Devin”在代码库理解上是 senior 水平,但在执行上是 junior 水平”。
适合:明确的、可以写成 ticket 的任务。迁移、重构、写测试、修已知 bug。
不适合:需要反复沟通和调整方向的探索性开发。
Claude Code:实时协作型
Claude Code 的模式是你在终端里和它实时对话。它能读你的代码库、执行命令、修改文件,但整个过程你是在场的。
优势:上下文理解能力目前最强。它能在对话过程中不断修正方向,而且 subagent 机制让它能把复杂任务拆成子任务分别处理。
边界:它的”自主”是在你的监督下进行的。如果你不在场,它不会自己启动任务。而且它的上下文窗口虽然大,但在超大代码库里还是会丢失关键信息。
适合:需要边做边调整的开发任务。Debug、新功能原型、代码审查辅助。
不适合:你想”丢给它就不管了”的场景——那是 Devin 的定位。
之前在《Cursor vs Claude Code》里我比过这两个工具的编程体验差异,那篇侧重的是”谁更好用”。这篇想说的是更底层的问题:它们的自主性模型根本不同,所以不能用同一个标准去评价。
Cursor:嵌入式辅助型
Cursor 的 Agent 模式是在 IDE 里运行的。它能跨文件修改、能调用终端、能读项目结构。
优势:和你的开发环境深度集成。你不需要切换工具,在写代码的过程中随时让它接手一段任务。
边界:它的”自主”范围最窄,但也最可控。它更像一个”随时能接手键盘的 pair programmer”,而不是一个”独立工作的工程师”。
适合:日常编码中的加速。补全、小范围重构、快速实现已知方案。
不适合:需要独立规划和执行的大任务。
在《Cursor vs Windsurf vs Copilot》那篇里我比过 IDE 层面的体验,但那时候 Agent 模式还没这么成熟。现在回头看,Cursor 的定位越来越清晰:它不追求高自主性,而是追求”在你需要的时候无缝介入”。
新框架:用”委托层级”替代”自主性”
与其问”这个 Agent 能不能自主编程”,不如问:“我能把什么层级的任务委托给它?”
我把委托层级分成四档:
- 指令级委托:你告诉它具体做什么,它执行。(”把这个函数的参数从 string 改成 int”)
- 任务级委托:你描述一个任务,它自己规划步骤并执行。(”修复这个 API 的 500 错误”)
- 目标级委托:你给一个目标,它自己决定做什么任务。(”提升这个页面的加载速度”)
- 方向级委托:你给一个方向,它自己决定目标和任务。(”改善用户体验”)
目前的现实是:
- Devin:稳定在第 2 档,偶尔能做第 3 档的简单版本
- Claude Code:稳定在第 2 档,在对话引导下能做第 3 档
- Cursor:稳定在第 1-2 档之间
第 4 档?目前没有任何工具能做到。而且短期内也不太可能。
这个框架的好处是:它能帮你在实际使用中快速判断”这个任务该不该交给 Agent”。如果你的任务描述停留在第 3-4 档,你大概率会对 Agent 的产出失望。如果你能把任务拆到第 1-2 档,Agent 的表现会好得多。
这套框架适用到哪里为止
几个重要的边界:
第一,这个判断基于 2026 年 3 月的工具能力。 半年后可能就不准了。AI 编程工具的进化速度很快,Devin 和 Claude Code 每隔几周就有能力更新。但”自主性是光谱而非开关”这个底层认知,短期内不会过时。
第二,这里说的是通用场景。 如果你的项目是高度标准化的(比如纯 CRUD 应用),Agent 的自主性会比上面说的更高。如果你的项目是高度定制化的(比如涉及复杂算法或特殊硬件),自主性会更低。
第三,团队规模会影响判断。 一个人的项目里,Agent 的”自主性”更容易发挥,因为没有协作成本。多人项目里,Agent 的产出还需要经过 code review、CI/CD、和团队规范的检验,实际可用的自主性会再打折。
一句话总判断
AI 编程 Agent 的”自主性”不是一个 Yes/No 的问题,而是一个”在什么粒度的任务上、在什么条件下”的问题。搞清楚这个边界,比争论”Devin 和 Claude Code 谁更强”有用得多。

