本文记录了我作为一名资深前端工程师,在完全不懂后端、不懂运维、不懂 Go 语言的情况下,用 Vibe Coding(AI 辅助编程)从零搭建了一个生产级全栈应用的完整过程。不吹不黑,真实经历。
先说结论
9 周时间,我一个人交付了这些东西:
- 22,500 行代码,分布在 ~200 个文件中
- 5 种编程语言:Python、TypeScript、Go、SQL、YAML
- 7 个微服务:FastAPI 后端 + Go WebSocket 网关 + Scrapy 爬虫引擎 + Redis + ClickHouse + Nginx + Next.js 前端
- 3 种数据库:PostgreSQL(12张表)、ClickHouse(3张时序表)、Redis(13类键)
- 30+ REST API 端点 + 6 种 WebSocket 实时推送消息
- 7 个新闻爬虫:覆盖伊朗、美国、中国、俄罗斯官方媒体
- 4 步 AI 分析流水线 + 3 层模型降级链
- 13 个前端页面 + 30+ 组件
- 完整的 Docker Compose 部署 + Nginx SSL + Let's Encrypt
如果这是一个传统团队项目,至少需要 5 人(产品+后端+前端+数据+运维),至少 3 个月。
但我只是一个前端程序员。
背景:为什么做这个项目
2026 年初,美伊关系急剧升级。2 月 28 日美以联合对伊朗发动军事打击,霍尔木兹海峡被关闭,全球市场剧烈波动。
作为一名 A 股交易者,我迫切需要一个工具:实时追踪地缘事件 → 自动分析对 A 股各板块的影响 → 推送可操作的交易建议。
市面上没有。要么是滞后的券商研报,要么是碎片化的新闻聚合,没有人把"地缘政治事件"和"A 股板块影响"直接关联起来。
于是我决定自己做。
问题是——我只会写前端。
| 领域 | 我的水平 |
|---|---|
| React / Next.js / TypeScript | ★★★★★ 日常工作 |
| Python / FastAPI | ★☆☆☆☆ 约等于零 |
| Go | ☆☆☆☆☆ 从未写过 |
| PostgreSQL / ClickHouse | ★☆☆☆☆ 只会 SELECT |
| Docker / 运维 | ★☆☆☆☆ 只会 docker run |
| 爬虫 / AI 工程 | ☆☆☆☆☆ 纯白纸 |
怎么办?答案是 Vibe Coding。
什么是 Vibe Coding
Vibe Coding 是 Andrej Karpathy 在 2025 年提出的概念:你不逐行写代码,而是向 AI 描述你想要什么,AI 帮你实现。
但在我的实践中,它远不止"和 AI 聊天"。我总结的公式是:
Vibe Coding = 文档驱动 + AI 执行 + 人工验收
核心变化是:你从"程序员"变成了"导演"。你定方向、做决策、做验收。AI 做所有具体的编码工作。
方法论:三层文档驱动开发
这是我整个 Vibe Coding 实践中最核心的方法论,也是和大多数人"直接跟 AI 聊"最大的区别。
我建立了一套三层文档体系:
┌─────────────────────────────────────────────┐
│ 第 1 层:PRD(产品需求文档)~5,000 字 │
│ → 告诉 AI "做什么产品" │
│ → 用户画像、功能模块、事件分类、指标体系 │
├─────────────────────────────────────────────┤
│ 第 2 层:TDD(技术设计文档)~15,000 字 │
│ → 告诉 AI "用什么技术怎么做" │
│ → 数据库 Schema、API 设计、服务架构、代码骨架 │
├─────────────────────────────────────────────┤
│ 第 3 层:Tasks(任务分解文档)~12,000 字 │
│ → 告诉 AI "现在做哪一步" │
│ → 37 项任务、实施步骤、验收标准、代码片段 │
└─────────────────────────────────────────────┘
反直觉的部分:文档本身也是 AI 写的
我的实际输入只有一段 ~500 字的需求描述:
"我需要一个追踪美伊局势的平台,能实时推送新闻、分析对 A 股各板块的影响、给出投资建议。要有仪表盘看各种指标。"
然后 AI 推导出了 32,000 字的完整实施方案:
- 6 大事件分类体系(军事行动、外交谈判、能源市场、政治变动、国际反应、中俄动向)
- 10 个核心指标(冲突级别指数 0-100、海峡状态、核威胁评估、中国双轨指标...)
- 12 张 PostgreSQL 表的完整 Schema
- 30+ API 端点设计
- 37 项任务的实施步骤和验收标准
500 字 → 32,000 字。这个"需求放大"能力是 Vibe Coding 最被低估的部分。
AI 不只是写代码的工具——它是从模糊目标推导精确方案的推理引擎。
为什么文档驱动而不是对话驱动
大多数人做 Vibe Coding 是对话驱动的:
"帮我做个网站" → "加个登录" → "用 PostgreSQL" → "再加个 WebSocket" → ...
问题:
- 上下文碎片化:AI 会忘记之前的约定
- 不可复用:换 AI 工具就得从头来
- 无法验收:自己都说不清做到什么程度了
- 无法追溯:出 Bug 不知道谁引入的
文档驱动解决了所有这些问题。文档就是上下文、就是验收标准、就是追溯手段。
系统长什么样
先放架构图,有个整体感知:
┌───────────────────────────────────────────────────────┐
│ 呈现层 (Next.js 14) │
│ 仪表盘 · 信息流 · 投资建议 · 时间线 · 管理后台 │
│ ↕ REST API + WebSocket │
├───────────────────────────────────────────────────────┤
│ 处理层 │
│ FastAPI (30+ 端点) · Go WebSocket 网关 · Scrapy │
│ AI 4步分析管线 · APScheduler 调度 · 7 爬虫 │
│ ↕ Redis Streams/PubSub │
├───────────────────────────────────────────────────────┤
│ 存储层 │
│ PostgreSQL (12表) · Redis (缓存+队列) · ClickHouse │
├───────────────────────────────────────────────────────┤
│ 采集层 │
│ 财联社 RSS · Scrapy 爬虫 · Twitter API · AkShare 行情 │
└───────────────────────────────────────────────────────┘
数据流是这样的:
新闻源 → SHA-256 去重 → Redis Stream → AI 4步分析
→ Step 1: 事件识别 (不相关=跳过)
→ Step 2: 板块影响推理 (9条规则)
→ Step 3: 中俄因子分析 (双轨指标)
→ Step 4: 投资建议生成
→ 质量三重校验 (格式/幻觉/一致性)
→ 持久化 (PostgreSQL + Redis + ClickHouse)
→ WebSocket 推送 (Red/Orange 全量广播, Yellow/Blue 定向)
→ 前端实时更新
整个链路从新闻采集到用户收到推送,延迟控制在 5 分钟以内。
逐周叙事:9 周 37 项任务
第 1 周:基础设施(6项任务)
Docker Compose 编排 7 个服务、Supabase 建库 12 张表、ClickHouse 3 张时序表、Redis 键空间初始化、AkShare 行情采集器(11 个函数)、RSS 轮询器。
体感:最难的一周,不是代码难,而是不知道该不该相信 AI 的架构决策。它推荐了 ClickHouse——我连听都没听过。它设计了 Go WebSocket 网关——我一行 Go 都没写过。
我选择了"先信了再说"。事后证明这些决策都是合理的。
第 2 周:AI 引擎 + 后端 API(4项任务)
这周我第一次意识到 Vibe Coding 的真正威力。
AI 分析管线的四步流水线——事件识别、板块影响推理、中俄因子分析、建议生成——完全是 AI 在 TDD 阶段自己推导出来的。我只说了"要分析新闻并给出投资建议",AI 把它展开成了一个有完整 Prompt 模板、JSON 输出格式、降级策略、质量校验的工程系统。
AI 甚至设计了一个"中国双轨指标"的概念:将中国的态度拆分为"外交强硬度"和"经济扩张度"两个独立维度,两者同时走强时触发"强信号"。这个设计比大多数金融产品的指标体系都要精巧。
第 3 周:WebSocket + 前端骨架(4项任务)
Go 网关是整个项目中最"黑盒"的部分。5 个 Go 文件、约 600 行代码,我至今只看懂了大概逻辑。
但它就是能跑——WebSocket 连接、心跳、消息广播、Redis 消费全都正常。
我用了一门自己不会的语言,做了一个正在生产环境运行的服务。 这是 Vibe Coding 最魔幻的体验。
第 4-5 周:功能开发 + 联调
信息流、板块分析、投资建议——进入产品功能开发后效率飙升。联调阶段 Bug 最多:CORS 没配对、WebSocket token 格式不对、Redis Consumer Group 没创建... 但每次把错误日志贴给 AI,它都能快速定位。
第 6 周:爬虫
7 个 Scrapy Spider,覆盖伊朗(塔斯尼姆/迈赫尔)、美国(国务院)、中国(外交部)、俄罗斯(塔斯社/克宫)、Twitter 降级。
Scrapy 是我完全没用过的框架。但 AI 生成的代码结构清晰,我能看懂逻辑但写不出来。
这一周让我真切理解了 Vibe Coding 的核心状态:不需要成为专家,只需要知道"它在跑"且"数据正确"。
第 7-8 周:管理后台 + 时间线 + 看板
管理后台是 AI 效率最高的场景——一个 CRUD 页面,从路由到组件到表单验证一次性完成。D3.js 交互式时间线是前端硬骨头,但 AI 一次对话生成了初版,我调了两天样式。
第 9 周:收尾 + 部署
情景模拟、历史回测、多栏布局、紧急加速机制、E2E 测试、部署上线。
docker compose up -d 一行命令,7 个服务全部拉起。真的就这么简单。
四个核心感悟
1. "不懂的领域看不出问题,但这没关系"
初看无比不负责任,但仔细想——Go 网关里有没有 goroutine 泄漏?PostgreSQL 有没有慢查询?我看不出来。
但关键是:这些问题会在使用中暴露。暴露的时候,AI 依然可以帮你修。
这是"事后调试优先"的策略。前提是:项目不是银行系统、AI 修 Bug 的能力足够强、你有足够的监控手段。对于个人项目来说完全可行。
2. "AI 推导复杂需求的能力被严重低估"
500 字模糊需求 → 32,000 字精确方案。6 大事件分类、10 个核心指标、12 张表、30+ API 端点,全是 AI 推导的。
AI 不只是 Copilot(副驾驶),它是 Architect(架构师)。
3. "好模型比好提示词重要一万倍"
同样的提示词给不同模型,质量差异巨大。弱模型生成的 Go 网关编译都不过;强模型一次生成可运行的完整代码。
Prompt Engineering 是弱模型时代的补丁。 模型够强的时候,你只需要说清楚要什么。
4. "不必为现在的模型不够好发愁"
这影响了我的整个策略:
- Go 代码不够优雅?没关系,下一代模型重新生成就行
- AI 有内容审查限制?等下一代模型更灵活时自然解决
- 文档是真正的资产,代码可以重新生成
技能鸿沟跨越:一张图说清楚
我掌握的能力 AI 补充的能力
┌────────────────────┐ ┌────────────────────────┐
│ 前端 (React/Next) │ │ 后端 API (FastAPI) │
│ CSS / Tailwind │ │ 数据库 Schema 设计 │
│ D3.js 可视化 │ 合并 │ Go WebSocket 网关 │
│ 产品直觉 │ ───→ │ Docker / Nginx 部署 │
│ 用户体验判断 │ │ AI 管线工程 │
│ │ │ 爬虫 (Scrapy) │
└────────────────────┘ └────────────────────────┘
↓
┌──────────────────────────────────┐
│ 一个人交付的全栈生产级应用 │
│ 22,500 行 · 5 种语言 · 7 个服务 │
└──────────────────────────────────┘
左边是我会的:前端开发 + 产品直觉。 右边是 AI 补的:后端 + 数据库 + Go + 运维 + AI + 爬虫。 合在一起:一个人交付了一个全栈应用。
诚实地谈风险
Vibe Coding 不是银弹。真实存在的风险:
| 风险 | 说明 |
|---|---|
| Go 网关出 Bug 无法排查 | 不懂 Go,goroutine 泄漏我 Debug 不了 |
| AI 内容审查阻断 | 国产模型对军事内容审查严格,部分分析失败 |
| 爬虫目标站改版 | Spider 依赖 HTML 结构,改版即失效 |
| "知其然不知其所以然" | AI 生成了 JWT 手动解析代码,但我不知道为什么不用库 |
| 安全隐患难发现 | 不懂后端安全,可能有我看不见的漏洞 |
最大的风险是第四条:你可能用了一个有安全漏洞的实现,但因为不懂这个领域,你根本不知道。
我的应对策略是:
- 这是个人项目,不做银行系统
- 把
CLAUDE.md里的踩坑记录积累下来,形成项目级"免疫系统" - 等 AI Agent 成熟后,让 Agent 做安全审计
给想尝试 Vibe Coding 的人的建议
- 选一个你有领域知识的方向 —— 你不需要会写代码,但需要知道产品该是什么样
- 花时间在需求定义上 —— 500 字清晰需求胜过 5000 字模糊描述
- 用最好的模型 —— 不要省钱用弱模型,差距是数量级的
- 建立三层文档体系 —— PRD → TDD → Tasks,每层为下层提供精确上下文
- 维护 AI 记忆文件 —— 类似 CLAUDE.md,记录项目约定和踩坑经验
- 按周 Sprint 推进 —— 不要一次让 AI 做太多,逐步推进
- 接受不完美 —— 代码不是最优解,但它是可工作的解
- 记住:文档是资产,代码可以重新生成
写在最后
有人说 Vibe Coding 是"编程界的自动驾驶"。我觉得这个比喻很贴切:
- L2(辅助驾驶)= GitHub Copilot 自动补全
- L3(条件自动驾驶)= AI 生成完整函数/模块,人审查
- L4(高度自动驾驶)= 文档驱动的 Vibe Coding,你定方向,AI 开车 ← 我们现在在这里
- L5(完全自动驾驶)= Coding Agent,给需求直接交付产品
我们正处在 L4 到 L5 的过渡期。现在还需要人来"坐在驾驶座上"做验收。但可以预见,很快这一步也会被自动化。
对于每一个想做"超级个体"的人来说:Vibe Coding 让你不再被技术所困。你需要的不是写代码的能力,而是定义"做什么"的产品洞察力和"对不对"的验收判断力。
这两样东西,恰恰是 AI 最不擅长的。
也恰恰是人类最值得培养的。
本文中所有数据均来自对实际代码仓库的分析,未做夸张或编造。项目仍在迭代中。