〇、前言
在上一篇文章中介绍的 Trae,就属于 Agentic Coding 的典型代表,详情可点击:AI Coding 工具 Trae 的简单实践。
Agentic Coding 可以帮助人类工程师做许多复杂的、重复性的事务,恰当的使用可以大大提升工作效率,那么本文就来简单介绍下这个概念。
一、关于 Agentic Coding
1.1 简介
Agentic Coding(智能体编程/代理式编程)是一种以 AI 智能体(AI Agent)为核心执行者的软件开发范式。AI 不再是被动的代码补全助手,而是能够自主规划、执行、调试、甚至并行处理多项开发任务的"AI 程序员"。
关键转变:从"人写代码,AI 辅助" → "人定目标,AI 执行"。
与传统 AI 的区别如下表:
| 维度 | GitHub Copilot (1.0) | Cursor (2.0) | Agentic Coding (3.0) |
|---|---|---|---|
| 角色定位 | 代码补全助手 | AI Native IDE | 自主AI工程师 |
| 工作模式 | 被动响应 | 交互式协作 | 主动规划执行 |
| 任务范围 | 单行/函数级 | 文件/模块级 | 项目/系统级 |
| 自主性 | 无 | 低 | 高 |
| 典型工具 | Copilot | Cursor | Claude Code, Devin, Manus |
- 第一阶段:GitHub Copilot (1.0) ------ 代码补全助手(更聪明的自动完成)
这是 AI 编程的启蒙阶段。AI 的角色类似于一个坐在你旁边的初级程序员(Pair Programmer),但它主要处于被动状态。
它不理解项目的整体架构,只关注当前光标附近的上下文。只有当开发者开始打字或按下快捷键时,它才会生成建议。开发者必须逐行审查、接受或拒绝。
它擅长写样板代码(Boilerplate)、简单的算法逻辑、单元测试片段或正则表达式。但是它很难处理跨文件的复杂依赖。
它没有记忆(除了当前的上下文窗口),不会规划任务,也不会主动修复错误。所有的决策权和控制权完全在人类手中。
另外,它容易产生幻觉,难以理解大型项目的全局逻辑,无法独立完成任务闭环。
- 第二阶段:Cursor (2.0) ------ AI Native IDE(深度集成的交互式协作伙伴)
这一阶段标志着 IDE(集成开发环境)的重构。AI 不再是插件,而是 IDE 的核心引擎。
代表工具如 Cursor,它将大模型深度嵌入到编辑、搜索、调试和重构的全流程中。它的角色定位为 AI Native IDE,不仅仅是补全代码,而是理解整个项目库(Codebase)。
**工作模式为交互式协作。**开发者可以用自然语言描述需求(Chat),AI 能理解多文件上下文,直接修改多个文件,甚至通过 Cmd+K 直接在编辑器中重写代码块。
它支持**"对话式开发"**。任务范围不再局限于代码块,而是文件/模块级。能够理解文件间的引用关系,可以进行跨文件的重构、添加新功能模块、修复涉及多个文件的 Bug。
另一个大的问题就是自主性低。虽然它能执行多步操作(如"在这个项目中添加用户登录功能"),但它仍然需要人类频繁地确认每一步更改(Apply/Discard),并且通常局限于人类划定的范围内。它缺乏长期的任务规划能力。
第二阶段的突破点就是,引入了 RAG(检索增强生成)技术,让 AI 能"读懂"整个项目仓库,解决了上下文缺失的问题。
- 第三阶段:Agentic Coding (3.0) ------ 自主 AI 工程师(具备规划与执行能力的自主代理)
这是当前的最前沿(2025-2026年爆发期)。AI 从"副驾驶"变成了"主驾驶"或"独立工程师"。它不仅会写代码,还会思考、规划、使用工具、自我纠错。
**角色定位是:自主 AI 工程师。**它是一个独立的 Agent(智能体),拥有明确的目标导向。
**工作模式:主动规划执行。**感知:接收模糊的高层目标(如"创建一个待办事项网站并部署")。规划:自主拆解任务(设计数据库 -> 搭建后端 -> 编写前端 -> 测试 -> 部署)。执行:自主调用终端命令、运行测试、读取文档、编写代码。反思:如果测试失败,它会自己分析错误日志,修改代码,再次运行,直到成功。
**任务范围上升到项目/系统级。**能够从零开始构建完整的应用程序,或者对遗留系统进行大规模迁移和重构。
**自主性更高。**人类只需设定目标和约束条件(Guardrails),中间过程由 AI 自主闭环。它可以长时间运行(Long-running tasks)。
核心价值就是,将人类从"编写者"解放为"审核者"和"架构师"。人类负责定义"做什么(What)"和"为什么(Why)",AI 负责解决"怎么做(How)"。
1.2 Agentic Coding 系统架构
在 Agentic Coding 架构中,Profile 确立了 Agent 的"人设"与底线,Planning 是大脑负责思考路径,Memory 提供了持续的记忆与背景知识,Tools 是手脚负责执行操作,MCP 是神经系统确保了与外界的高效标准化连接,而 Skills 则是经过训练的专业肌肉记忆。
这六大组件共同作用,使得 AI 从被动的代码建议者转变为主动的软件工程合作伙伴。下面看下他们的详细介绍。

