今天的大模型已经能够在几分钟内生成页面、接口、数据结构和测试代码。开发者用自然语言描述意图,AI就能迅速给出一套“看起来能运行”的实现。这类开发方式通常被称为 Vibe Coding:人更多负责描述目标、观察结果和持续调整,AI承担大量代码生成、修改与验证工作。
这是一场真实的效率变革。但它也带来了一个容易被忽略的问题:代码生成越快,错误假设、权限漏洞和不一致设计也可能扩散得越快。
因此,AI时代的软件工程不应只回答“怎样让AI写得更快”,还必须回答三个更重要的问题:
·方向是否正确:我们究竟要解决什么问题?
·边界是否清楚:Agent可以做到哪里,哪些事情不能自行决定?
·证据是否充分:凭什么证明结果正确、过程可控、系统可以交付?
全文将持续使用“企业售后工单系统”作为例子。这个系统看起来普通,却同时包含客户、客服和管理员等角色,涉及权限隔离、状态流转、业务数据、测试和上线责任,能够帮助我们把抽象方法落到具体工程行为上。
一、先理解Vibe Coding:变化的是协作方式,不是工程责任
1. Vibe Coding到底是什么
Vibe Coding不是一个严格统一的技术标准,更像是一种AI辅助开发方式:开发者先用自然语言表达需求或修改意图,再通过观察AI生成的代码、运行结果和错误信息,持续修正方向。
过去,开发者需要亲自把大部分意图翻译为代码;现在,开发者可以把更多实现工作委派给AI。人的工作重心随之发生变化:
·从逐行编写,转向定义问题;
·从记忆语法,转向组织上下文;
·从亲自执行所有步骤,转向设计任务边界;
·从“代码写完了”,转向“结果是否被验证”。
Vibe Coding最直观的优势是反馈快。一个想法可以迅速变成页面、接口或脚本,开发者很快就能看到结果并继续调整。它特别适合原型验证、小工具开发、探索性任务和局部修改。
但“感觉差不多”并不是软件交付标准。真实系统还要面对权限、并发、异常、数据一致性、审计、兼容性和长期维护等问题。AI生成的代码可以很好看,也可能只是把大量未经确认的假设包装成了完整实现。
Vibe Coding降低的是“把想法变成代码”的门槛,不是“判断软件是否正确”的门槛。 |
2. 为什么容易出现“盲盒式开发”
当需求只写成一句“帮我做一个工单系统”,AI通常不会停下来等待所有细节,而会根据训练中常见的产品模式自行补全:
·默认生成哪些角色;
·默认设计哪些页面;
·默认选择什么状态;
·默认使用什么技术;
·默认怎样处理权限和异常。
这些补全并不一定荒唐,甚至可能看起来很专业。问题在于,它们不是团队正式作出的工程决定。
例如,AI可能默认客户可以关闭工单,但企业实际规定只能由客服或管理员关闭;AI可能在前端隐藏他人工单,却没有在后端校验资源归属;AI可能为了演示方便把所有业务逻辑写进一个文件,后续一旦更换存储方式,整个系统都要重写。
所谓“盲盒式开发”,不是AI完全随机,而是团队不知道实现中混入了多少模型假设。解决办法也不是让AI“再认真一点”,而是通过规格、任务边界和验证证据,把隐含假设逐步变成显式决定。
二、代码生成变快后,瓶颈转移到了判断与验证
过去评价开发效率,常问代码写得快不快、开发周期长不长、功能做得多不多。AI把代码生成成本大幅降低以后,这些指标仍然重要,但不再足以代表工程效率。
假设团队要开发一个登录功能。AI可以快速生成登录页面、认证接口、用户模型和测试代码。但如果需求没有说明以下问题,生成结果仍然可能不符合业务:
·密码错误时返回什么信息;
·连续失败是否需要限制;
·用户退出后会话何时失效;
·客户、客服和管理员分别能访问什么;
·认证成功后是否还要检查资源归属;
·错误日志能否泄露敏感信息。
这些问题不是语法问题,而是产品、安全和责任问题。AI擅长根据已有模式生成候选答案,却无法替组织决定哪些规则适合当前业务。
因此,AI时代真正稀缺的能力正在转移:
过去更稀缺的能力 | AI时代更加关键的能力 |
快速编写大量代码 | 准确描述问题与约束 |
熟记框架和接口 | 判断哪个方案适合当前场景 |
手工完成重复修改 | 设计可复用、可验证的任务 |
依靠经验发现问题 | 建立持续测试与可观测证据 |
个人完成局部功能 | 维护跨需求、设计、代码和测试的一致性 |
这并不意味着编码能力不重要,而是说明:AI降低了实现成本,却提高了错误决策被快速实现的风险。
企业售后工单系统中的“客户只能查看自己的工单”就是典型例子。这句话看起来很简单,却至少包含身份认证、角色授权、资源归属、接口过滤、错误响应和越权测试等多个工程问题。只要其中一个环节遗漏,系统就可能出现数据泄露。
AI时代的核心竞争力,不只是“更快地产生代码”,而是“更快地形成正确判断,并用证据验证判断”。 |
三、瀑布与V模型:AI时代仍然需要基线和证据
1. 瀑布模型真正留下了什么
瀑布模型是一种阶段式软件开发方法,通常把项目分为需求、设计、开发、测试和交付等阶段。很多人一提到瀑布,就想到流程僵化、周期过长和后期返工。这个批评有现实依据,但瀑布模型留下的工程思想并没有过时。
它至少保留了三项重要能力:
1.阶段目标:当前阶段主要解决什么问题;
2.基线管理:哪些结论已经确认,可以作为后续工作的依据;
3.责任与审查:谁作出决定,谁检查结果,变更怎样进入流程。
这里的 基线,不是永远不能修改的文件,而是“当前经过确认、后续工作可以引用的版本”。需求基线明确系统服务谁、包含哪些角色、首期做什么;设计基线明确系统怎样分层、数据怎样保存、接口怎样交互。
没有基线时,不同Agent、不同开发者和不同会话可能各自理解项目。一次任务认为客户可以关闭工单,另一次任务认为只有管理员可以关闭;页面、接口和测试都可能依据不同结论生成。
AI越能快速执行,越需要先回答:它依据哪个版本执行?
2. V模型:左边作出承诺,右边准备证据
V模型在阶段式开发的基础上,强调开发活动与验证活动之间的对应关系。它最重要的不是V字形,而是“每项工程承诺都必须有对应的证明方式”。
左侧工程活动 | 作出的承诺 | 右侧验证方式 | 工单系统示例 |
业务需求 | 系统要产生什么价值 | 验收测试 | 客户能提交工单并查看处理进度 |
系统需求 | 系统必须遵守什么规则 | 系统测试 | 客户不能访问他人工单 |
架构与接口设计 | 模块怎样协作 | 集成测试 | 前端、API、权限服务和仓储协同 |
模块与函数设计 | 局部逻辑怎样运行 | 单元测试 | 状态跳转和字段校验 |
例如,需求规定工单只能按“待分配—处理中—已解决—已关闭”流转,那么验证就不能只覆盖正常路径,还要检查:
·未分配工单能否直接关闭;
·已关闭工单能否继续写入处理结果;
·状态回退是否需要记录原因;
·没有权限的角色能否推进状态。
这就是“承诺—证据”的对应关系。
3. AI时代为什么更需要这种对应关系
传统人工开发中,一个错误规则可能逐步影响几个文件;Agent可以在短时间内把同一错误扩展到页面、接口、数据模型和测试。如果测试本身也是依据错误规则生成的,系统甚至会出现“代码和测试一起通过,但业务仍然错误”的情况。
因此,需求、设计和测试不能由Agent在同一份模糊上下文中自行循环确认。关键业务规则需要由人确认,并在不同层次形成可独立审查的证据。
阶段用来控制复杂度,基线用来统一依据,验证用来证明承诺。 |
四、敏捷与DevOps:用更短的反馈纠正偏差
1. 敏捷不是“不写文档”
敏捷开发强调把大目标拆成较小增量,尽快交付可观察结果,再依据反馈调整后续工作。它反对的是为了文档而文档、为了计划而计划,而不是反对必要的需求、设计和记录。
对工单系统来说,团队不必等待所有功能完成后再统一演示,可以分阶段交付:
1.客户注册、登录和创建工单;
2.管理员配置分类并分配工单;
3.客服查看被分配任务并推进状态;
4.客户与客服通过留言沟通;
5.系统完成关闭、审计和端到端验收。
每个增量都应该具备三个特征:
·能够运行;
·能够验证;
·能够产生下一轮反馈。
如果只是把任务切成更小的代码片段,却没有独立业务价值和验证方式,那不是有效增量,只是碎片化工作。
2. DevOps不是“装了一条流水线”
DevOps由Development和Operations组合而来,强调开发、测试、发布和运维形成持续协作,而不是代码写完后再整体交给下一个团队。
自动化构建、持续集成和部署流水线是DevOps的常见工具,但DevOps的核心仍然是反馈闭环:
·修改代码后尽快运行测试;
·发布前检查依赖和风险;
·上线后观察日志、指标和告警;
·运行信息重新进入需求和计划。
对Agent而言,这种反馈非常重要。Agent可以根据测试失败继续修复,也可以根据运行日志归纳问题。但前提是系统提供了可靠的测试、日志和边界,而不是让Agent只根据自己的文字判断“已经完成”。
3. Agent如何嵌入敏捷与DevOps
Agent并不替代敏捷和DevOps,而是让反馈循环更加细粒度。过去一次迭代可能以天或周为单位,现在一次受控任务可以在几十分钟内完成:
·读取任务和相关规范;
·修改限定范围内的代码;
·运行指定测试;
·分析失败并有限重试;
·输出差异、结果和遗留风险;
·由人审查后进入下一任务。
真正的效率来自“更短的正确反馈”,而不是“更快的未经验证生成”。
五、AI Agent开发:在成熟工程体系上增加高速执行
1. AI Agent与普通代码生成有什么区别
这里的 AI Agent,不是只回答问题的聊天模型,而是能够在一定目标和边界下,读取上下文、调用工具、修改文件、运行测试,并根据结果继续行动的软件系统。
普通代码生成通常是一问一答:用户提出要求,模型输出代码。Agent则可能连续完成多个步骤:
1.阅读需求和项目结构;
2.制定或读取任务计划;
3.修改代码;
4.运行测试;
5.观察失败;
6.决定继续修复、请求澄清或停止;
7.输出结果和证据。
这使Agent更像一个“受控执行者”,而不是单次代码补全工具。
2. 三层结构:治理、反馈与智能执行
AI Agent软件开发可以理解为三层结构:
层次 | 主要内容 | 解决的问题 |
治理基础 | 规格、基线、审查、追踪、权限、责任 | 什么是正确方向,什么不能越界 |
快速反馈 | 增量交付、自动化测试、发布监控、运行反馈 | 偏差能否尽早被发现 |
智能执行 | 上下文理解、方案生成、工具调用、代码修改、测试循环 | 明确以后怎样更快完成 |
可以把三层比作“地基、道路和发动机”:
·治理基础是地基,保证系统不会建立在错误假设上;
·快速反馈是道路,帮助团队及时发现偏离;
·Agent是发动机,提高具体执行速度。
只有发动机,没有地基和道路,速度越快越危险。只有治理,没有反馈和执行,项目会停留在文档中。只有反馈,没有责任边界,团队即使发现问题也不知道谁来决定。
3. AI Agent软件开发不是推翻传统方法
Agent带来的真正变化,不是新增一个孤立的“AI阶段”,而是进入需求、设计、开发、测试、发布和运维等各个环节。
它继承了传统工程中的基线和责任,也依赖敏捷与DevOps的短反馈,同时把大量重复执行变成可委派任务。
AI Agent不是替代软件工程,而是迫使软件工程把方向、边界和证据表达得更清楚。 |
六、人与Agent的职责边界:可以委派执行,不能转移责任
1. 哪些工作适合交给Agent
Agent更适合处理以下特征明显的工作:
·规则能够说明;
·输入材料能够提供;
·改动范围能够限制;
·结果能够检查;
·失败影响可以恢复。
典型任务包括:
·阅读并归纳需求、代码和日志;
·生成候选方案、规范草稿和测试草稿;
·修改指定模块;
·运行测试并分析失败;
·更新文档和变更记录;
·对多份材料进行一致性检查。
2. 哪些决定必须由人负责
以下事项涉及组织承诺、价值取舍或不可逆风险,不能简单交给Agent决定:
·产品目标和业务价值;
·MVP范围和优先级;
·长期架构承诺与技术债务接受;
·是否上线、回滚或通知客户;
·是否接受安全、合规和数据风险;
·最终验收和责任承担。
Agent可以提出三种技术方案并比较优缺点,但公司是否愿意承担半年迁移成本,必须由责任人决定。Agent可以执行发布脚本,但今天是否允许上线,涉及客户影响和组织授权,不能由模型自行判断。
3. 一个实用的委派判断矩阵
判断维度 | 更适合Agent执行 | 更需要人工决策 |
规则清晰度 | 规则明确、输入完整 | 目标含糊、存在价值冲突 |
可逆性 | 可回滚、可重试 | 难撤销、可能造成长期影响 |
影响范围 | 局部、受限环境 | 生产、客户、资金或敏感数据 |
证据能力 | 有测试、差异和日志 | 很难量化,需要综合判断 |
责任性质 | 执行责任 | 业务、法律和组织责任 |
4. 委派不是一句“帮我做完”
真正的委派应该形成一个受控工作包,至少说明:
·为什么做;
·依据哪些规范;
·允许修改什么;
·禁止修改什么;
·怎样验证;
·失败后如何处理;
·最终由谁确认。
例如,“实现客户查看工单详情”还不够。更完整的任务应说明:客户只能读取本人创建的工单;允许修改查询服务、权限校验和相关测试;不得改变管理员权限;本人工单返回成功,他人工单必须被拒绝;执行指定API测试并输出结果。
Agent可以承担大量步骤,但组织责任仍然属于有权限的人。 |
七、从即时提示词走向规格驱动的受控流程
1. 提示词为什么不能独自承担项目管理
普通提示词通常只服务当前一次对话。它可能包含需求、背景、约束和示例,但随着会话变长,内容容易被淹没;不同会话之间也可能无法稳定复用。
更重要的是,提示词中的内容未必都经过确认。探索阶段的想法、被推翻的方案和最终决定可能混在一起,Agent很难区分哪个才是正式依据。
2. 规格、计划和任务为什么是项目资产
Superpowers、Spec Kit、OpenSpec等公开实践虽然具体实现不同,却体现出共同趋势:AI开发正在从即时生成转向受控流程。
典型链路可以概括为:
意图 → 规格 → 计划 → 任务 → 执行 → 验证 → 变更记录
·意图:提出想解决的问题;
·规格:把目标、范围、规则和验收写清楚;
·计划:根据依赖确定实施顺序;
·任务:形成Agent能够一次执行的受控工作包;
·执行:修改代码或文档;
·验证:通过测试、差异和审查判断结果;
·变更记录:把新的事实和决定回写到项目中。
普通提示词像一次口头交代,规格和任务文件更像经过确认的施工图与工作单。它们可以被多人、多轮会话和多个Agent持续引用,也能够被审查、修改和追踪。
3. 框架不是质量保证书
使用某个规格驱动框架,并不意味着项目自然可靠。框架只能帮助建立流程结构,真正决定质量的仍然是:
·规格是否明确;
·冲突是否被关闭;
·任务是否有边界;
·权限是否真实限制;
·测试是否覆盖业务风险;
·证据是否来自真实执行。
不是提示词越长越专业,而是项目依据越稳定、任务边界越明确、验证越真实。 |
八、Agent进入软件全生命周期
1. 构思需求:从记录信息到辅助澄清
传统需求阶段常见会议、访谈和文档评审。大量信息分散在口头讨论、聊天记录和会议纪要中,团队容易遗漏冲突与缺口。
Agent适合扮演“问题放大镜”。面对“开发一套工单系统”,它可以继续追问:
·服务个人客户、企业客户还是内部员工;
·谁创建、谁分配、谁处理、谁关闭;
·客户能看到哪些工单;
·首期是否支持附件、通知、SLA和报表;
·哪些状态允许跳转;
·怎样判断项目完成。
Agent的价值不是替业务方回答,而是让隐含选择尽早变成显式问题。
2. 规划设计:从文档交接到上下文协作
传统流程容易形成文档接力:需求写完交给设计,设计交给开发,开发再交给测试。每次交接都可能丢失背景。
Agent可以帮助检查:
·需求与设计是否冲突;
·设计是否覆盖全部规则;
·任务是否引用最新规范;
·评审意见是否已经回写;
·测试是否对应关键需求。
所谓 上下文协作,不是把所有聊天永久塞给Agent,而是把确认过的目标、角色、范围、状态规则和接口约定沉淀为可复用资料。
上下文越长不一定越好。过多的旧信息、冲突信息和无关背景会增加噪声。真正需要的是当前任务所需、已经确认、来源明确的最小充分上下文。
3. 编码与测试:从人工执行到受控循环
Agent可以连续完成读取任务、修改代码、运行测试、分析失败和再次修复,这种循环能够显著提高局部开发效率。
但受控执行至少要回答:
·改哪些文件;
·哪些共享边界不能改;
·运行什么测试;
·允许重试多少次;
·什么情况下必须停止并请求人工判断。
缺少约束时,Agent可能为了让测试通过而删除测试、放宽权限、修改无关模块或隐藏错误。
测试对于Agent尤其重要,因为测试把“写得更好”转换成明确反馈:这个输入是否得到预期结果,这个权限是否被拒绝,这个状态是否允许变化。
4. 发布与运维:从自动执行到辅助诊断
Agent可以整理发布说明、检查配置、分析日志、归纳告警和提出排障建议,也可以在受限环境执行标准化检查。
但运维场景必须区分 观察 与 决策:
·错误率升高是观察;
·是否回滚是决策;
·某接口持续超时是观察;
·是否关闭服务是决策;
·监控发现异常访问是观察;
·是否通知客户和启动应急流程是决策。
低风险、可恢复、标准化的动作可以自动;高影响、难撤销、涉及生产和客户的动作需要审批、权限和审计。
5. 迭代反馈:Agent形成可讨论材料,人作出价值判断
软件上线并不代表开发结束。系统会持续产生:
·用户反馈;
·缺陷记录;
·运行指标;
·代码与配置变更记录;
·监控告警。
这些信息往往分散在客服系统、缺陷平台、日志平台和代码仓库中。Agent适合进行聚合、分类、去重和关联。
例如:
·十条不同投诉可能都指向登录超时;
·多个缺陷可能与同一次权限修改有关;
·性能下降可能恰好发生在某次配置变更之后。
Agent可以形成三类材料:
1.反馈摘要:谁受到影响、影响范围多大;
2.缺陷模式:哪些问题反复出现、可能关联哪些模块;
3.候选需求:哪些改进值得进入讨论。
但这些只是可讨论材料,不是自动决策结果。
真正的迭代决策需要人完成三步判断:
·识别真实价值:区分核心需求、局部偏好、偶发现象和噪声;
·确定优先顺序:综合业务目标、安全风险、成本和依赖;
·确认下一轮范围:决定哪些进入版本,哪些继续观察,哪些暂不处理。
假设一百名用户要求增加统计报表,同时系统发现一个低频出现的数据越权问题。虽然报表反馈更多,越权问题通常仍应优先处理,因为优先级不能只按出现次数排序。
运维和使用阶段产生的新反馈最终会重新进入需求、设计、开发、测试和发布,形成持续改进闭环。
Agent把分散信息变成可讨论材料,人把材料变成有优先级、有范围、有人负责的迭代决策。 |
九、Agent的三类核心价值:理解、协作与验证
1. 看得更快:加速信息理解
Agent可以快速阅读需求、代码、测试、日志和变更记录,帮助团队定位相关信息、发现重复问题和生成摘要。
价值不在于“替人读完所有材料”,而在于缩短从信息出现到被团队看见的距离。
2. 接得更顺:减少协作断点
软件工程中的很多损失来自阶段交接:需求没有进入设计,设计没有覆盖任务,代码没有对应测试,评审结论没有回写。
Agent可以帮助维护这些关联,使不同阶段围绕同一组确认信息工作。
3. 验得更早:强化持续验证
Agent能够在每次修改后运行测试、检查差异、分析失败和整理证据。问题越早被发现,影响范围越小。
但验证必须来自真实执行。模型说“测试通过”不是证据;实际测试命令、测试结果、代码差异和审查记录才是证据。
4. 为什么这比“写代码更快”更重要
如果AI工具只提高代码输入速度,却没有改善信息理解、跨阶段协作和验证,它带来的只是局部效率。
真正的软件工程效率,是整个闭环中等待更少、重复解释更少、返工更少、风险更早暴露。
十、速度越高,越需要工程化约束
AI是一个放大器:
·需求清楚时,它放大正确方向;
·需求模糊时,它放大错误假设;
·测试可靠时,它加快修复;
·测试不足时,它也可能制造“虚假完成”;
·权限清楚时,它在边界内执行;
·权限模糊时,它可能触碰不该修改的内容。
可以把Agent开发比作高速公路。速度越高,越需要车道、护栏、限速、出口和事故处理机制。工程约束不是为了压制效率,而是为了让效率能够安全地转化为交付。
常见风险包括:
·根据模糊需求自行扩展功能;
·为了通过测试而修改测试;
·在修复局部问题时重构无关模块;
·把前端隐藏误认为后端授权;
·把模型生成的总结当成真实执行证据;
·在生产环境执行未经审批的高影响动作。
解决这些问题不能只依赖提示词中的“请谨慎”,而要使用真实的权限、文件范围、测试、审查和人工确认机制。
十一、可靠协作的五道护栏
1. 目标明确
任务必须说明做什么、为什么做、完成后产生什么价值。
“实现工单详情页”不够明确;“让客户能够查看本人创建的工单详情,并拒绝访问他人工单”才包含业务目标。
2. 上下文充分
Agent需要看到当前任务所需的经过确认的资料,例如角色权限、接口契约、相关代码和测试规则。
上下文充分不等于把整个仓库和全部聊天都交给模型,而是提供最小充分信息。
3. 权限约束
需要明确Agent可以读取、修改和执行什么。真实控制应落实到:
·文件和目录范围;
·命令和工具权限;
·数据库账号权限;
·网络访问范围;
·高风险动作审批。
提示词中的“不要修改其他文件”只能作为行为提示,不能替代系统权限和代码审查。
4. 结果验证
每项任务都应绑定可复核证据,例如:
·单元测试;
·API测试;
·浏览器验证;
·端到端场景;
·代码差异;
·日志和审查记录。
验证方式要与风险匹配。页面能打开不能证明权限正确,单元测试通过也不能证明完整用户流程可用。
5. 责任确认
需要明确:
·谁批准任务;
·谁审查关键变更;
·谁接受测试证据;
·谁决定上线;
·谁承担最终结果。
Agent没有组织授权,也不承担失败后果。建议可以来自Agent,决定必须由有权限的人作出。
6. 用一个任务检查五道护栏
以“客户查看工单详情”为例:
护栏 | 应明确的内容 |
目标 | 客户可查看本人工单,不能访问他人工单 |
上下文 | SRS权限规则、API契约、当前查询服务 |
权限 | 只允许修改查询、授权和相关测试模块 |
验证 | 本人访问成功、他人访问拒绝、管理员能力不受影响 |
责任 | 由模块负责人审查,安全测试通过后接受 |
五道护栏共同组成受控协作闭环,任何一道缺失,都可能出现“代码写得很快,但方向、权限或结果无人确认”的问题。
十二、Agent落地需要三类工程能力共同支撑
1. 治理基础:确定正确方向
治理基础包括规格、基线、审查、追踪、权限和责任。它回答:
·什么是正确目标;
·哪些内容已经确认;
·哪些边界不能突破;
·谁拥有决定权。
2. 快速反馈:尽早发现偏差
快速反馈包括增量交付、自动化测试、发布监控和运行反馈。它回答:
·修改后多久能知道结果;
·问题能否在影响扩大前被发现;
·真实运行信息能否进入下一轮计划。
3. 智能执行:提高完成速度
智能执行包括上下文理解、方案生成、工具调用、代码修改和测试循环。它回答:
·在目标明确后,怎样更快完成工作;
·怎样减少重复劳动;
·怎样把执行过程保留下来。
4. 三类能力缺一不可
缺失的能力 | 典型结果 |
缺少治理基础 | Agent快速执行错误或含糊目标 |
缺少快速反馈 | 错误积累到后期才集中暴露 |
缺少智能执行 | 项目有规范但推进效率有限 |
三者都有 | 方向清楚、反馈及时、执行高效 |
可靠的AI开发不是“选一个更强模型”就能完成,而是治理、反馈和执行共同形成系统。
结语:人定义方向,Agent加速执行,证据证明结果
Vibe Coding改变了软件开发中的劳动分配。AI可以承担大量生成、修改、查找和验证工作,人可以把更多精力放在需求判断、架构取舍、风险控制和结果验收上。
但这种变化并不意味着软件工程失效。相反,AI越强,越需要把工程中的关键控制点表达得更清楚:
·用基线统一执行依据;
·用短反馈及时纠正偏差;
·用规格和任务控制Agent边界;
·用权限限制真实行动;
·用测试和记录证明结果;
·用人工确认承担高影响决定。
整篇文章可以收束为一句话:
人定义方向并承担责任,Agent加速执行,工程流程用真实证据证明结果。 |
在任何AI开发项目启动前,都可以先检查四个问题:
1.方向是否已经由人确认?
2.Agent任务是否有明确边界?
3.结果是否能够用真实证据验证?
4.高风险动作是否有明确责任人?
四个问题能够回答清楚,Vibe Coding才有可能从“快速生成”走向“可靠交付”。
核心术语速查
术语 | 通俗解释 | 不应误解为 |
Vibe Coding | 用自然语言与AI快速生成、修改和验证代码的开发方式 | 不需要需求、测试和工程判断 |
AI Agent | 能读取上下文、调用工具并连续执行任务的软件系统 | 可以自行承担组织责任的“数字员工” |
基线 | 当前经过确认、后续工作可以引用的版本 | 永远不能修改的文档 |
瀑布模型 | 用阶段和基线控制复杂度的开发方式 | 所有项目都必须完全线性推进 |
V模型 | 将工程承诺与验证证据对应起来的方法 | 只是一张V字形流程图 |
敏捷开发 | 用小增量和短反馈持续调整 | 不写文档、不做计划 |
DevOps | 让开发、测试、发布和运行形成持续反馈 | 只安装CI/CD工具 |
上下文协作 | 把确认过的规则和资料组织给当前任务使用 | 把全部历史聊天永久塞给模型 |
规格驱动 | 先形成可审查规格,再计划、执行和验证 | 只写更长的提示词 |
受控委派 | 把目标、边界、验证和责任清楚的工作交给Agent | 一句“帮我全部做完” |
验证证据 | 来自测试、差异、日志和审查的可复核结果 | 模型文字声称“已经完成” |
夜雨聆风