胡彦斌用 AI 写代码破圈背后:从 Vibe Coding 到智能体工程的实践与反思
胡彦斌手搓 App 破圈背后:AI 写代码爽了一年,为什么大佬说它已经“死了”?
前阵子 Andrej Karpathy 说“Vibe Coding”(氛围编程)结束了,大家得往智能体工程(Agentic Engineering)转。
刚好五月底,歌手胡彦斌用 Claude Code 花了一个多月写出粉丝社区 App “彦火”的事情出了圈,一时间好像人人都能当程序员了。
但紧接着,黑客和技术博主们对“彦火”进行黑盒抓包,一堆安全漏洞就露了底:验证码接口没防刷(能直接用来发短信轰炸)、评论区没接内容审核、甚至安卓端只能在官网下 APK。
这给狂热的人浇了盆冷水:AI 能帮你快起一个好看的界面和跑得通的业务,但它没法在底层自动帮你构建起防得住真实攻防的安全网。 Karpathy 说 Vibe Coding 终结,大家其实都是被现实教做人了。
回看我自个儿从 25 年 6 月到 26 年 5 月这一年,从在网页端跟大模型扯皮,到用 Cline 配合 Google 免费 Key,再到自己写中转、写出海模版、改版日报、去香港开卡,甚至因为现实里的焦虑手搓了一个类似死了么APP的项目,最后又回过头来用 Taro 框架写小程序测试开发边界。
这一年里我想到什么就做什么,完全被情绪推着走。但回过头看,那些零散的开源项目和撞上的狗屎运,居然自己拼成了一个闭环。
今天不写技术文档,也不写流水账。就是想聊聊这一年用 AI 疯狂生孩子(写项目)的过程中,我的一些偏见、常识,和对这个正在变冷的 AI 时代的几点想法。
1. 网页端的复制粘贴,以及“给我完整代码!”
25 年 6 月之前,大伙管这叫“AI 辅助开发”,其实用起来挺蠢的。你得在浏览器里开个 ChatGPT 或 Claude 网页,把代码贴进去,跟它说:“帮我加个功能,或者找个 Bug。”
我用这种原始的方法,写出了 CloudFlare-AI-Image(我第一个过百 Star 的项目),还有壁纸项目 CloudFlare-AI-Wallpaper 和一个简易的 Chrome 插件播放器 Web-IPTV-Player。
AI 确实有用,以前查文档、配环境要半天,现在大模型几秒就吐出来了。但紧接着就是让人崩溃的折磨。
那时候我每天在网页里喊得最多的话就是:
- “给我完整代码!” 大模型写着写着,中间就来一句
// ... 保持原有逻辑不变 ...,你得像个缝合怪一样,小心翼翼地把新代码贴进旧代码里,错一个括号就报错。 - “不要删我的注释!” AI 好像有强迫症,每次重构代码,第一件事就是把我辛辛苦苦写的中文注释全抹掉,换成它那冷冰冰的英文。
- “不要改我的其他逻辑!” 修了 A 处的 Bug,悄无声息地在 B 处给你埋了个雷,部署上线了才发现系统瘫痪了。
这时候的 AI,就像个智商极高但多动症的实习生。你必须盯着它,生怕一转眼它就把你地基给刨了。
直到写 CloudFlare-AI-Insight-Daily(AI 日报初版)时,我正式接触到了 Cline 和 AI Studio 的 APIKey。我才觉得真正的 Vibe Coding 时代开始了。
你不用再复制粘贴了。在 VS Code 里看着那个小小的对话框,给它一个指令,看着它自己去读文件、建目录、写代码,甚至自己在终端里跑 npm run dev 看报不报错。
你只需要提供一个想法,剩下的脏活累活,它自己会去摸索。 25 年 6.1 号,AI 日报第一版顺利上线,那时候我觉得,世界已经是AI的了。
2. 第一次 Token 危机,与我用 AI 薅出来的“无限Token”
但好景不长,Token 危机很快找上了门。
Cline 好用,但它是吞 Token 的无底洞,每次读 codebase 都要消耗成千上万的 Token。25 年下半年,Google 毫无征兆地削减了免费额度,限制了并发。大家正爽着呢,突然被断了粮。
这时候,Google 又推出了终端工具 gemini-cli。
我当时想,既然 API 限制了,但 CLI 的请求额度好像还很宽裕(每天有1千次),那能不能把 CLI 封装一下,假装成一个标准的 OpenAI 兼容接口,供给 Cline 用?
于是就有了 AIClient2API 这个项目。
这个项目的诞生过程挺有趣的。当时我的 AI Studio 额度已经见底了,在最后的清仓关头,我用这仅剩的 Token,命令 AI 帮我写了 AIClient2API 的第一版。
我让大模型写了一个“用来突破它自身额度限制、白嫖更多 Token”的工具。
有了这个中转,我顺利度过了那次 Token 危机,后面高频调用各种大模型的时候,再也没为额度发过愁。这也让我意识到:在 AI 时代,规则是死的,但接口是活的。只要你会把不同积木块拼接在一起,AI 就能帮你造出突破它自身限制的梯子。
3. 规范流程解决不了屎山,得靠人给它立规矩
Token 危机过去后,大家又发现了一个更要命的问题:这玩意写代码快,但它写的是屎山啊。
AI 没有软件工程的直觉,不懂什么高内聚低耦合。你让它加功能,它最喜欢的做法就是在你原本就很臃肿的函数里,再塞入 200 行 if-else。项目写到第三个礼拜,你想改个小地方,AI 一跑,整个项目直接散架,因为它自己也理不清之前写的意大利面条代码了。
这时候一个叫 Kiro 的哥们带着 SPEC(Specification)流程登场,一时间被开发社区当成救命稻草。它把开发流程规范成了四个步骤:定义做什么(Specify)、技术方案(Plan)、任务拆解(Tasks)、代码实现(Implement)。
这套流程确实严谨,但我个人非常不喜欢。
因为它太繁琐了。每次改动你都要陪着 AI 走一遍这套复杂的文档流,极度消耗 Token 和耐心,Vibe Coding 提笔就写的即时反馈直接被杀死了。而且我发现:SPEC 只是规范了步骤,AI 依然会用最规范的步骤,写出最精美的屎山。
防范屎山不能靠格式化的文档,得靠人为地告诉 AI 怎么去抽象和封装代码。
这也是为什么胡彦斌的“彦火”上线后,哪怕界面再漂亮,底层的接口防御和安全漏洞依然一戳就破。大模型绝不会自发地去为你考虑数据防刷和合规。
回顾这一年,我交了不少学费,摸索出最得心应手的方式就是**“不信任 AI 的自主设计能力”**。我们把它当成一个高功率的发动机,但必须由人来给它套上缰绳(Harness),焊死轨道:
我会主动和 AI 聊几轮,把需求对齐,然后让它帮我出一份系统架构契约(构建代码的提示词)。把这个提示词喂给 Cline,在项目的开发规则(如 rules)里写死:“禁止在业务组件里直接写网络请求”、“必须抽象出通用的 Hook”、“所有的样式必须符合 Tailwind 规范”。
让 Cline 严格在这些铁律里去执行 Plan。人负责提供架构审美和抽象底线,AI 负责在规则的铁笼里疯狂输出。 这才是我觉得最舒服的开发姿势。
4. 香港开卡与 DeathBook:代码是程序员的心理医生
25 年 10 月,我搞了一个付费的 AI Coding 围观群,门票只要 50 块。这是一次非常彻底的 Build in Public 实践。
在那三个礼拜里,我几乎是把自己完全摊开在大家面前。我每天在群里发 PromptHub(一个提示词工具)实时进度,最后用 AI 自动生成开发总结。群里有 30 多人参与,超出了我的预期,但遗憾的是群里互动太少了,很多人只是进来看看热闹。
PromptHub 的一期做完了,实现了web前端,插件,桌面端,后台管理,但没接入支付。国内的支付限制让个人开发者很难受,为了二期的收款,我决定去一趟香港,解决出海银行卡的问题。
那一趟开卡的流程我发在了即刻上。但老实说,那趟旅程给我留下了一些心理阴。香港一些地方的紧绷感和焦虑,让我走在街上甚至产生了一种“如果我突然在这个世界上消失了,留下的人该怎么办”的荒诞感。
从香港回来后,我整个人陷入了一种低落的情绪里。
为了排解这种对“意外”的恐惧,我写了 DeathBook。
这程序的原理非常简单,说白了就是一个“确认存活的签到机制”。 你需要定期去系统里签到证明自己还活着。 如果哪天签到过期了,系统就会自动发封邮件告知你预设的联系人。 我只是单纯地想用最直白的代码,给自己拉一道数字世界里的安全网。
写这个项目的过程更像是一场自我疗愈。大家觉得程序员写代码是为了赚钱、搞 SaaS 暴富。但其实不全是,代码在很多时候是程序员的心理医生。现实世界太无序了,但代码世界是确定的。你写下一个 if,它就一定会走到 else。你把一个原本无序的想法,一点点拼凑成一个能在屏幕上运行的界面时,那种掌控感,能把你从现实的焦虑泥潭里拉出来。
至于 PromptHub 的二期,因为各种杂事耽搁,加上同类产品流量大幅下滑,纠结了很久后,我直接把它全端开源了。没拿到商业回报有些遗憾,但上传到了GitHub 上,我觉得这些代码至少没有烂在硬盘里。
5. 走得太早的孤独,与“蹭热点”的快乐
在这一年的折腾里,我体会最深的是:有些技术,你走得太早,不仅赚不到钱,反而要承受巨大的孤独和沉没成本。
25 年 10 月我在香港的那几天,做 AI 日报时就明显关注到了一个 Claude 的新技术。大伙儿当时热炒的 MCP(Model Context Protocol)太重了,交互过程中的 Token 贵得要死。
Claude尝试用提示词里直接塞入本地脚本的方式,去替代笨重的 MCP,来减少交互中的 Token 用量。效果非常明显,交互速度快了不止一倍。这其实就是后来在 26 年 1 月份爆火的 “Skills” 概念。
后来好像万物都可以 Skills 化了,不仅改变了 AI 针对其他系统的交互模式,也创造了更多自动化可能性。但在 10 月份根本没人提及,也没人知道这个具体是怎么用的。
同样的滞后还发生在 openclaw 上:
- 25 年 11 月,OpenClaw 刚诞生时,在国内几乎毫无水花。
- 26 年 1 月,它在国外爆火,大家意识到了 Personal Agent 的威力。
- 26 年 2 月,这股风才刮回国内。
当时我看到这个趋势,国内大伙想玩,但 OpenClaw 原生对微信、飞书的配置极其繁琐。我立马动手,做了个 openclaw-china-docker 的整合版本,把国内的 IM 插件预置好,一键拉起。
因为降低了门槛,国内大量用户开始在飞书里挂载 Agent。Agent 没日没夜地运行,直接引爆了新一轮的 Token 焦虑。
大伙急需一个标准、便宜的 API 中转,这时候,我那个在 25 年为了白嫖 Token 而写、原本已经落灰的 AIClient2API,突然迎来了 Star 的爆发。
这挺讽刺的:我因为走在前面做的技术资产,在当时无人问津;反而是几个月后“蹭热点”做的一个本地化包装,成了激活这个底层工具、带来源源不断流量的钥匙。
6. 探路小程序:试试大模型在严规则下的开发上限
整完了出海底层,我把目光看向了小程序。
其实当时纯粹是出于好奇:微信小程序和 Taro 这种跨端框架能不能用AI开发出一个好用的程序?
于是,我用 Taro 框架写了三个小程序:
- pic-cookie(画饼):识别食材自动生成菜谱的小程序。
- ask-spring(问春风):一个结合了剑来风格的卜卦小程序。
- rally-go(燃羽):一个给自个儿打羽毛球报名的实用小程序。
这三个小程序,后两个都顺利上线。在这个测试过程中,我发现:不是 AI 做不了小程序,而是要掌握正确的方法。
小程序用 Taro 感觉完全没有难点,但是有个开头,必须要用Taro先初始化项目,固定好框架。
我的做法是:先用标准的脚手架把项目跑起来。然后给 AI 划定严格的约束:
- 每次只专注于一个单页面的 UI 逻辑。
- 在本地配置好严格的 Linter 和 TypeScript 校验,只要 AI 写完代码后,Codex 会自动验证,捕获报错日志并自我修复。
AI 有时候就像个盲人,你不能指望它自己过马路,你得给它铺好盲道,在左右两边修好护栏,它才能用飞快的速度摸索到终点。 只要方法对了,大模型对高规则领域的执行力甚至比人还要稳定。
7. 出海模板与自动化工作流
在国内市场,个人开发者确实很难赚到钱。付费意愿低、支付合规繁琐,折腾半天可能还不够付服务器账单的,所以我决定把目光投向海外市场。
为了能快速在国外起盘,我做完了两件事:
第一,我把这一年所有的全栈开发经验沉淀成了 Hex2077-Saas-Starter,这是一个 Next.js 的全栈出海 SaaS 启动模板。它把登录鉴权、数据库(Drizzle)、 支付、积分系统、国际化、以及通用的页面布局全部内置好。以后一旦有了任何出海的灵感,我只需要专注于改前端业务,最快半天就能上线。
第二,为了解决海外站点的 SEO(搜索引擎优化)冷启动问题,我顺手开发了 seo-master-extension 这个 Chrome 插件,快速处理开发项目的 SEO 数据提交。
有了这两样东西,我顺便把我的“基本盘”——AI 日报进行了一次彻底的改版。
原来的日报工具链效率太低,我用 PrismFlowAgent 重构了整个后端:它能自动去 GitHub, RSS, Twitter, Reddit 等地方抓取信息,过滤掉垃圾内容,大模型进行深度总结,最后发布,整个过程一气呵成。
前端则直接用 Next.js 模板重构成全静态化的日报系统。这样既测试了我的 Starter 模板在动态 SaaS 和静态部署(SSG)两端的能力,又提升了页面的加载速度和 SEO 收录效率。
虽然因为换了全新的、极其前卫的主题,导致改版初期流失了部分习惯旧版阅读界面的观众。
但是,老实说,我不在乎。
作为一个独立开发者,我开始学会摆脱活跃用户这些虚荣指标的绑架。我更在意的是通过高质量、结构化的内容,持续不断地获取来自 Google 的有机流量。这种成本极低的流量,才是我未来海外 SaaS 的蓄水池。
8. 现在
从 25 年 6 月网页端的磕磕绊绊,到 26 年 5 月拼凑出一套高度工程化的出海开发与半自动流量链路。
这一年过得极快,但也极重。
前阵子 Karpathy 宣告 Vibe Coding 时代的终结,我深以为然。早期那种“凭着感觉和情绪,跟大模型瞎聊,复制粘贴出个单页网页”的草莽时代确实过去了。随着代码库的变大,随便聊两句就能写出好产品的红利已经消失。
未来的开发是智能体工程(Agentic Engineering)的天下:编写代码本身不再是瓶颈,如何定义规则成了核心。怎么去构建一个“让 AI 自己跑测试、自己发现 Bug、自己去修复并部署”的自动化闭环,成了拉开生产力差距的分水岭。
这也是为什么胡彦斌的“彦火”会成为这一轮风潮的最高光,却也同时成为了最显眼的安全靶子。个人开发者凭氛围感(Vibe)可以迅速起高楼,但大楼抗不抗震,得靠智能体工程下的测试与防御。
这一年里,我最自豪的不是我获得了多少 Star,也不是我写了多少行代码。
而是我学会了怎么和 AI 协作,用规则和约束去驾驭大模型的生存法则。 我学会了把自己的情绪和灵感,通过大模型迅速落地。
接下来的这一年,我想做点不一样的了。
不想再做简单的小工具,也不想再重复写没有技术壁垒的小程序。手里的武器库(Starter, PrismFlow, Chrome Agent, SEO Tools)已经准备好,我想去试试那些更深水区、更需要复杂协作、也更具商业想象力的全球化场景。
Vibe Coding 可能会死,但独立开发者永远在路上。
本文由“何夕2077”在 2026 年初夏一个敲完代码的深夜,有感而发。
以下是我在这一年 Vibe Coding 历程中涉及的全部 23 个开源及闭源项目的名字及其对应的 GitHub 仓库地址:
一、 AI 资讯日报与分身系统
- CloudFlare-AI-Image (基于 Cloudflare Worker 的 AI 图片生成)
- CloudFlare-AI-Wallpaper (衍生 AI 壁纸生成项目)
- CloudFlare-AI-Insight-Daily (AI 资讯日报初版后端与内容聚合)
- Hextra-AI-Insight-Daily (基于 Hugo + Hextra 主题的日报前端第二版)
- PrismFlowAgent (全栈资讯处理与 AI Agent 系统,日报后端第二版)
- Hex2077-Saas-Starter (全栈现代化出海 SaaS 启动模板)
- Hex2077-Site (基于 SaaS 模板重构的全新日报前端第三版)
- Hex2077-Agent (多 Agent 协作与数字分身系统)
二、 AI 效率工具、Agent 桥接与中转代理
- AIClient2API (客户端大模型转标准 API 的统一网关)
- PromptHub (全端提示词管理与分发工具)
- OpenChromeCLI (让本地 Chrome 变成 AI 接口的可控插件)
- openclaw-china-docker (OpenClaw 国内 IM 插件一键部署 Docker 整合版)
- git-commit-sao-hua (Git Commit 骚话生成器,支持 Agent 维护)
三、 多媒体、设计与音频生成
- Podcast-Generator (播客音频一键生成 cli、服务端与前端)
- image-cropper (网页版简易图片裁切工具组件)
四、 浏览器插件与网络提效
- Web-IPTV-Player (一个功能强大的 IPTV 播放器 Chrome 插件)
- interceptor-url (用于拦截与管理浏览器 URL 请求的插件)
- seo-master-extension (外链与数据自动提交的高级 SEO 插件)
- gtbook (AI 助力的 GitHub 与网页链接收藏管家)
- 🔗 GitHub: https://github.com/justlovemaki/gtbook
五、 微信小程序与轻量级应用
- DeathBook (保活签到、断联自动发送邮件的开关程序)
- pic-cookie (AI 识别食材生成菜谱小程序)
- ask-spring (剑来小说风格的 AI 卜卦娱乐小程序)
- rally-go (燃羽——羽毛球活动报名与管理小程序)
- 🔗 GitHub: https://github.com/justlovemaki/rally-go