Agentic Coding:从"AI 辅助"到"AI 自主执行"
先看演进路线,理解 Agentic Coding 的定位
markdown
Level 0: 手动编码
你写每一行代码
Level 1: AI 补全(Copilot Autocomplete)
你写,AI 续写当前行/函数体
人主导,AI 被动响应
Level 2: AI 对话(Chat-based Coding)
你描述需求,AI 生成代码片段,你复制粘贴
人主导,AI 按问答模式响应
Level 3: AI 内联编辑(Inline Edit / Apply)
你指定文件和意图,AI 直接修改代码
人主导,AI 执行单步操作
Level 4: ★ Agentic Coding ★ ← 我们在这里
你描述目标,AI 自主规划、搜索、编辑、运行、调试、迭代
人监督,AI 自主循环执行
Level 5: 全自主编程(Fully Autonomous)
AI 从产品需求到部署上线全自动,人只审批
尚未成熟
Agentic Coding 的核心定义
Agentic Coding = AI Agent 拥有工具使用能力 + 自主决策循环,能独立完成多步骤编码任务。
关键词是 Agent(智能体),不是 Assistant(助手)。区别在于:
| 特征 | AI 助手模式 | Agentic 模式 |
|---|---|---|
| 控制流 | 人驱动每一步 | AI 自主规划执行链 |
| 工具使用 | 无或受限 | 文件读写、终端执行、搜索、浏览器等 |
| 上下文 | 你喂给它什么,它看到什么 | AI 主动搜索、阅读、探索代码库 |
| 错误处理 | 报错了等你下一步指示 | 自动分析错误、修正、重试 |
| 任务粒度 | 单轮问答 | 多步骤任务(可能几十个工具调用) |
| 典型交互 | "帮我写一个排序函数" | "给这个项目加上用户认证系统" |
Agentic Coding 的工作循环
markdown
┌─── 理解目标 ◄──── 你的一句话需求
│
▼
┌─── 规划步骤 ───┐
│ │
▼ │
搜索代码库 │
阅读相关文件 │
理解上下文 │
│ │
▼ │
编辑/创建文件 │
│ │
▼ │
运行命令/测试 ──┤ ◄── 失败?分析原因,回到规划
│ │
▼ │
检查结果 ───────────┘
│
▼ (全部通过)
完成,汇报结果
这正是你现在正在用的模式 ------ 我可以读文件、搜索代码、编辑文件、执行终端命令、分析错误,然后自主迭代直到任务完成。
当前主流 Agentic Coding 工具对比
| 工具 | 核心特点 | 模式 |
|---|---|---|
| GitHub Copilot Agent Mode (你正在用) | VS Code 深度集成,工具链丰富,企业级安全 | IDE 内 Agent |
| Cursor Composer | 多文件编辑,自动 Apply | IDE 内 Agent |
| Devin | 全自主 Agent,有自己的浏览器/终端沙箱 | 独立 Agent |
| OpenHands | 开源全自主 Agent | 独立 Agent |
| Claude Code | 终端原生 Agent,直接在 CLI 中工作 | CLI Agent |
| Cline / Roo Code | VS Code 扩展,开源 Agent | IDE 内 Agent |
Agentic Coding 带来的范式转变
1. 开发者角色变化
以前: 程序员 = 写代码的人
现在: 程序员 = 描述意图 + 审查 AI 输出 + 做关键决策的人
你的核心能力从"打字速度"变成了:
- 需求表达能力:能否用清晰、无歧义的语言描述你要什么
- 架构判断力:AI 给的方案是否合理,你能否识别
- 审查能力:AI 改了 10 个文件,你能否快速判断正确性
2. 开发流程变化
scss
传统流程:
需求 → 设计 → 编码(80%时间) → 测试 → 部署
Agentic 流程:
需求 → 意图描述 → AI执行(自动) → 人类审查(核心) → 部署
编码时间压缩 5-10 倍,但审查变得更重要。
3. SDD 的价值被放大
回到你第一个问题------Agentic Coding 让 SDD 变得更重要,因为:
- AI Agent 需要设计文档作为上下文来理解"全局意图"
- 没有 SDD,AI 只能看到局部代码,做局部优化
- 有了 SDD,AI 能理解"这个模块为什么存在"、"接口为什么这样设计"
- SDD 本质上成了给 AI 的 System Prompt
实践中的关键心法
1. 不要微操 AI,要给目标
差:"在第 45 行加一个 if 判断"
好:"用户未登录时应该重定向到登录页,请修复这个权限漏洞"
2. 让 AI 先探索再动手AI 自主搜索代码库、阅读相关文件后再修改,比你喂它片段效果好得多
3. 用测试做护栏让 AI 先写测试,再改代码,测试通过就是验证------这比人工审查每行代码高效得多
4. 文档就是 AI 的"记忆"Markdown 文档 = AI 的长期记忆 / 上下文窗口的延伸
一句话总结:Agentic Coding 是 AI 从"你问我答"升级为"你说目标,我自己搞定"的编程范式。开发者的角色从"代码工人"转变为"AI 编程团队的技术总监"。