这不是标题党,这是真实发生在我身上的故事。
一、开篇:从"我想做个游戏"到"真的做出来了"
2025年2月,OpenAI联合创始人 Andrej Karpathy 在X上发了一条推文,说自己在用一种新的方式写代码——完全交给感觉,让AI帮你写。
我当时看到这条推文,心想:"这不就是吹牛吗?"
直到几天后,我真的用一段Prompt做出了一个完整的3D小世界编辑器。
不是那种"帮我写个Hello World"的玩具项目,而是:
- ✅ 8×8的3D网格世界
- ✅ 7种地形工具(草地、土路、水、石头、树、房子、擦除)
- ✅ 拖拽旋转视角 + 滚轮缩放
- ✅ 鼠标悬停高亮反馈
- ✅ localStorage持久化存档
- ✅ 3个独立存档槽位
- ✅ 程序化生成村庄功能
- ✅ 右下角实时小地图
- ✅ 磨砂玻璃风格UI
双击HTML就能运行,零构建,零依赖。
那一刻我才明白:Karpathy没在吹牛,Vibe Coding是真的。
二、什么是AI Native思维?
在传统开发模式下,我们要做一个3D编辑器,流程是这样的:
学习Three.js → 理解场景/相机/渲染器 → 写几何体代码 →
调试光照 → 处理交互事件 → 优化性能 → UI设计 → ...
每一步都需要专业知识,每一步都可能卡住。
但在AI Native思维下,流程变成了:
描述我想做什么 → AI生成代码 → 看效果 → 调整描述 → 继续迭代
核心区别
| 维度 | 传统开发 | AI Native开发 |
|---|---|---|
| 入门门槛 | 需要掌握API、语法、框架 | 只需要会描述需求 |
| 开发方式 | 逐行敲代码 | 用自然语言对话 |
| 调试方式 | 看报错、查文档 | 看效果、调整Prompt |
| 适用人群 | 专业程序员 | 任何有想法的人 |
本质转变:从"怎么写代码"变成"怎么描述需求"。
三、Prompt工程:把想法变成代码的关键
很多人以为Vibe Coding就是"随便说一句话让AI帮你写",其实不然。
好的Prompt = 清晰的目标 + 结构化的描述
看看我用来生成这个3D世界的Prompt结构:
3.1 我想要的体验(Goal)
- 一打开网页能看到一个 8*8 左右的世界,立刻能玩
- 鼠标点格子放东西(草地、土路、水、石头、树、房子、擦除,7个工具)
- 拖拽转视角/滚轮缩放
- 鼠标悬停的格子有视觉反馈
- 关闭网页,下次打开还在
- 能切换三个不同的存档世界
- 一个"重置"按钮给我一个程序化生成的小村庄
- 一个"清空"按钮全变草地
- 首次打开有个简短的操作提示,几秒后淡出
3.2 技术架构(Constraints)
- 单页面,零构建:直接双击 HTML 就能打开
- 文件不超过 3 个:一个HTML、一个CSS、一个JS
- Three.js 用 CDN 引入(r128版本),不要ES module
- 不要 React / Vue / TypeScript / Webpack / Vite
- 所有 3D 物体用Three.js 内置几何体,不用加载外部模型
3.3 视觉方向(Style)
- "积木玩具"风:颜色饱和、对比鲜明
- 背景是奶油色或米色
- 光照要"日光"感,草地不要被照的发白
- 阴影要柔,不要硬切
3.4 UI风格(Layout)
- 顶部一个标题面板 + 一个存档面板
- 底部居中浮一个工具卡片栏,每个工具卡片有 emoji 图标 + 中文标签
- 右下角一个小地图(canvas 2D),俯视显示当前世界
- 全部面板用浅色磨砂玻璃风格
3.5 代码组织(Structure)
- HTML 只放结构和引用
- CSS 写所有外观
- JS 包成 IIFE,逻辑分段(场景/光照/数据/工厂/交互/持久化/小地图/启动)
- 数据用 'world[x][z] = { terrain, kind }'
四、Prompt公式:五要素法
总结下来,一个高质量的Prompt应该包含五个要素:
Goal(目标)+ Input(输入)+ Output(输出)+ Layout(布局)+ Features(特色)
| 要素 | 说明 | 示例 |
|---|---|---|
| Goal | 你想做什么 | "一个网页上的3D小世界编辑器" |
| Input | 用户提供什么 | "鼠标点击格子、拖拽旋转、滚轮缩放" |
| Output | 系统返回什么 | "放置地形、视角变化、存档保存" |
| Layout | 界面怎么布局 | "顶部标题栏、底部工具栏、右下小地图" |
| Features | 有什么特色 | "磨砂玻璃UI、程序化生成村庄、实时小地图" |
记住这个公式,下次写Prompt就不会迷茫了。
五、AIGC vs Coding Agent:两种AI开发模式
在AI开发领域,有两种主流模式:
5.1 AIGC模式(生成式AI)
比如用豆包、ChatGPT生成代码:
你:帮我写一个Three.js的3D场景
AI:给你一段代码...
你:复制粘贴到编辑器
你:运行、调试、报错
你:继续问AI...
特点:AI只负责生成,你负责执行和调试。
5.2 Coding Agent模式(编程智能体)
比如用Cursor、Claude Code、Trae:
你:帮我做一个3D小世界编辑器
AI:理解需求 → 创建文件 → 写入代码 → 调整优化
你:看效果 → 提反馈 → AI继续改
特点:AI不仅生成代码,还能创建文件、写入代码、执行操作。
核心区别
| 维度 | AIGC | Coding Agent |
|---|---|---|
| AI角色 | 代码生成器 | 开发助手 |
| 你的工作 | 复制、调试、整合 | 描述需求、审核结果 |
| 效率 | 线性 | 指数级 |
| 适用场景 | 单个函数、片段 | 完整项目、复杂系统 |
Coding Agent让你真正成为"产品经理",而不是"代码搬运工"。
六、LLM基础知识:理解AI的底层逻辑
要用好AI开发,理解一些LLM基础知识很有帮助。
6.1 什么是LLM?
LLM(Large Language Model) = 大语言模型
本质上是:由海量权重参数构建的概率映射函数
数学公式:
y = fθ(x)
x: 输入文本向量
y: 输出文本序列
θ: 全部的模型参数(权重)
f: 神经网络运算
通俗理解:你输入一段话,AI根据海量训练数据,预测最合理的输出。
6.2 模型参数规模
以DeepSeek为例(2025年最新数据):
| 模型 | 参数规模 | 特点 |
|---|---|---|
| DeepSeek-V4-Pro | 1.6万亿(1600B) | 高性能,适合复杂任务 |
| DeepSeek-V4-Flash | 2840亿(284B) | 性价比高,速度快 |
参数越多,模型越"聪明",但成本也越高。
6.3 为什么复杂任务需要高级模型?
就像这个3D世界编辑器项目,涉及:
- Three.js场景管理
- 光照系统
- 交互事件处理
- 数据持久化
- UI设计
- 小地图渲染
如果用基础模型,可能只能生成片段代码,无法整合成完整系统。
高级模型能理解整体架构,生成结构化的完整代码。
七、实战总结:从想法到产品的完整流程
回顾这个3D世界编辑器的开发过程,我总结了一套可复用的流程:
Step 1:明确目标
我想做一个"摆在桌子上的小模型"风格的3D世界编辑器
不是开放世界游戏,而是迷你村庄的感觉
Step 2:结构化描述
按照五要素法,把需求拆解成:
- Goal:8×8网格、7种工具、拖拽旋转、存档功能
- Input:鼠标点击、拖拽、滚轮
- Output:地形放置、视角变化、数据保存
- Layout:顶部标题栏、底部工具栏、右下小地图
- Features:磨砂玻璃UI、程序化生成、实时小地图
Step 3:设定约束
- 单页面,零构建
- 只用Three.js内置几何体
- 不要React/Vue/TypeScript
Step 4:迭代优化
第一版:基础场景 + 简单工具
第二版:加入光照 + 阴影
第三版:加入存档 + 小地图
第四版:优化UI + 程序化生成
Step 5:验收成果
打开HTML文件,验证:
- ✅ 能放置地形
- ✅ 能旋转视角
- ✅ 能保存存档
- ✅ 小地图同步
- ✅ UI美观
八、彩蛋:这个项目的技术亮点
作为一个真实的Vibe Coding案例,这个项目有几个值得分享的技术点:
8.1 IIFE封装
(function () {
// 所有代码包在一个立即执行函数里
// 避免全局变量污染
})();
8.2 数据结构
world[x][z] = { terrain, kind }
// terrain: "grass" | "water" | "path" | "stone"
// kind: "tree" | "house" | null
8.3 程序化生成
function generateVillage() {
// 水塘:随机位置 + 3×3范围
// 小路:连通的路径
// 房子:固定位置 + 随机点缀
// 石头/树:随机分布
}
8.4 localStorage持久化
localStorage.setItem(`world_${i}`, JSON.stringify(worlds[i]));
// 关闭网页,数据不丢失
九、写在最后:AI时代的开发者生存指南
2025年,AI开发已经不是"会不会用"的问题,而是"怎么用好"的问题。
核心观点
- AI Native思维:从"写代码"转向"描述需求"
- Prompt工程:结构化描述比随意聊天更有效
- Coding Agent:让AI成为你的开发助手,而不是代码生成器
- LLM基础:理解模型原理,选择合适的工具
给新手的建议
- ✅ 从小项目开始,逐步积累Prompt经验
- ✅ 多尝试不同的AI工具,找到最适合你的
- ✅ 学习基础的编程概念,更好地与AI沟通
- ✅ 保持好奇心,AI技术每天都在进化
给老手的建议
- ✅ 把AI当成"超级实习生",提高效率
- ✅ 用AI探索新技术,突破知识边界
- ✅ 关注AI工具的更新,保持竞争力
- ✅ 分享你的经验,帮助更多人入门
📌 收藏本文,下次想做项目时,记得用五要素法写Prompt!