Vibe Coding 如何做限制?
很多团队引入 AI 编码后,第一个错误直觉是:“让它尽量自由,效率才高。” 实际上,Vibe Coding 一旦没有限制,效率提升常常只出现在前 10 分钟,后面会被返工、误改、幻觉和安全风险全部吃回去。 所以真正成熟的做法不是追求无限自动化,而是做分层限制(guardrails)。
0. 面试速答(30 秒版 TL;DR)
- Vibe Coding 的限制,本质上是在控制 4 件事:
- 它能看什么
- 它能改什么
- 它能执行什么
- 它必须如何验证
- 限制不是为了降速,而是为了把错误压缩在小范围内。
- 一套常见而有效的约束链路是:
- 任务限制:目标、非目标、改动范围
- 权限限制:目录、命令、外部系统权限
- 流程限制:先搜再改、先验证再提交
- 发布限制:CI、评审、审批
- 原则是:低风险任务自动化,高风险动作必须升级审批。
1. 为什么限制反而能提高效率?
因为 AI 编码里最贵的不是“慢一点”,而是“错得很远”。
没有限制时,常见代价包括:
- 改错目录
- 顺手重构一大片
- 执行不该执行的命令
- 擅自联网、装包、删文件
- 没验证就宣称完成
这些问题一旦进入主分支,返工成本远高于前面多加几条限制。
所以限制的真实收益是:
- 减少回滚
- 减少 review 成本
- 降低安全风险
- 稳定输出质量
2. 第一层限制:任务边界
这是最重要的一层。
至少要明确 4 件事:
- 目标是什么
- 非目标是什么
- 可以改哪些路径
- 哪些地方绝对不能碰
例如:
- 只改
docs/frontend/vibe-coding/ - 不改现有历史文档
- 不改侧边栏逻辑代码
- 只新增,不删除
如果这层不写清,AI 会自然向“它认为更合理”的方向扩展。
3. 第二层限制:权限边界
3.1 文件权限
常见做法:
- 默认只允许改工作区
- 只允许改指定目录
- 删除文件、高影响文件改动需要额外确认
3.2 命令权限
不是所有命令都应该直接给 AI。
尤其要重点限制:
- 删除类命令
- 会写系统目录的命令
- 联网安装命令
- 发布、部署、推远端命令
更稳的思路是:
- 默认读操作放开
- 写操作有限开放
- 高风险操作升级确认
3.3 外部系统权限
即便接了 MCP,也不等于 AI 就该拥有全部系统能力。
例如:
- issue 系统可读,不一定可写
- 监控系统可查,不一定可执行恢复动作
- 数据库优先只读
权限一旦设计错,AI 的问题不是“写错代码”,而是“做错操作”。
4. 第三层限制:执行流程
很多风险不是权限不够,而是流程没卡住。
团队里至少要约束这些动作顺序:
4.1 先搜索再编辑
避免 AI 凭空假设某个文件或符号存在。
4.2 先理解上下文再动手
至少要看:
- 相关文件
- 配置
- 调用链
- 验证命令
4.3 改完必须验证
例如:
- 文档改动跑格式或语法检查
- 代码改动跑
typecheck - 关键功能改动跑测试
没有验证,限制体系其实是不完整的。
5. 第四层限制:发布闸门
即使前面都做了,也不应该让 AI 直接越过最后一道关。
典型闸门包括:
- CI
- 测试
- Code Review
- 必要的人工审批
一个成熟团队的策略通常是:
- AI 可以生成改动
- AI 可以辅助解释改动
- 但最终合入仍然由人和自动化基线共同决定
6. 一套前端团队可直接落地的限制方案
6.1 低风险任务
例如:
- 文档新增
- 样式微调
- 文案修正
可放宽:
- 局部自动编辑
- 局部自动验证
6.2 中风险任务
例如:
- 组件重构
- 页面逻辑修复
- 构建配置调整
应增加:
- 改动目录限制
- 必跑验证命令
- 人类 reviewer 审核
6.3 高风险任务
例如:
- 数据迁移
- 权限系统改动
- 删除大批文件
- 部署和回滚
必须:
- 人工主导
- AI 只做辅助分析和草稿
7. 一个很常见的追问:限制会不会让 AI 失去价值?
更稳的回答是:
- 会限制一部分“看起来很爽”的自由度
- 但会显著提升可控性和稳定性
工程里真正要追求的不是“AI 最像全自动员工”,而是:
- AI 在可控边界内,稳定地产生高质量增益。
8. 常见误区
- 误区 1:把限制理解成不信任 AI
- 限制本质上是工程治理,不是情绪表达。
- 误区 2:只配权限,不配验收
- 没有验证要求,错误仍然会流进主线。
- 误区 3:所有任务都一个限制级别
- 不同风险等级,应该有不同自动化边界。
- 误区 4:把“能做”当成“该做”
- 即使 AI 技术上能执行,也不代表流程上该放开。
9. 速记要点(可背诵)
- Vibe Coding 限制的核心是:看什么、改什么、跑什么、怎么验。
- 限制不是减效率,而是减少大错和返工。
- 最稳的治理方式是:任务边界 + 权限边界 + 执行流程 + 发布闸门。