
Vibe Coding 与 Agentic Engineering:两种工程哲学

AI 时代,工程师分裂成了两派。
一派叫「Vibe Coding」: 把需求丢给 AI,接受它吐出的一切。
另一派叫「Agentic Engineering」: 把 AI 视为强大但有盲区的工具,通过结构化方法引导、约束、验证它的产出。
这不是技术之争。这是哲学之争。
Vibe Coding:关键词是「放手」

Vibe Coding 的信徒是这样工作的:
打开 Claude Code 或 Cursor,输入:「帮我写一个用户登录页面,支持邮箱和手机号。」
AI 吐出了 200 行代码。
他们扫一眼,觉得「看起来没问题」,就 git commit,然后推送。
如果出了问题?
再找 AI:「这段代码有 Bug,帮我修一下。」
AI 修改后,他们再扫一眼,再推送。
循环往复。
Vibe Coding 的核心假设是:
AI 已经足够聪明,我只需要告诉它我要什么,它就能给我一个「差不多对」的结果。
关键词:
- 放手 —— 我不纠结细节,我相信 AI
- 迭代 —— 不对就改,改完再看
- 模糊正确 —— 不追求完美,追求「能用」
Vibe Coding 的信徒说:
「我以前写一个功能要半天,现在只要十分钟。虽然代码质量可能不如以前,但快就是好。」
「AI 有时会瞎编,但我能看出来。看不出来就让它自己修。」
「纠结细节没意义。先用起来,不行再改。」
听起来很美。
但它有一个致命问题:你失去了对代码的理解权。
Agentic Engineering:关键词是「掌控」
Agentic Engineering 的信徒是这样工作的:
打开 Claude Code,输入:「帮我写一个用户登录页面。需求如下:」
然后他们列出一份结构化的需求:
功能需求:
1. 支持邮箱登录
2. 支持手机号登录(+86)
3. 登录失败 3 次锁定账号 5 分钟
技术约束:
1. 使用 React + TypeScript
2. API 调用必须有错误处理
3. 表单验证必须在客户端和服务端双重校验
测试要求:
1. 必须覆盖正常登录流程
2. 必须覆盖错误场景(密码错误、账号不存在)
3. 必须覆盖锁定场景AI 吐出了 300 行代码。
他们不直接 commit。
他们先:
- Review 代码 —— 每一行都看,理解逻辑
- 运行测试 —— 自己写测试用例,跑一遍
- 对照需求 —— 确认每个需求都被满足
- 安全检查 —— 看有没有 SQL 注入、XSS 风险
如果出了问题?
他们会精确描述问题:「第 45 行的逻辑有问题。当用户输入空密码时,应该返回 400,而不是 500。请只修改这一行,不要改动其他部分。」
Agentic Engineering 的核心假设是:
AI 是强大的工具,但它有随机性和盲区。我需要通过结构化的方法,引导它、约束它、验证它。
关键词:
- 掌控 —— 我理解 AI 在做什么
- 约束 —— 我给 AI 明确的边界
- 验证 —— 我不盲目信任 AI 的输出
Agentic Engineering 的信徒说:
「AI 写的代码,我要逐行 Review。我不知道它在干什么,我怎么敢把它放进生产环境?」
「AI 有时会编造不存在的 API。如果我不测试,我怎么知道它没用幻想出来的库?」
「速度不是唯一的指标。可维护性、安全性、可测试性,这些都比「快」重要。」
听起来很严谨。
但它也有一个问题:你失去了 AI 的最大优势——速度。
两种哲学的战场

