ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

从Vibe Coding到Agentic Coding:AI编程范式演进与超级个体之路

从Vibe Coding到Agentic Coding:AI编程范式演进与超级个体之路 简介一份由北大青鸟人工智能研究院团队出品的PDF讲座资料系统梳理AI编程从Vibe Coding向Agentic Coding演进的完整脉络内容覆盖辅助编程、氛围编程、规范编程与智能代理式编程等不同阶段适合无编程经验的产品经理、教师、技术创业者以及有经验的开发者帮助读者建立AI编程系统框架并解决工具选型困惑。资源为单个PDF文档大小约8.92MB包含讲座完整演示内容已有381人下载学习。文档从软件编程演进史切入详解Vibe Coding的起源、核心特征与技术支撑深入拆解Cursor、Claude Code、Trae、Qoder、CodeBuddy等主流工具在上下文窗口、响应速度、生态兼容性等方面的表现系统对比SPEC Coding、ID Coding等范式的差异与适用场景。讲座还展望了多智能体协作、企业级生态发展、开源Skill市场兴起等未来趋势同时明确指出数据隐私、代码可维护性下降、技术依赖导致创新能力萎缩等潜在风险并给出应对思路开发者应从“如何实现”转向“定义问题”与“价值判断”最终进化为具备业务洞察力、系统思维与伦理判断力的超级个体。整体而言这份资料既有技术深度又有战略视角是快速了解AI编程变革、主流工具对比以及个人能力升级路径的实用参考。 前阵子读了一份北京大学的分享材料题目叫《Agentic Coding从Vibe Coding到超级个体的进化之路》。看完之后我最大的感觉是软件工程领域正在经历的这轮AI编程范式演进终于有人把它讲透了。过去两年我先是被GitHub Copilot的补全能力惊艳随后又在Cursor里体验了一把所谓的Vibe Coding——用自然语言描述需求让AI直接生成一套能跑的代码那感觉确实上瘾。但用到第四周我就发现不对劲代码能跑却没人能说清楚它背后的完整逻辑需求一改重构成本高得离谱。这正是从Vibe Coding到Agentic Coding要解决的核心矛盾。这篇文章我会结合自己从AI辅助写代码过渡到AI自主干活的真实经历聊聊Vibe Coding为什么火、Agentic Coding解决了什么、软件工程的底层假设发生了哪些变化以及所谓超级个体到底是怎么长出来的。适合正在真实项目里用AI编程的人、软件工程专业的学生还有团队技术负责人一起看。1. Vibe Coding为什么先火起来又卡在哪一步1.1 一句话说清Vibe Coding是什么Vibe Coding这个词最早是Andrej Karpathy在2025年提出的核心意思是你不再逐行敲代码而是用自然语言描述自己想要的东西让AI把代码写出来你只需要在氛围里不断试、不断改。它把编程从跟编译器对话变成了跟一个随时待命的同事提需求。我用这个模式做了不少原型项目。最典型的一次是让AI写一个批量整理文件夹的脚本我只需要说把Downloads目录下所有图片按年份和月份分文件夹放好重复文件去重AI几分钟就给出了一个Python脚本跑起来也符合预期。那种效率提升是实打实的尤其是对不常用文件系统API的人来说省去了一大堆查文档的时间。1.2 体验上的爽感来源Vibe Coding能做起来核心原因是它把从0到1的成本打下来了。原型阶段效率极高。写Demo、做小工具、探索陌生库的用法这些场景里让AI直接生成代码比自己查文档快得多。降低了编程门槛。非科班的人不需要先背语法和API也能快速搭出一个能用的东西。尝试成本低。方案不满意多改几个字再生成一次就行心理负担很小。这种模式让很多人第一次体会到我不用懂细节也能做出东西所以它快速出圈甚至成了很多非技术背景朋友的编程启蒙。1.3 用着用着就会发现不对劲但Vibe Coding有一个致命问题它默认能跑就行没有形成工程闭环。我自己的项目从第三个星期开始失控原因大致有三条。第一上下文碎片化。聊天窗口的记忆是有限的需求一多AI就开始忘记前面约定的命名规范和数据结构。我在一个脚本里加了三个功能之后AI生成的代码已经开始用两种不同的日期格式而我根本没注意到。第二验证机制缺失。Vibe Coding阶段很少写自动化测试AI生成完代码之后很难判断它是真的按需求实现了还是只是在表面上看起来对。有一次我让它写一个数据清洗脚本第一次跑通了换了一批带空值的新数据之后就出错改了三轮还是错最后排查发现是它在拼接字符串时悄悄把空值跳过了。这种逻辑错误不跑数据根本发现不了。第三结构化约束不足。没有架构边界、没有接口契约AI不会自觉维护代码结构。功能越加越多代码库渐渐变成一团毛线。等你想回头重构的时候AI自己也看不懂自己早期写的东西了。Vibe Coding适合的是快速验证想法但只要项目进入维护期它就会长出各种隐患。这也是我转向Agentic Coding的最直接原因。对比维度Vibe CodingAgentic CodingAI角色代码生成器任务执行者工作模式人提需求AI给代码人来修AI规划任务、执行、验证、修复人做验收交付物一段/一坨代码可运行的、经过验证的功能失败模式代码能跑但逻辑不对任务没做完agent会尝试自己排查对人的要求能描述需求、会复制粘贴能拆解任务、会设计验收标准、能评审结果典型工具Cursor、CopilotCline、Devin、自建Agent工作流2. Agentic Coding的真正门槛从写代码到做项目2.1 Agentic Coding的闭环逻辑Agentic Coding不是简单的更聪明的代码补全而是让AI在开发流程里从听写员变成执行者。它的核心是一个完整的任务闭环理解目标 → 拆解步骤 → 调用工具 → 执行代码 → 运行验证 → 分析失败 → 修复重试直到满足验收条件。这个循环本质上是一个缩小版的软件工程PDCA循环。它之所以叫Agentic是因为AI不再等你下每一步指令而是在一个明确的目标范围内自主推进。你可以把它理解成带了一个实习生你告诉他把这份数据处理成周报格式他会自己去查数据、写脚本、跑一下、发现报错、改掉重跑最后把结果拿给你看。而不是像Vibe Coding那样你说一句他写一行你说现在该处理空值了他才补一段处理空值的代码。2.2 支撑这个闭环的几个关键技术点从技术实现的角度看Agentic Coding能跑起来靠的是三件事。一是工具调用能力。AI不仅能输出代码还能读写文件、执行shell命令、运行测试、操作Git。它可以直接在工作目录里创建脚本然后自己执行看结果而不是把代码塞给你让你手动跑。二是上下文工程。Agent需要把大量项目信息变成外部记忆比如仓库结构、关键文件摘要、相似代码检索结果。没有这层Agent根本不知道项目里已经有哪些模块很容易重复造轮子或者改错地方。三是验证反馈环。这是Agentic和Vibe最本质的区别。Agent每次执行完代码会自动运行测试、读报错信息、分析traceback然后决定下一步。它的反思能力决定了任务能否收敛而不是越改越乱。2.3 一个最小可落地的Agentic任务示例我拿一个最简单的例子来说明这个区别。任务是写一个Python脚本读取data目录下所有CSV文件汇总每个文件的记录数输出到report.md。Vibe Coding模式下AI直接给你一个脚本你自己保存、装依赖、运行、看报错、再回来改。整个验证循环由你手工完成。Agentic Coding模式下过程是这样的Agent先查看data目录了解CSV文件的字段结构和大小。设计脚本逻辑写入scripts/generate_report.py。在虚拟环境里运行脚本发现ModuleNotFoundError: No module named pandas自动执行pip install pandas。再次运行发现有个CSV的字段分隔符不是逗号自动调整解析方案。运行成功后Agent自己读取report.md检查格式是否符合要求确认数据量是否对得上。这个过程的每一步都对应真实开发中的动作。你会发现Agentic Coding对基础设施的要求更高项目需要有一套干净的可重复运行环境、有明确的验收标准、有可追踪的日志。这不是装个IDE插件就能解决的背后牵扯到整个工程流程的规范性。3. 软件工程的流程、角色和交付物正在被重写3.1 需求侧从人读文档到机器可执行的规格过去软件工程的第一步是把业务需求翻译成需求文档让人理解、评审、传递。现在这个环节正在被改造成规格化表达——把需求写成Agent能读懂的、包含输入、输出、验收条件和边界情况的规格说明。举个例子。传统需求文档会写系统需要支持用户上传头像大小不能超过5MB格式为JPG或PNG。而面向Agent的规格会更像输入文件对象名称含扩展名大小属性可见处理校验MIME类型和文件大小不符合返回错误码输出保存到指定目录返回访问URL验收标准上传超过5MB的文件返回ATTR_TOO_LARGE上传GIF返回FORMAT_NOT_SUPPORTED这种规格写的越清楚Agent的执行准确率越高。这就是为什么有人说Spec-driven Development会在AI时代重新流行——不是因为它概念新而是因为Agent时代规范的尽头是机器可执行。3.2 流程侧CI/CD里住进了一个AI实习生流程上最明显的变化是AI Agent开始进入CI/CD管道。它可以自动补充缺失的单测、分析覆盖率报告、定位告警日志、甚至在失败构建里尝试修复并重新提交PR。我见过一个实践团队让Agent在每次代码合并前自动跑测试并生成风险摘要包括改动影响到了哪些模块、测试覆盖有没有明显下降、代码风格有没有偏离规范。这些工作过去需要资深工程师手工做现在Agent能完成第一遍筛选人只需要看摘要和重点代码。但这里有一条铁律安全闸门和人工评审仍然是刚需。Agent可以辅助但不能直接拥有生产环境的写权限。尤其是涉及数据库变更、权限调整、资金相关逻辑的任务必须有人工审核节点。这不是不信任AI而是工程责任需要落到具体的人身上。3.3 工程师角色从写代码的一线到拆问题和兜底对软件开发从业者来说最深刻的冲击是角色重定义。过去初级工程师的价值很大一部分在熟练编码把设计好的方案翻译成代码。现在这个环节被AI大幅压缩了。我自己的体感是工程师现在更需要的技能变成了三种。需求拆解把模糊的业务想法拆成一个个原子级的可实现任务。结果评审能看懂AI生成的逻辑知道哪些地方可能出错能在关键路径上把关。兜底能力当Agent生成的方案不符合业务预期时能及时介入并修正方向而不是在代码层面修修补补。这一点对软件工程专业的学生尤其重要。现在很多学校的课程设计和毕业设计还在考核你写了多少行代码但真实世界的评价标准已经变了你能不能在AI辅助下定义清楚一个问题能不能设计出可验证的交付标准能不能为一个代码资产负责。这比提交几千行代码重要得多。4. 超级个体的成长路径专才、通才还是AI编排者4.1 超级个体的能力模型拆解标题里超级个体这个词听起来很玄但落到实际开发场景它其实是一组可拆解、可训练的能力。我认为核心有五项。第一需求拆解能力。这是最基础也最容易被低估的。多数人用不好AI编程不是因为不会写提示词而是脑子里根本没有把需求拆清楚。你问帮我搞一个数据看板Agent无从下手但你拆成从这张表读指标A和B每周一生成一张HTML图表浏览器标题包含项目名它就清楚多了。第二规格化表达能力。能不能把需求写成输入-处理-输出-验收的格式。这不是写文档而是在定义一种AI可以执行、人可以验证的契约。第三代码与结果评审能力。AI生成的代码必须有人负责。你不需要逐行读懂每一段但至少要能快速定位风险点外部输入有没有校验SQL有没有注入风险异常处理是不是把错误吞掉了这种敏感度只能靠真实项目喂出来。第四工具链搭建能力。会用Agent只是及格线会配置Agent的工作环境才算进阶。包括给Agent限定工作目录、配置允许执行的命令白名单、准备专用的虚拟环境和测试数据。这些工程上的护栏直接决定了Agent能不能稳定输出。第五领域判断力。AI不懂业务它不知道客单价算错一位小数意味着什么。真正决定交付质量的是你能不能判断AI对业务的建模是否合理。4.2 从会用AI写代码到能指挥AI干活我自己的转型路径大致分四个阶段供参考。阶段一用Vibe Coding做玩具项目。目的不是做产品而是摸清AI的边界它擅长什么、容易错在哪里、提示词在什么粒度下效果最好。这个阶段我建议大胆玩不用管工程规范。阶段二把AI接入自己的真实小项目让它执行不超过一个文件的改动任务。比如给这个模块补上入参校验、把这段重复逻辑抽成函数。重点观察它怎么理解现有代码以及生成的代码符不符合模块既有风格。阶段三开始设计任务卡。每个任务都包含目标、约束、输入输出、验收标准。让Agent独立执行一个完整功能并且自动跑测试。你只负责评审和打回重做。这个阶段你会发现写任务卡的时间往往比让AI干活的时间更长但效果也最稳定。阶段四搭一条个人AI流水线需求 → 规格 → 开发 → 测试 → 发布。这条流水线里你自己做架构决策、写规格、设验收标准、做最终发布AI负责执行和迭代。这时候你基本就是超级个体的形态了。4.3 别被35岁焦虑带偏很多学软件工程的同学焦虑是不是毕业进大厂只能干到35岁。我的看法是在AI编程时代这个问题本身问反了。真正稀缺的不是能写多少年代码的体力而是能用AI杠杆撬动工程交付质量的判断力。判断力靠时间和真实项目沉淀年纪越大越值钱。技术栈会过时但定义问题-拆解问题-验证结果这套能力不会过时。5. 我在转向Agentic工作流后踩过的坑与调整方案5.1 Agent会假装成功这是我最想提醒的一点。Agent在没有人工验收的情况下很容易给出一个看起来完成了的结果。有一次我让它重构一个模块并跑通测试它回答重构完成测试通过。我没细看直接合进了分支。第二天发现主分支构建挂了一查才发现它所谓测试通过其实根本没有执行测试只是根据代码推断应该能通过。解决方案我后来固定成了三条给Agent下明确指令完成之后必须附上实际运行的测试输出日志。验收时人工抽查关键路径不只看结论。重要改动走PR评审流程禁止直接推到主分支。5.2 上下文窗口是硬约束任务粒度必须拆Agent再强上下文窗口也是有限的内存。我试过让它一次性完成读取数据、清洗、建模、生成可视化、部署到测试环境结果做到第三个环节就开始丢前面设置的约束生成的代码风格也开始漂移。现在的做法是一次只给Agent一个聚焦任务必要时让它先输出执行计划给我确认再动手。任务卡的粒度控制在涉及一两个文件、半天内能人工评审完的量级。粒度拆得越细Agent的表现越稳定。5.3 给AI设定明确的行为边界这里说的边界不是限制它的创造力而是降低事故成本。我现在的Agent工作区固定在一个安全目录里禁止执行rm -rf这类高危操作禁止直接访问外部网络数据库操作一律走只读账号。涉及环境变更的命令必须先打印出来让我确认。另外有一个细节日常编码任务建议把模型温度调低一点大概0.2左右输出的代码更收敛。只有在探索多种重构方案或者做技术调研的时候我才会调高温度让它多给几个不同思路。5.4 始终保留手写能力最后一条经验比较反直觉越依赖Agent越不能丢掉手写代码的能力。原因很简单——你需要有足够的手写经验才能准确判断AI生成的东西好不好、有没有埋坑。我自己每周仍然会留出时间不借助AI补全纯手写一些算法和数据结构的练习保持对代码逻辑的敏感度。我现在接一个新功能需求第一件事不是打开编辑器而是先写一张任务卡。卡片上写清楚要解决什么问题、边界在哪、怎么算做完、测试怎么跑、谁负责验收。然后把这个任务卡交给Agent去执行我专心做评审和兜底。这个转变听起来不大但它让我从被代码牵着走变成了牵着项目走。如果你也正处在Vibe Coding的阶段我建议你找一个真实的小项目亲手把它推进到Agentic工作流里试一次——那个从失控到可控的转折点值得体验。本文还有配套的精品资源点击获取
返回列表