其中五大核心组件:
| 组件 | 功能 | 说明 |
|---|---|---|
| Profile | 角色定义 | 系统提示词、性格特征、权限边界 |
| Planning | 任务规划 | 问题拆解、步骤排序、资源分配 |
| Memory | 上下文记忆 | 短期/长期记忆、代码库理解 |
| Tools | 工具调用 | 终端、文件操作、API调用、测试执行 |
| MCP | 模型上下文协议 | 连接外部数据源和工具的标准协议 |
Profile(角色定义)定义 Agent 的身份、行为准则和能力边界。
这主要包括三个部分:
1)系统提示词(System Prompt): 这是 Agent 的"灵魂",规定了它作为什么角色 (如"高级后端工程师"、"安全审计专家")来行动。它设定了整体的语调、专业领域和首要目标。
2)性格特征: 决定 Agent 的交互风格,是激进尝试还是保守稳健 ,是详细解释还是简洁输出 。
3)**权限边界:明确划定 Agent 能做什么、不能做什么。**例如,是否允许删除文件、是否允许访问网络、是否允许执行未经确认的命令。这是保障系统安全的第一道防线。
Planning(任务规划)将模糊的用户需求转化为可执行的具体步骤序列。
主要包括:
1)问题拆解: 面对复杂任务(如"构建一个带有用户认证的REST API"),Agent 需要将其分解为多个子任务 (如:设计数据库 Schema、实现注册接口、实现登录接口、编写测试用例)。
2)步骤排序: 确定子任务的依赖关系和执行顺序 ,形成逻辑严密的工作流。
3)资源分配: 预判每个步骤所需的工具、上下文信息或外部知识,并提前准备。优秀的 Planning 能力能让小模型发挥出超越其本身的效果,是区分普通助手和高级 Agent 的关键。
Memory(上下文记忆)可以维持对话连贯性,存储项目知识,支持长期学习。
主要包括:
1)短期记忆: 通常指当前的上下文窗口(Context Window) ,包含当前的对话历史、正在编辑的代码片段和即时反馈。随着模型上下文窗口的扩大(如达到百万级 Token),短期记忆能容纳整个项目的代码库。
2)长期记忆: 通过向量数据库或外部存储实现,用于存储项目架构决策、常用代码模式、历史错误及解决方案等 。这使得 Agent 在跨越多次会话后仍能"记住"项目的特定细节 。
3)代码库理解: 不仅仅是存储代码,还包括对代码结构、依赖关系、函数调用链的语义理解,以便在修改一处代码时能预判对其他部分的影响。
Tools(工具调用)能赋予 Agent 与外部环境交互、执行实际操作的能力。
主要包括以下四种:
1)终端操作:执行 Shell 命令 ,如安装依赖(npm install)、运行服务、查看日志等。
2)文件操作: 读取、写入、创建、删除、重命名文件及目录,直接修改项目代码。
3)API 调用: 与外部服务交互,如查询文档、调用第三方 API、获取实时数据。
4)**测试执行与修复:**自动运行单元测试、集成测试,并根据测试结果进行调试和修复,形成"编写-测试-修复"的闭环。
MCP(Model Context Protocol, 模型上下文协议)提供连接大模型与外部数据源、工具的标准通用接口。
主要包括以下三个作用:
1)标准化连接: 由 Anthropic 提出并开源,旨在解决不同模型与不同工具之间"N×M"的集成碎片化问题。它就像 AI 世界的"USB-C接口"。
2)解耦架构: 开发者只需按照 MCP 标准实现一次服务器端接口 ,任何支持 MCP 的客户端(如 Claude Code、Cursor 等)即可无缝连接该工具或数据源,无需为每个模型单独适配 。
3)生态扩展: 极大地丰富了 Agent 的能力边界,使其能轻松访问本地数据库、文件系统、Git 仓库以及各类云服务,是实现 Agentic Coding 大规模落地的基础设施。
Skills(技能库)可以封装特定领域的专业知识、最佳实践或复杂工作流,供 Agent 按需调用。
主要包括以下四种:
1)知识封装: 将复杂的操作流程(如"创建一个符合 AWS 最佳实践的 S3 桶")或特定领域的知识(如"React 性能优化指南")预定义为标准化的 Skill 。
2)提高准确性: 相比于让模型凭空生成,调用经过验证的 Skill 能显著提高代码质量和合规性,减少幻觉 。
3)与工作流的区别: 如果说 Workflow 是"食谱"(规定先做什么后做什么的编排逻辑),那么 Skill 就是具体的"烹饪技巧"(如切菜、煎炒的具体方法)。Skill 是构成 Workflow 的基本原子单元。
4)动态加载: Agent 可以根据任务需求,动态加载和组合不同的 Skills,像搭积木一样构建复杂的解决方案。
1.3 Agentic Coding 标准工作流
这个工作流简单可概括为六步。
| 阶段 | 人类角色 | AI角色 | 产出物 |
|---|---|---|---|
| ① 需求定义 | 定义目标、约束、验收标准 | 理解需求、澄清模糊点 | 需求规格 |
| ② 任务规划 | 审核计划、调整优先级 | 拆解任务、制定执行路径 | 执行计划 |
| ③ 代码生成 | 关键决策点确认 | 编写代码、文档、注释 | 源代码 |
| ④ 自动测试 | 定义测试场景 | 生成测试用例、执行测试 | 测试报告 |
| ⑤ 问题修复 | 确认修复方案 | 定位问题、修复代码 | 修复补丁 |
| ⑥ 迭代优化 | 提出优化方向 | 重构代码、性能优化 | 优化版本 |
下面进行详解。
- ① 需求定义(Requirement Definition)这是整个流程的基石,产出:需求规格说明书(PRD)/用户故事地图
在 Agentic 模式下,人类不再是写文档的人,而是产品经理 + 架构师的混合体。
**人类角色主要就是定义目标、设定基本的约束、明确验收标准(DoD)等。**例如现在有一个需求就是"构建一个高并发的秒杀系统"。仅从这句话来讲,需求大而空。因此,不仅要说"做什么",还要说"为什么做",例如"以支撑双 11 流量"等等一些细节。还需要明确技术栈(如 .Net、Go、Java 等开发语言),性能指标(QPS > 10k)、安全合规要求及预算限制。还有验收标准(DoD),提供具体的 User Stories 或 Gherkin 语法(Given-When-Then),让 AI 有明确的判断依据。
**AI 角色主要就是语义理解与澄清、可行性预判等等。**首先 AI 不会盲目开始,它会像初级产品经理一样反问:"您提到的'高并发'具体指多少?是否需要分布式锁?"另外,基于知识库,AI 会提示潜在的技术风险(如:"在该约束下,使用 MySQL 可能遇到瓶颈,建议引入 Redis")。
特别注意,需求规格说明书必须是机器可读性强的,不仅仅是给人看的,因此描述需要直白一点,避免模棱两可之类的表达。
- ② 任务规划(Task Planning)这是将宏观目标转化为微观可执行步骤的关键环节,体现了 Agent 的推理能力(Reasoning),产出:执行计划(Execution Plan)/任务树
**人类角色主要负责审核计划、调整优先级等等。**首先是检查 AI 拆解的逻辑是否合理,是否存在依赖循环。决定是先做核心链路(MVP),还是先做基础设施。人类在此处掌握"方向盘"。
**AI 角色主要负责任务拆解(Decomposition)、制定执行路径、工具选择。**自动将大需求拆解为原子任务(Atomic Tasks),例如:创建数据库 schema -> 编写 API 接口 -> 编写单元测试。还要生成 DAG(有向无环图)式的执行计划,确定哪些任务可以并行,哪些必须串行。还可以自动决定需要调用哪些工具(如:需要运行 Docker,需要访问 AWS API,需要读取特定文件等等)。
产出的执行计划通常是一个结构化的 JSON 或 Markdown 列表,包含任务 ID、描述、前置依赖、预估耗时等等。
- ③ 代码生成(Code Generation)全文件级的生成与修改。产出:源代码(Source Code)+配套文档
人类角色负责关键决策点确认、上下文注入。当 AI 遇到多种设计模式选择或复杂的业务逻辑分支时,暂停并请求人类确认(Human-in-the-loop)。在复杂场景中,人类可能需要提供额外的领域知识或遗留代码片段作为上下文。
**AI 角色可以多文件协同、文档与注释、自我审查(Self-Correction)。**可以同时创建/修改多个文件(Controller, Service, Model, Config),并保持引用一致性。同步生成 API 文档(Swagger/OpenAPI)、README 以及代码内的解释性注释。在输出前,AI 会先在内部"预演"代码逻辑,检查明显的语法错误或逻辑漏洞。
这一步产出的源代码通常是可编译、可运行的初始版本,而非碎片化片段。
- ④ 自动测试(Automated Testing)闭环验证代码。产出:测试报告(Test Report)+覆盖率分析
**人类角色定义测试场景、验收测试结果。**指定边界条件、异常流程和性能压测标准(例如:"测试当库存为 0 时的行为")。并查看测试报告,判断是否通过验收标准。
**AI 角色生成测试用例、执行测试环境、分析失败原因。**AI 基于需求规格,自动生成单元测试(Unit Test)、集成测试(Integration Test)甚至端到端测试(E2E)。自动搭建临时环境(如启动 Docker 容器),运行测试脚本。如果测试失败,AI 会读取错误日志,分析是代码问题还是测试用例本身的问题。
自动测试就是将"写完代码再想怎么测"转变为"测试驱动开发(TDD)的自动化实现"。
- ⑤ 问题修复(Bug Fixing)当测试失败或运行时出错,自主进入调试闭环。产出:修复补丁(Fix Patch)+更新后的测试报告
人类角色确认修复方案、回归验证。对于复杂 Bug,AI 可能提出 A/B 两种修复思路,人类选择最佳路径。还需要确认修复后没有引入新的副作用。
AI 角色可以定位问题(Root Cause Analysis)、实施修复、补丁生成。堆栈跟踪、日志分析、断点调试(模拟),精准定位错误行。修改代码,并自动重新运行相关测试以确保修复有效。生成 Git Diff 格式的修复补丁,说明修改原因。
此阶段通常会与阶段④形成快速迭代循环,直到所有测试通过(Green Build)。
- ⑥ 迭代优化(Iterative Optimization)追求高质量、可维护的代码。产出:优化版本(Optimized Version)+性能基准对比报告
人类角色提出优化方向、代码评审(Code Review)。需要指出痛点,如"启动速度太慢"、"代码耦合度高"、"内存占用过大"。然后对 AI 重构后的代码进行最终的艺术性和架构性把关。
AI 角色可以对代码机型呢重构(Refactoring)、性能优化、安全加固等。例如提取公共函数、优化设计模式、消除魔术数字,提升可读性。分析算法复杂度,引入缓存机制,优化数据库查询语句。扫描常见漏洞(SQL 注入、XSS),并自动修复。
最终交付的是一个经过打磨的、生产就绪(Production-Ready)的软件模块
1.4 主流工具与平台
| 工具 | 提供商 | 核心特点 | 适用场景 |
|---|---|---|---|
| Claude Code | Anthropic | 终端代理式、高度自主、MCP支持 | 复杂项目、全流程开发 |
| Cursor | Cursor Inc | AI Native IDE、多Agent并行(最多8个) | 日常开发、团队协作 |
| Trae 3.0 | 字节跳动 | 国内优化、中文友好 | 国内开发者 |
| Qoder | 阿里 | 上下文优化、企业级 | 大型企业项目 |
| Devin | Cognition | 全自主AI工程师 | 端到端项目交付 |
| Manus AI | Manus | 任务自主执行 | 自动化工作流 |
| Replit Agent | Replit | 云端一体化 | 快速原型、教育 |
根据开发者实践,Claude Code(任务规划执行) + Cursor(IDE集成) + Claude 4(模型能力) 被称为"黄金三角"。
另外就是 Trae 现在是免费的,可以自主尝试下。
实际上,依照现在 AI 发展的趋势,说不定过几星期就会出现新的黄金搭档,还是需要持续关注发展动态。
1.5 为什么需要 Multi-Agent(多智能体架构)?
单个 AI 智能体在复杂任务面前存在能力边界,Multi-Agent 通过分工协作可以实现突破限制。
| 单 Agent 局限 | Multi-Agent 解决方案 |
|---|---|
| 任务拆解能力有限 | 专业化 Agent 分工 |
| 上下文管理困难 | 分布式记忆系统 |
| 异常处理单一 | 多 Agent 互相校验 |
| 长流程易失控 | 中央协调器管控 |
Multi-Agent 协作模式可以分为三类。
流水线模式,需求 -> 设计 -> 编码 -> 测试 -> 部署。
联邦模式,各 Agent 独立处理子任务。
主从模式,主控 Agent 来分配协调。
常见的角色分工:
| Agent 角色 | 职责 | 技能集 |
|---|---|---|
| 架构师 Agent | 系统设计、技术选型 | 架构模式、最佳实践 |
| 编码 Agent | 代码实现、重构 | 多语言编程、代码规范 |
| 测试 Agent | 测试用例、自动化测试 | 单元测试、集成测试 |
| 审查 Agent | 代码 Review、安全检查 | 安全审计、性能分析 |
| 文档 Agent | 文档生成、API 说明 | 技术写作、Markdown |
1.6 与传统开发模式相比
| 维度 | 传统开发 | Copilot辅助 | Agentic Coding |
|---|---|---|---|
| 核心执行者 | 人类工程师 | 人类+AI辅助 | AI智能体+人类监督 |
| 代码产出比例 | 100%人工 | 70%人工+30%AI | 30%人工+70%AI |
| 开发效率 | 基准线 | 2-3x提升 | 5-10x提升 |
| 人类工作重心 | 编码实现 | 编码+审查 | 需求定义+架构+审查 |
| 学习曲线 | 陡峭 | 中等 | 前期陡峭,后期平缓 |
| 适用项目规模 | 全规模 | 中小项目 | 中大型项目 |
1.7 几个适用场景
1)快速原型开发(Rapid Prototyping)
痛点:传统模式下,从想法到可运行的 MVP(最小可行性产品)需要数天甚至数周,涉及环境搭建、基础架构编写和重复样板代码。
Agent 模式下,用户只需输入自然语言需求(如"创建一个带有用户登录和数据库连接的待办事项 API"),Agent 能自主规划文件结构、安装依赖、编写核心逻辑并启动服务。
效率提升方面,将原本需要数天的工作压缩至24小时内,甚至几小时。它不仅能写代码,还能处理配置错误和环境问题,让开发者专注于业务逻辑验证。
2)遗留系统重构(Legacy System Refactoring)
痛点:老旧代码库(如十年前的 Java 或 PHP 系统)文档缺失、逻辑耦合严重,人工重构风险高、耗时极长,且容易引入新 Bug。
Agent 可以实现全量扫描代码库,自动分析依赖关系,识别"坏味道"(Code Smells),制定重构计划,并分批次执行重构(如提取方法、解耦模块),同时自动运行测试确保行为不变。
自动化处理了最枯燥的分析和初步重构工作,人类专家只需审查关键决策,大幅降低技术债务清理的成本。
3)测试自动化(Test Automation)
痛点:编写单元测试和集成测试往往被视为"脏活累活",覆盖率低,且随着代码变更,维护测试用例成本高昂。
Agent 能理解业务逻辑,自动生成覆盖边界条件、异常路径的测试用例。当代码修改导致测试失败时,它能自动分析失败原因并修复测试代码或源代码,形成闭环。
这样瞬间生成数百个测试用例,并将测试维护从"手动更新"变为"自动适应",显著提升软件质量防线。
4)文档生成(Documentation Generation)
痛点:代码更新快,文档更新慢,导致文档与实际代码脱节("文档腐烂"),新人上手困难。
Agent 实时读取最新代码,自动生成准确的 API 文档、架构流程图说明、函数注释甚至用户手册 。当代码变动时,文档自动同步更新。
这样彻底消除"写文档"的时间成本,确保文档永远与代码版本一致,极大降低沟通和维护成本。
5)Bug 修复(Bug Fixing)
痛点:定位 Bug 需要复现、查看日志、断点调试,修复后还需验证是否引发回归问题,流程繁琐。
通过输入错误日志或复现步骤,Agent 能自动定位代码行,分析根因,提出修复方案,编写修复代码,并运行相关测试验证修复效果。
这样就可以将"发现 - 定位 - 修复 - 验证"的循环从小时级缩短到分钟级,尤其擅长处理常见的空指针、资源泄漏等标准错误。
6)多语言迁移(Multi-language Migration)
痛点:将系统从一种语言迁移到另一种(如 Python 转 Go,Java 转 Rust)通常需要完全重写,风险极大且耗时数月。
Agent 理解源语言和目标语言的语义差异,不仅进行语法转换,还能适配目标语言的惯用写法(Idiomatic Code),并自动处理依赖库的映射。
通过完成大部分机械性的翻译工作,人类只需处理复杂的业务逻辑转换和性能优化,使大规模迁移成为可能。
二、小小的总结
为什么 Agentic Coding 能带来如此高的提升?
| 维度 | 传统 AI (Copilot) | Agentic Coding (Agent) |
|---|---|---|
| 工作模式 | 被动响应:写一行,它最多补一小段 | 主动执行:你给目标,它给结果 |
| 上下文感知 | 仅限当前文件或少量上下文 | 理解整个项目仓库、构建系统和运行环境 |
| 纠错能力 | 提供建议,由人判断和执行 | 自我反思:运行代码 -> 报错 -> 自动修改 -> 再运行,直到成功 |
| 工具使用 | 仅生成文本 | 调用终端、编译器、测试框架、Git 等真实工具 |
Agentic Coding 将开发者从"打字员"和"调试工"的角色中解放出来,转变为"架构师"和"审核者",从而在上述场景中实现了数量级的效率飞跃。