Vibe Coding 支持者说:
「你们太慢了。我十分钟上线一个功能,你们要花半天。在互联网时代,快就是一切。」
「AI 时代,工程师的价值不是写代码,是提需求。谁能更快把需求变成产品,谁就赢了。**
「你们那些 Review、测试、验证,都是在浪费时间。出了问题再修,成本未必比现在高。」
Agentic Engineering 支持者说:
「你们太快了。快到你们不知道自己往生产环境里扔了什么。」
「AI 会幻想库、会忽略边界条件、会写出 SQL 注入漏洞。如果你不看,这些炸弹迟早会炸。」
「你们追求的是「十倍速开发」,代价是「十倍屎山」。三个月后,你们连自己写的什么都不知道。」
这不是谁对谁错的问题。
这是场景问题。
场景一:什么时候用 Vibe Coding?
答案是:低风险、高迭代场景。
比如:
- 你在写一个 MVP,明天可能就被砍掉
- 你在做一个内部工具,只有 5 个人用
- 你在写一个脚本,跑完就扔
这些场景,代码质量没那么重要。
重要的是:能不能快速验证想法?能不能快速上线?能不能快速迭代?
Vibe Coding 的价值,是在这些场景下最大化「试错速度」。
它接受「代码可能有点烂」,换取「想法能快速落地」。
这不丢人。这是聪明的资源分配。
场景二:什么时候用 Agentic Engineering?
答案是:高风险、长生命周期场景。
比如:
- 你在写支付系统,一笔错账就是损失
- 你在写用户认证系统,一个漏洞就是数据泄露
- 你在写核心业务逻辑,会被团队维护五年
这些场景,代码质量就是一切。
速度不重要。重要的是:能不能保证正确性?能不能保证安全性?能不能保证可维护性?
Agentic Engineering 的价值,是在这些场景下最小化「长期风险」。
它接受「开发慢一点」,换取「生产环境不会炸」。
这是工程师的职业素养。
真正的战场:中间地带
大多数项目,既不是「明天就砍掉」,也不是「要维护五年」。
它们处于中间地带:
- 需要快速上线,但也需要一定质量
- 需要迭代,但也需要可维护
- 需要快,但也不能乱
这个时候,怎么选?
答案是:不要站队。用混合策略。
混合策略 1:分层处理
核心模块用 Agentic Engineering,边缘模块用 Vibe Coding。
- 支付、认证、数据存储 → Agentic Engineering
- 管理后台的某个页面、内部工具的某个功能 → Vibe Coding
资源集中在关键路径上。
混合策略 2:先用 Vibe Coding,再用 Agentic Engineering 重构
第一版用 Vibe Coding 快速上线,验证想法。
如果想法是对的,用户有反馈,产品要继续做——
再用 Agentic Engineering 重构核心模块。
先快,后稳。
混合策略 3:Agentic Engineering 加速版
用 Agentic Engineering 的流程,但让 AI 帮你做。
比如:
- 让 AI 帮你写测试用例
- 让 AI 帮你 Review 代码
- 让 AI 帮你检查安全漏洞
你依然是「掌控者」,但你把重复性工作交给 AI。
AI 时代的工程师,不是「写代码的人」,是「设计工作流的人」。
Vibe Coding 的风险:当你失去理解权
Vibe Coding 最大的风险,不是代码质量差。
是你对代码失去了理解权。
你依赖 AI 修改代码。你依赖 AI 修复 Bug。你依赖 AI 添加新功能。
三个月后,你对这个项目的理解程度是零。
这时候出了一个严重 Bug。
你只能找 AI:「帮我修一下。」
AI 修了。你不知道怎么修的。你不知道会不会引入新问题。
你不是这个项目的主人。你是 AI 的「需求输入接口」。
这不是工程。这是「外包给了一个免费的、但偶尔会撒谎的外包员工」。
Agentic Engineering 的代价:你失去了速度
Agentic Engineering 最大的代价,不是慢。
是你可能错过机会。
你的竞品用 Vibe Coding,两周上线了一个功能。
你用 Agentic Engineering,花了一个月。
市场不在乎谁的代码更优雅。市场在乎谁先上线。
等你上线了,用户已经被竞品抢走了。
这不是工程问题。这是商业问题。
写在最后
Vibe Coding 和 Agentic Engineering,不是谁对谁错。
它们是工具。
关键不是「我属于哪一派」。
关键是:「我在什么场景下,用什么工具」。
- 写 MVP?用 Vibe Coding。先验证想法,再谈质量。
- 写支付系统?用 Agentic Engineering。慢一点,稳一点。
- 写核心业务?用混合策略。边缘快,核心稳。
AI 时代的工程师,不是「信仰者」,是「权衡者」。
Vibe Coding 是「放手」——接受 AI 的不完美,换取速度。
Agentic Engineering 是「掌控」——约束 AI 的随机性,换取确定性。
聪明的工程师,知道什么时候放手,什么时候掌控。
"
