这是一篇早就确定好主题的文章,作为订阅 CC 即将满一周年的阶段性回顾。并且,我也打算让它来给正在 vibe 的团队成员“指明方向”,😄。
近一年的 Vibe Coding 尝试
买了 CC 这样的 coding agent 之后,心态变了:巴不得它能 24 x 7 全天候运转。奈何囊中羞涩,只能先尝试 pro plan 以观其效。
我的想法很简单:没有好的产品方向,单纯的快完全是浪费钱,不如用 pro 做 POC,有用户买单了,再上 max 大干特干。
跟旧时代的编程水平不取决于你的打字水平是一个道理。
基于以上 POC 的想法,同时也本着试探 vibe coding 边界(这里的边界是两层意思:coding agent 自身的编程能力和 vibe coder 的驾驭能力)的朴素想法,我尝试了各种不同类型的程序开发,见下图(摘自我的培训 slides):

其中:
- Lumo:除了 clone notebooklm,还结合 generative ui。
- Mentis:源自古法编程时期给某历史大剧送审的方案:设备绑定的视频加密和播放。(当然,我们只是施工方,😜)
- 作为 poc,当然没原来的复杂,而且技术栈也完全不同。
- Flows,agent harness
- Lingo,离线 ios/mac native ai 应用
- 同时,还实现了一个类 playwright 的调试工具,内置与 coding agent 交互的机制,为 CC 之类工具自我验证提供了方便。
如果你关注了我们的团队 vibe coding 月报,会发现在本月发布的月报中还多了游戏,临时的试玩地址:Kana Card。
Vibe Coding 祛魅
各种不同类型应用的 vibe 尝试,除了磨练自身的 vibe 技艺,进一步印证哥还算是一个“帅才”之时,也让我得出几个不负责任的观点。
智力平权是错觉
自 GPT 横空出世,AI 应用的使用和开发变得亲民起来,随之而来的则是不少文章鼓吹的“智力平权”。仿佛一夜间,文盲和诺奖得主到了同一个起跑线。
醒醒,此乃市场营销而已!
在一定层面上,LLM 确实降低了 do how 的门槛,但并没有解决 do what 的问题。这里不是“智力”平权了,而是对于“智力”的要求变了,随便列几个:
- 高层决策更关键
- 因为实现速度变快,一旦方向有问题,那真是:“失之毫厘、谬之千里”。
- 提示词工程也好、上下文工程也好,说穿了都是沟通和表达能力。
- 统御 agent 团队干活的能力本质上是组织和工程能力。
- 业务理解能力将成为不可或缺的基础能力。
- 注意,我指的可不是你会不会画好看的 ui,而是能不能理解和洞悉行业。
- 不要忽视了获取信息的能力
- 技术选型、新场景数据等等全靠它。
看到这些,你还觉得“平权”了么?
Vibe Coding != Money Making
“Vibe Coding == 赚钱”是不少上了 vibe coding 这条贼船的人的想法,此想法又源自“万事俱备就差一个程序员了”。
但是,很遗憾,大多数人只能收获 token bill。
从整个赚钱的大流程来看,Vibe Coding 本身只解决了生产端瓶颈,它并没有解决赚钱最关键的一点:用户为何要买单?
这也是我让在去年 4 月写了这篇付费的聊聊 Vibe Coding的一部分原因。
开发者不会失业,但方向变了
一种流行观点是:AI 编程能力成熟了,开发者将会大批失业。对此,我个人持保留态度。
以史为鉴,新技术在摧毁旧行业的同时,又会催生出更广泛的新行业。原因很显然:高精尖的东西需要大批人来保障其正常运转。你对比一下汽车和马车,自然可以得出这样的结论。
但从开发层面看,完全自主运转的 ai coding,需要解决若干障碍:
- 明确的需求
- 可自主验证的环境
这两者都不是那种冰冷精确的数学公式,中间有若干环节可以灵活对待:用户规模、技术选型、最终运行环境等等,不同的决策会带来不同的实现路径和结果。
即便 AI 全知全能,如果没有专业开发者的介入,非开发者也无法问出合适的问题,以及判断 AI 回答是否靠谱。
且不说保障“可自主验证的环境”这一点的困难性和成本。
但,大厂在裁员也是现实,对吧?
对此,我无法解答。一来超出了我层次,二来裁员背后的原因要复杂得多,AI 只是其中之一。而且,之前不是有家激进裁员,后来又把员工找回来的例子么。
并且,从另一方面来讲,随着 AI 渗透的深入,原来一些对开发需要不高的地方反而可能会开始需要开发者。一种典型的合作模式可能是:
- 领域专家利用 ai 写出可运行 poc
- 开发者将 poc 转化成产品代码
这将极大提高开发的沟通效果,促进开发效率的提升。
这相当于原来大量聚集开发者的地方将开发者分流到各行各业,开发者如同毛细血管般渗透到各个地方。
并且,由于 ai 降低了编程门槛和成本,反而可能会让个性化 app 大行其道。如此一来,开发者怎么会失业呢?
有兴趣的还可以看看这篇论文《ProgramBench: Can Language Models Rebuild Programs From Scratch? 》,了解一下 ai 从零开始写代码的胜率。
Vibe Coder 的应对之道
你有法千条,我有万条计。在新时代,想办法让成为一名合格的 Vibe Coder 方有机会涉险过关。
有所为
态度问题
放在一年前,如果对 ai 的编程能力尚有怀疑的话,那么到了一年后的今天,我想大多数人应该会呈现完全不同的态度。
接受 vibe coding,对于大多数开发小白和新手而言,并没有什么心理负担反而会积极拥抱,因为 vibe coding 让他们有机会打破旧世界的技能垄断。
因此,最应该解开心结的反而是那些开发老人和大拿。这类情形在历史上并不鲜见。
既然 ai 在以肉眼可见的速度进化且在 coding 这件事情上面的替代人的大趋势一定,何必以一些鸡毛蒜皮小事为理由将其拒之门外,以凸显自己的牛逼呢?
别动不动跟我谈什么 ai 生成代码屎山。
作为合格的 vibe coder,你的职责就是避免让它生成代码屎山!记住,(到目前为止)ai 只是工具,它的生成结果是由使用者来决定的!
面向 ai 的工程化
大原则上,驾驭 ai 和管理开发团队有高度的相似性,只是需要针对 ai 去进行适配:
- 开发文档
- 开发过程
- 消除二义性
- 环境管理
以上这些在传统开发过程中必不可少的东西,在以 ai 为主力的开发队伍中同样必须,只不过你需要考虑:因为 ai 有 context window 的限制,你如何去组织信息,同时如何避免在同一会话中出现互相矛盾的内容。
同时,鉴于 ai 和人类互有长短,作为一名合格的技术管理者,你有必要考虑合理的分工协作。
因为之前我对此曾有总结,目前尚无太多需要更新的,故列位看官可直接前往观看这篇标题党:消耗上亿 Token 后我又总结了一份 Claude Code 的工程经验
make your hands dirty
在 Vibe Coder 转型过程中,技术和管理缺一不可:
- 技术让你能明辨 ai 输出,控制它的表现欲望,避免过度设计或瞎设计。
- 管理让你能意识到你跟 ai 之间的沟通问题,以及为何它状态突然不佳。
如果你像哥的经历一样曲折丰富,常年处于技术一线带队艰难求生,那恭喜你,应该可以顺利转型。
否则,那就只能跟打游戏一般,练级打怪:
- 强技术 + 弱管理
- 挑战自己,以不擅长的技术栈完整实现一个应用。
- 阅读软件开发经典书籍,包括若干管理类经典书籍。一般好的软件开发经典书籍中一般会多多少少提到一些偏管理的书籍,只去了解那些就好,没必要看管理教科书。
- 弱技术 + 强管理
- 先从网页小程序做起,找找技术感觉。
并且,要有合理的期望管理:
- 强技术 + 弱管理,单人完成一个小中型项目,不必过分考虑 ui/ux,侧重代码质量。
- 弱技术 + 强管理,单人可完成从需求到可运行的 poc 即可。
在练手之前提示:花钱购买在你能力范围内可以用到的最好模型,否则就是浪费时间,破坏心情。
有所不为
不要跟 AI 较劲
除非为了锻炼自己的思维好让自己更好地跟 ai 进行技术方面的沟通和合作,否则沉迷于语言和算法细节就有点钻牛角尖了。
凡是有潜在推理路径存在且能自我验证的事情,ai 都会接管。对此我深信不疑。
既然如此,为了让自己成为不可或缺的存在,自然需将努力的方向放在 ai 无法完成的事情之上。比如:
- 触达物理世界
- 设定目标
- 数据清理
- 环境管理
让自己成为服务型领导,为 ai 发挥最大效能提供支持。
寻找银弹
尽管 1975 年初版的人月神话就已经告诫大家不要寻找银弹,然而每过一段时间,“银弹寻找”活动总是以不同的面貌出现。
眼下,最火的银弹恐怕是:ai skill。
But,我个人认为真正有用的并不多,大多数恐怕只是安慰剂。有兴趣的可以去读读这篇论文《SkillsBench: Benchmarking How Well Agent Skills Work Across Diverse Tasks 》
因为说穿了,他们不过是另一种形式的 context,过多的 skill 一起加载反而有潜在的问题:
- 占用宝贵的 context window
- 互相矛盾的 skill 会让 ai 脑子犯晕
并且,skill 成了新的后门,没有经过安全审计的 skill 都是潜在的风险。
在我看来:
- 凡是不带 script 的 skill 都是废话。
- 值得全局加载的 skill 并不太多,如果要用,也先在项目层面去用就好了。
好的 skill 远不如好的上下文有效,而提供好的上下文恰恰就是我前面所言的信息搜索能力的一环。因为在开发中的上下文有可能来自于:
- 依赖的源代码
- 网页搜索结果
- 某个行业的冷知识
- 以前做过项目的经验
如果寄期望于有了 skill ai 就如同开了天眼,那你只会大失所望。就算你已经给了 ai 自我搜索的能力,但是,它自己想的搜索关键字未必有你的好。如果不加管控,由它的性子去整,等待你的就是天价 token bill。
并且,在没有合适提示之下,ai 根本停不下来。最典型的是,它很少会在尝试失败几次之后,会去看这些失败是否是已知的 github issue。
因此,对于 skill 的态度,我建议:
- 如果所用的开发库有 skill,可以考虑安装在项目级别
- 常用的如 react,我觉得没有必要安装,训练样例太多了。
- 冷门的可以考虑,如 phaser.js
- 对于非 script 类 skill,与其迷信名人,不如多搜集一些思维模型的缩写,如 SWOT。
- 大多数咨询公司都有现成的,这些著名的思维模型也都已经被训练进入了 ai。
不要外包思考
让 ai 包办你的一切,尤其是思维决策,无疑是:太阿倒持,你的独特性将不复存在。
ai 擅于处理数据,理清关系,让它们进行知识的粗加工,然后把剩下的决策交给人类,这样才能构建起来和谐社会。并且,由于有 lost in the middle way 的问题,对于一些关键场景,甚至连 ai 处理后的数据都需要复验,以免遗漏关键信息。
另一个有用的场景则是阅读筛选:即使在 ai 时代,精读也无法被完全替代,但可利用 ai 泛读,帮助筛选不必人工阅读的内容。
至于 ai 笔记,老实讲,我个人兴趣没那么大。即使用,最多也是一次性,用完就扔的那种。没有经过大脑思考总结的笔记,对于大脑本身不会留痕,无法锤炼思考能力,积累再多也无用。
常见谬误和容易混淆的说法
最后,以哥在培训过程中一些常见问题和误解来结束本文。
Harness 到底是什么?
关于 Harness 的定义,由于外面已有很多阐述,这里我就不再重复了。如果你看了那些文章之后依旧不太明白,我打个比方:它就是方式 ai 暴走的缰绳。
咱们常用的 coding agent 本身就是一种 Harness。
关于它,我个人的观点是 harness 本身也是分层的,我们只需关注微观层面的就好。因为宏观层面的通用 harness 自然有大厂去做。
所谓围观层面的 harness,其内涵就是我前面说的那些面向 ai 的工程化的实践。你可以手工去做,当然也可以工具化,形成供 ai 调用的 tool 或者 skill。
这样即可形成宏观和微观层面的分工:
- 宏观层面,选择大厂现成的方案。
- 微观层面,自行工具化,满足自己的场景。
如果你在做自己的 agentic 项目,我的建议是不要自行发明宏观层面的 harness,考虑一下我上面的两级分工。
不要空谈品味和文科生是未来
自从 ai 编程让码农跌落神坛,现在又有人开始兜售品味和文科生是未来的概念。但是你看完他们说的那些事似而非的话,依旧觉得不知所云。对此,我想说的是:没有生活经历和锐利的洞察力,空谈品味和文科生是未来没有任何价值。
作为合格的 vibe coder,你需要做的是:
- 体验生活,了解行业,没有这些,品味无从谈起。
- 了解软件的发展历史,搞明白软件开发过程和技术发展的脉络和缘由,不要只是机械的记忆架构模式和照搬开发流程。
- 提升人文素养,学会说话和沟通,拓展自己的知识面,免得把 ai 给误导了。
总而言之,关注那些你以前看不上的软技能,再借助 ai 进一步提升你的硬技能。
我不知道该怎么跟 ai 说话
如果你带过团队,想象一下团队来了新成员的情形;如果你从未带过团队,那么:
- 观察你老大是如何带团队的。
- 让 ai 回答一下关于手头项目的问题。
潜在的话题:
- 新特性或者是 bug
- 关于项目代码的一切
- 项目文档
- 技术方案的讨论
诸如此类,把它当作新同事等同对待。唯一的差别就是它的记忆比较差,每次都得给它交代一下背景。
以上是最典型的三类问题,故而摘录进入此文。关于一路走来的其他经验,可以参见我去年的年末总结。