〇、前言
在上一篇文章中介绍的 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工程师工作模式被动响应交互式协作主动规划执行任务范围单行/函数级文件/模块级项目/系统级自主性无低高典型工具CopilotCursorClaude 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 CodeAnthropic终端代理式、高度自主、MCP支持复杂项目、全流程开发CursorCursor IncAI Native IDE、多Agent并行(最多8个)日常开发、团队协作Trae 3.0字节跳动国内优化、中文友好国内开发者Qoder阿里上下文优化、企业级大型企业项目DevinCognition全自主AI工程师端到端项目交付Manus AIManus任务自主执行自动化工作流Replit AgentReplit云端一体化快速原型、教育根据开发者实践,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 说明技术写作、Markdown1.6 与传统开发模式相比
维度传统开发Copilot辅助Agentic Coding核心执行者人类工程师人类+AI辅助AI智能体+人类监督代码产出比例100%人工70%人工+30%AI30%人工+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 将开发者从“打字员”和“调试工”的角色中解放出来,转变为“架构师”和“审核者”,从而在上述场景中实现了数量级的效率飞跃。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |