从Vibe Coding到Agentic Coding:AI编程范式演进与工程实践指南

发布时间:2026/10/27 17:49:27
从Vibe Coding到Agentic Coding:AI编程范式演进与工程实践指南 2025年编程圈最出圈的一个词肯定绕不开 Vibe Coding。这个词最初是 Andrej Karpathy 在社交平台上随口提到的大意是说你现在可以不逐行写代码而是用自然语言描述想要的效果让 AI 把代码写出来你坐在旁边感受那种“氛围”。刚听到时我以为这又是一波概念炒作但真正用了两三周之后我发现它把编程这件事的门槛、节奏和分工方式全都换了一遍。前阵子北大的一个分享会上又把话题推到了 Agentic Coding——也就是从 Vibe Coding 这种“人机对话式编程”进化到“智能代理自动干活”的新阶段。听完最大的感受是Vibe Coding 改变的是“怎么写代码”Agentic Coding 改变的是“谁在做软件”。这篇文章想把我对这两个概念的理解、背后的技术原理、以及自己实际用下来的路径和踩坑经验完整梳理一遍。不管你是刚接触 Cursor 的新手还是已经在用 Agent 写业务代码的老手这篇都应该能给你一些能直接落地的参考。1. 先把概念理清楚Vibe Coding 到底改了什么1.1 Vibe Coding 不是偷懒是分工方式变了很多人把 Vibe Coding 理解成“写代码随便糊弄AI 说啥就是啥”我觉得这个理解偏了。它本质上是一种新的分工方式以前写代码你既得懂业务意图又得懂语法、框架、调试所有事一个人全包。Vibe Coding 把“写”这件事外包给了模型人把更多精力放在定义“要什么”和判断“对不对”上。打个比方以前写代码像自己下厨从洗菜切菜到调味摆盘全是你的活。Vibe Coding 像你请了一个手艺很好的副厨你跟他说“今天来客人做一桌清淡的粤菜别放香菜”副厨负责把菜做出来你尝一口说咸了淡了他再调整。你可以不会颠勺但“好不好吃”这个判断权必须在你手里。现在大家最常用 Vibe Coding 做什么我自己观察下来主要是这几类写一次性脚本、做小工具、快速验证某个库能不能用、生成 UI 页面、写数据分析和胶水代码。有意思的是嵌入式开发圈子里也在聊“嵌入式 vibe coding”不少人用来生成单片机外设初始化代码或者调试用的测试程序。虽然嵌入式对实时性和资源占用极其敏感不可能全盘交给 AI但先用 AI 把大量寄存器配置、样板代码搭出来人再针对性能做手工打磨这条路在实践中确实行得通。但 Vibe Coding 的边界也很明显。涉及核心算法、高并发、系统底层、复杂业务状态机的时候如果你连代码都读不懂就很难发现 AI 埋下的逻辑漏洞。它解决的是“把想法变成代码”的速度问题不解决“代码是不是真的可靠”的质量问题。所以我一直觉得Vibe Coding 的本质不是“不用懂代码”而是把你的技能树重点从“写”挪到了“望闻问切”——描述、观察、判断、反馈。1.2 从 Vibe Coding 到 Agentic Coding从“提词器”到“开发者”Vibe Coding 和 Agentic Coding 最大的区别用一句话说Vibe Coding 里的 AI 是一个超级补全器Agentic Coding 里的 AI 是一个会自己干活的开发代理。Vibe Coding 的工作链路是你一句话、AI 一段代码你再一句、它再一段人是循环里每一轮的驱动者。Agentic Coding 完全不同AI 会自己读项目结构、自己定位相关代码、自己规划改哪几个文件、改完之后自己跑测试、根据报错自己修最后把结果交付给你。整个过程里人更像是需求方和验收方只在关键节点介入。拿我自己的体感来类比Vibe Coding 就像你给一个实习生反复描述需求让他一段段地写你在旁边盯稿Agentic Coding 就像你给一个外包开发团队下需求单他们内部自己开会、拆任务、编码、自测你只需要看阶段汇报和最终交付。维度Vibe CodingAgentic Coding交互方式人发起对话AI 生成代码人下达任务AI 自主规划执行人的角色逐段审查和纠偏定义目标、设定边界、验收结果上下文管理依赖单次对话内容主动读取项目文件、使用长期记忆执行能力只输出代码文本能改文件、跑命令、调工具、跑测试失败处理人发现问题再描述给 AI自己读报错信息并尝试修复适用场景原型、脚本、局部功能多文件功能开发、重构、疑难 Bug 修复这种进化最直接的结果就是“超级个体”成为可能。一个人加上一组合适的 Agent基本可以覆盖从前端、后端到测试部署的大部分工作。我现在一个人维护一个中型的内部工具项目放在一年前这种规模最少要三个人。不是我的个人能力突然暴涨了多少而是 Agent 把大量体力活接走了我只需要把方案想清楚、把验收标准定清楚剩下的执行层面它替你跑。但“超级个体”有一个容易误读的地方。它不是让你一个人真的把所有事干完而是让你有能力调动足够多的 AI 劳动力并且为最终结果负责。本质上你是从一个写代码的人变成了一个“以代码为产品的管理者”。2. 为什么 Agentic Coding 是必然方向拆解背后的技术演进任何工具进化都不是凭空冒出来的。Agentic Coding 之所以在 2025 年真正落地是因为三块技术拼图都齐了上下文工程、工具调用、Agent 循环。2.1 上下文工程AI 的记忆与工作台Agent 想在一个仓库里干活第一个要解决的问题是它怎么知道项目长什么样大模型的上下文窗口确实越来越大一个中型项目光代码就可能几万行甚至几十万行远超任何模型能一口吞下的量。所以工具普遍在上下文工程上做了大量处理核心手段包括项目结构索引。像 Aider 的 repo map会在启动时生成项目关键符号、函数签名、模块依赖的索引再按需拉进上下文而不是把整个仓库无脑塞给模型。文件读取策略。Cursor Agent 和 Claude Code 这类工具默认会先读 README、入口文件、最近修改过的文件先搞清楚项目大概长什么样再决定深入看哪些代码。记忆文件。Claude Code 的 CLAUDE.md、Cursor 的 Rules允许你把项目约定、架构说明、命令手册写进去每次对话自动加载。语义检索。通过 RAG 方式把和当前任务最相关的代码片段搜出来喂给模型。这一层有多重要我举一个很直观的例子。我在 CLAUDE.md 里写了这样一段“本项目是 FastAPI React数据库用 PostgreSQL业务核心在 services/ 目录测试用 pytest 跑命令是 pytest -q。”效果立竿见影。Agent 不再瞎猜架构也不会把前端代码塞进后端目录更不会用 npm 去装 Python 依赖。打个比方上下文工程相当于给一个刚入职的程序员发了一本“新人手册 仓库地图”而不是让 TA 把几百万行代码全部读一遍再开始干活。这也是为什么同一个模型在 Cursor 里和裸聊天窗口里的表现天差地别——工具把“该看什么”这个问题解决好了模型的真实能力才能发挥出来。2.2 工具调用与执行环境从“给代码”到“跑代码”第二块拼图是工具调用。以前 AI 编程工具只输出代码文本你自己复制粘贴、运行、看报错、再贴回来。Agentic Coding 时代模型可以通过 function calling 真正操作系统读写文件、执行终端命令、跑测试、查文档、操作 git。这个变化的关键意义在于人与 AI 的交互模式从“AI 给建议、人执行”变成了“AI 自己执行、人验收结果”。你不再是一个传话筒在 AI 和电脑之间来回搬运信息。这里要专门说一下 MCPModel Context Protocol。它把工具调用标准化了AI 可以统一连接本地文件、数据库、浏览器、各种 API。现在很多团队把自己内部的接口文档、运维脚本包成 MCP ServerAgent 就能直接查内部文档、发请求、执行部署流程。这个标准的意义在于它让 Agent 的能力边界从“写代码”扩展到了“操作整个软件系统”。我实际跑过的一个例子让 Agent 给一个内部后台加导出报表功能。它自己完成了装依赖、改视图层、跑两个测试、发现字段名对不上、用 grep 定位到模型定义并修正、最后用 curl 验证接口返回 200 这一整套动作。我全程只做了需求描述和最后的页面确认。这种体验放在一年前是难以想象的。当然能力越强责任越大。AI 能执行命令意味着误操作的风险也成倍上升这个问题我会在第 4 节详细讲这里先提个醒权限控制必须前置不要让 Agent 在一个不受约束的环境里裸奔。2.3 Agent 循环计划—执行—检查—调整Agentic Coding 底层的运行模式是一个循环计划读需求、拆任务、生成 TODO 清单。执行逐个任务改代码、跑命令。检查跑测试、跑 lint、观察输出。调整根据报错信息修复再验证。这个循环其实就是程序员日常开发流程的自动化版本。它最大的意义是AI 不再是一次性输出而是像人一样“干了再看、错了再改”。实操下来这个循环有三个关键难点值得每一个想用好 Agentic Coding 的人注意。第一个难点Agent 怎么判断“完成了”所以需求里最好写清楚验收标准。“新增导出功能点击按钮下载 xlsx 文件字段包括订单号、金额、状态、下单时间列头用中文”和“加个导出功能”后者的成功率低一个数量级。验收标准定义得越具体Agent 的结束条件就越清晰不会陷入自我感觉良好的状态。第二个难点错误信息与根因的关联。Agent 修 Bug 时最容易犯的错是只修表象。报错说“字段 name 不存在”它可能加一个 name 字段就算完事但实际上真正问题在于 ORM 映射配错了。这种时候需要人在验收环节要求 Agent 解释根因或者要求它写一个能复现问题的测试来证明修复有效。第三个难点死循环。Agent 遇到一个错误修不好会不断重试烧掉大量 token 而且越改越偏。现在工具普遍有最大迭代次数限制Claude Code 默认几十轮之后会停下来。我自己的做法是在 prompt 里明确写“如果同一个错误出现三次以上停下来汇报不要继续自动试”把失控风险提前锁死。这个循环工程有多成熟直接决定了 Agentic Coding 能不能从“demo 很好看”变成“真的能干活”。前两块拼图解决的是“看得懂、够得着”这一块解决的是“靠得住”。3. 一个真实的 Agentic Coding 实战从需求到功能落地讲完原理上点实战。我拿最近做的一个真实需求来完整复盘一遍包括我是怎么定义任务、怎么设定边界、怎么验收的以及中间踩了什么坑。3.1 工具选型我实测过的方案先说说工具。我前后试过 Cursor 的 Agent 模式、Claude Code、GitHub Copilot 的 coding agent、Aider各有侧重。工具交互形态记忆与上下文突出优点需要注意Cursor AgentIDE 内集成支持 Rules、自动读取项目可视化 Diff 审查方便回滚容易重度使用订阅费用偏高Claude Code终端命令行CLAUDE.md 长期记忆行动力强能自主跑命令和测试需要自己做好权限约束GitHub Copilot coding agentIDE / CLI代码库感知和 GitHub 工作流集成顺畅复杂重构场景表现偏保守Aider终端命令行repo map 多模型切换轻量、可脚本化、模型灵活没有 IDE 的可视化审查界面我的建议是这样新手先选 Cursor Agent因为有图形界面的 Diff 审查和回滚能力安全感强很多有命令行经验的直接试 Claude Code它的 agent loop 和上下文控制目前是做得最均衡的喜欢全终端工作流、或者希望批量跑任务的Aider 很合适。选型上不用太纠结某一家。工具迭代太快今天的功能三个月后就变成标配了。核心是理解它们都围绕“计划—执行—检查—调整”这条线哪个顺手就用哪个。3.2 实操步骤需求定义、边界设定、授权方式这是整个 Agentic Coding 里我认为最值得花心思的一步。需求定义的质量直接决定 Agent 交付的质量。第一步写任务说明。我习惯按一个简化版 PRD 来写结构是“背景 / 要做什么 / 具体功能点 / 验收标准 / 禁止事项”。拿这次的真实需求举例背景内部运营后台需要增加订单导出功能。功能点支持按时间范围筛选订单导出 Excel 文件包含订单号、金额、状态、下单时间四个字段。验收标准点击导出按钮生成 xlsx 文件列头为中文导出订单数与列表页筛选结果一致接口响应时间在 3 秒内。禁止事项不要改动现有订单查询逻辑不要新增数据库字段。注意“禁止事项”这一节它比功能点本身还重要。Agent 默认会倾向于用最省事的方式满足需求可能顺手把你的查询逻辑重构了或者往数据库里加一个字段。提前划出禁区能避免大量返工。第二步设定工作目录和权限。我会先建一个独立分支并把 Agent 限制在项目目录内。Claude Code 有 permission 模式可以配置哪些命令允许自动执行、哪些必须人工确认。我一般会把 git push、数据库变更、依赖安装这类高风险操作全部设置为“总是询问我”。第三步启动 Agent 后先让它给方案而不是直接写代码。我让它先读项目结构、定位相关模块、输出修改计划。这一步看起来多花了一点时间但非常值得。如果计划不对你在它动手之前纠正成本远比让它写完一堆代码再改低很多。第四步分阶段验收。Agent 每完成一个功能点就暂停我看 diff、跑测试、自己点一遍界面确认没问题再让它继续下一个。最忌讳的是让它一口气做完十个功能再集中看那时候上下文早就乱了问题叠加起来排查成本会高到让你怀疑人生。第五步让它沉淀文档。收尾时让 Agent 把改动点、使用方式、注意事项写进 commit message 或项目文档。很多 Agent 交付完任务就撒手不管你回头维护的时候完全不知道它改了什么。这一步能让项目保持可持续以后让 Agent 继续维护的时候它也能从文档里快速找回上下文。3.3 关键环节验收标准与修复循环这个案例里最值得讲的是验收环节发生的事。Agent 第一次运行定位到订单列表 API 和前端表格组件提出修改计划改动两个文件。我 review diff 的时候发现它引用了第三方库 openpyxl需要新增依赖。我同意但要求它把依赖写进 requirements 文件里避免下次环境重建时缺依赖。然后它自己写了两个测试一个验证数据查询结果条数一个验证 xlsx 生成的文件头。测试通过后我在真实环境里点了一次导出发现问题了金额字段在 Excel 里出现了科学计数法显示比如 1.2E05。这是 Excel 对超长数字列的常见表现直接显示不友好业务上完全不能接受。我的验收标准里没写这一条但实际用了才发现。我把现象描述给 Agent“导出文件里金额列显示为科学计数法需要改成文本格式显示”它很快改了样式代码重新生成文件验证这次正常。我还让它补了一条回归测试防止以后改别的东西时又把这个问题带回来。复盘这一个来回最大的教训是验收标准写得再细也会有盲区。所以不要让 Agent 自测完就算完事。涉及数据展示、文件导出这类跟用户直接打交道的地方必须人工实操一遍。机器验证覆盖了逻辑正确性覆盖不了“人看着是不是舒服”。再说一个更复杂的场景让 Agent 修一个偶发性的分页 Bug。这类问题最难的是复现。Agent 看到报错“list index out of range”时第一反应是在取 list 的地方加个长度判断这种“if 一下”的修法能把报错盖住但根因是页码计算的边界问题根本没解决。我的对策是强制走一条流程要求 Agent 先写一个能稳定复现问题的测试脚本确认复现之后再定位根因并修复最后要求它把复现测试加进回归测试集里。这套流程对 Agent 的要求更高但出来的代码质量和“表面修复”完全不在一个档次。后来我把它固化成了一条规则写进了项目的 CLAUDE.md。从实战里能提炼出一条黄金规则人类负责定义“什么是对”Agent 负责把“对的”做出来。它有工具自测最好但它验证完你还要用业务眼光再验一遍。4. 高频翻车现场与排查技巧最后分享一些反面教材。我用 Agent 写代码大半年翻车的次数不比成功少。把这些高频问题整理出来能帮你少走很多弯路。4.1 上下文漂移Agent 做着做着就忘了需求这是我遇到最多的问题。任务刚开始 Agent 很听话做到后面开始自由发挥出现需求里没提过的功能、改动无关文件、甚至擅自重命名函数。原因通常是长对话里早期指令被大量中间输出稀释了或者任务拆解粒度太粗次级目标把原始目标盖住了。排查和解决的方法有这么几个把需求写进项目级记忆文件让每一轮对话都自动带上而不是只在最初的 prompt 里说一遍。拆任务一个 Agent 会话只做一个高内聚的功能模块。定时让它回读需求并总结“当前完成度 vs 需求清单”偏差早期就能发现。常态化检查 git diff 的改动范围一发现无关改动立即中止用 git checkout 撤销对应文件。我个人的习惯是每个任务开独立分支每完成一阶段就让 Agent commit。出问题时回滚成本低而且从 commit 记录能清楚地看到它是在哪一步跑偏的方便复盘。4.2 “我修好了”的错觉幻觉修复怎么破第二个高频问题Agent 信誓旦旦地说“问题已修复”你一试原封不动。最常见的原因是它根本没有真的跑验证或者从报错信息里脑补了一个原因然后照着脑补的原因做了修改。我现在的排查流程是这样的不让 Agent 口头汇报要求它贴出实际运行的命令和输出结果。如果修复涉及逻辑变更要求它写一个最小复现用例并跑通。如果连续两次没有解决我不让它继续“再试一次”而是停下来重新给信息完整报错、相关代码片段、期望行为。必要的时候换一个更强的模型来处理。这里有个技巧值得单独拎出来在 prompt 里明确写“除非你运行过验证命令并贴出输出否则不要声称已经修复”。把这条规则固化下来能让 Agent 的可靠性提升非常明显。我把它写进了 CLAUDE.md 的通用约定里实测效果显著。4.3 权限边界别让 Agent 动不该动的东西这一条是我目前认为最重要的。Agent 的能力越强破坏半径就越大权限控制的优先级必须排在效率前面。我亲身踩过的一个坑Agent 为了装一个 Python 依赖直接在全局环境里执行了 pip install把系统 Python 环境搞得一团糟我花了不少时间才把环境复原。从那以后我定了几条铁律用 Docker 容器或虚拟环境隔离工作区。Agent 可以在里面随便折腾出了问题重建一个环境就好。工具的权限设置里把 git push、数据库写入、生产环境命令一律设为“需要人工确认”。运行 Agent 的工作目录用独立的低权限账户不给它大于需要的权限。绝对不要把生产环境的密钥、数据库连接串放进项目文档或自动加载的上下文里。Agent 看到之后可能会在日志里打印或者写进测试文件。很多人用 Agent 的时候只想着“让它多干活”很少想“万一它干错了砸到谁”。等你被它删过一次数据库或者污染过一次环境你就知道这条有多值钱了。4.4 算一笔成本账Agentic Coding 到底贵不贵最后聊钱。坦白说Agentic Coding 的 token 消耗量比普通聊天对话高一个数量级因为每一轮循环都要把项目状态、工具输出重新喂给模型。给一个参考数据我让 Claude Code 重构一个中等规模的模块整个流程消耗大概几十万 token。如果用顶级模型单次任务花几十元人民币很正常。如果是每天高频使用一个月的成本可能比一个初级工程师的工资还高。但也别慌有几个省钱技巧任务拆小避免长上下文累积。每轮结束主动清理会话上下文越长越贵效果还越差。粗活用便宜模型精活用贵模型。格式化代码、写样板测试这类体力活用能力中等但便宜的模型架构设计、疑难 Bug 这类需要深度推理的再上顶级模型。Aider 这类工具支持随时切换模型用起来很方便。禁止无限重试。设置最大迭代轮数超过就停下来人工介入。隐私要求高、任务标准化的场景可以在本地跑小模型。成本低但能力和稳定性有差距适合的场景也有限。价值判断上我的结论是成本高不代表不值。如果一个 Agent 帮你省下一个全职开发的精力这笔账怎么算都是划算的。关键是别让它在低价值任务上空转比如反复改写同一个样式或者为了“整洁”把整个项目的命名风格统一一遍——这类事人做也许只要半天Agent 做能烧掉你一周的配额。我个人在实际使用中的体会是Agentic Coding 真正值钱的不是“让 AI 替我写代码”而是它逼着我把需求和验收标准想清楚。过去写代码需求模糊一点没关系边写边改但 Agent 没有你的直觉你说得越清楚它干得越准。如果你想试我的建议是从一个小模块开始建一个分支写好任务说明给它一次授权跑完看 diff。跑通一次流程之后你大概就明白为什么大家都在说“超级个体”了——不是你什么都会了而是你开始懂得怎么当一个好的“需求方”和“验收方”把 AI 变成你手底下那个最能干的开发同事。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询