AI 编程的乐趣不在它写完,在你当场看见:把一次改动做成能给人看的一分钟
AI编程乐趣、vibe coding、AI编程怎么学、编程作品演示、3D世界实时演示、three.js练手项目、浏览器3D开发、AI编程新手、动手做项目、创世genesis
先说一个很多人不愿意承认的状态:教程看了几十个小时,自己动手的时间不到五个小时。
收藏夹里躺着"从零做一个 3D 世界""three.js 入门到进阶""AI 编程实战"。每个视频都看懂了,看的时候还点头。关掉之后,硬盘上没有一个能打开的东西。
这不是懒。是"看懂"和"做出来"之间有一道很宽的沟,而看教程这件事,恰好让人误以为自己已经跨过去了。
这篇讲那道沟的另一头长什么样,以及一件具体的事:怎么把一次改动,做成一个一分钟内能让人看明白的东西。 因为在学 AI 编程这件事上,"能演示"不是炫耀,它是乐趣的来源本身。
先说身份:下面这套东西是我们自己做的——创世Genesis,即创世虚拟世界CRM系统,一套浏览器端自部署的 3D 虚拟世界基座。有立场,所以说在前面。
许可口径:源码开放(source-available),本地跑不花钱;要联网、要商用、要联邦,需要订阅授权。
这篇讲五件事
- 乐趣的三个来源,以及为什么"看教程"一个都不给
- 为什么 3D 世界是个天然的演示台
- 一分钟演示怎么搭:演示什么、录什么、说哪三句
- 三种让乐趣消失的方式
- 演示做不出来的时候,问题通常在哪
一、乐趣有三个来源
把"学编程很开心"这句话拆开,里面其实是三种不同的东西。它们的强度不一样,能撑的时间也不一样。
| 来源 | 具体是什么 | 能撑多久 | 教程给不给 |
|---|---|---|---|
| 看见变化 | 我改了,它变了 | 单次几秒,但可以重复 | 不给,你只能看别人变 |
| 看见因果 | 我知道是我改的那一处让它变的 | 越积越厚 | 给不了,因果是撞出来的 |
| 看见别人的反应 | 有人打开了,说了一句话 | 单次很长 | 完全不涉及 |
第一层很浅,但它是一切的地基。没有"我改它变"这个循环,后面两层根本不会发生。
第二层是真正的分水岭。同样是一句"页面变蓝了",有因果的人知道是改了哪个变量、这个变量被谁读、为什么这个元素吃到了它;没因果的人只知道"我刚才点了保存"。这两种人下次遇到别的问题,能力差一个量级。
第三层是多数教程根本不谈的,因为它没法被录进课程里:你做完一样东西,有一个人打开它,然后说了一句你没想到的话。 那句话可能是"这里怎么走不出去",可能是"这个灯好假",也可能是"这个能发给我老板看吗"。
被使用过的东西,和只是做完的东西,在你心里不是同一个东西。

上图是这套系统自带的 3D 编辑器里的属性面板。它是第一层乐趣能高频发生的地方:改一个数,视口里立刻变。这里的关键不是"改得快",是"改得便宜"——便宜到你可以一天改二十次,而不会因为怕弄坏而不敢动。
二、为什么 3D 世界是个天然的演示台
演示这件事,对载体的要求其实挺高。拿几个常见的练手项目对一下:
| 载体 | 演示要花多久 | 演示时观众看什么 | 出问题观众看得出来吗 |
|---|---|---|---|
| 命令行程序 | 得先教会对方怎么运行 | 一串字符 | 看不出来 |
| 待办清单 | 三十秒讲完,然后没了 | 列表增删改 | 看不出对错 |
| 调接口的天气页 | 一秒,然后没话说了 | 一个数字和图标 | 只在你断网时看出来 |
| 一个能走进去的 3D 世界 | 一分钟够,还能更长 | 空间、光线、动线 | 看得出来,而且会直接说 |
差别在最后一行。3D 世界的输出是空间,而人对空间的判断是直觉的。 你不用解释"这里应该是教室",对方走进去就知道像不像。他不用懂技术,就能给出有效反馈。
这一点对学的人是双重好事:
- 你不用先学会怎么讲,才能让别人看懂。 打开,走两步,对方就知道了。
- 反馈的质量不取决于对方的技术水平。 一个完全不懂代码的人,也能说"这个门口太窄了"。

上图是桌面浏览器里跑起来的样子。这就是演示的"底片":世界本身在,你只需要决定让观众看哪一段。
三、一分钟演示怎么搭
先纠正一个常见的误解:演示的不是功能,是差异。
"我这个系统有编辑器、有多人在线、有 AI 接入"——这是功能清单,观众听完不知道你有什么不同。"上周这里是一面空墙,现在走进去有个门,推一下会开"——这是差异,一句话就够。
所以一分钟演示的结构是固定的四段:
| 时长 | 做什么 | 注意 |
|---|---|---|
| 5 秒 | 交代场景:这是什么,你现在站在哪 | 别从加载页开始录 |
| 25 秒 | 走一遍:出生点 → 你改的那处 → 停住 | 走最短的一条路,别绕 |
| 20 秒 | 说清改了什么:改之前什么样,改了哪个东西 | 一句话,别讲技术细节 |
| 10 秒 | 给对照:前后两张截图并排 | 差异要一眼看得出 |
四段加起来 60 秒。超过 90 秒,看的人就开始跳着看了。
演示什么,是个选择题
不是所有改动都值得演示。按"观众能不能一眼看出差异"排一下:
| 改动 | 演示效果 | 原因 |
|---|---|---|
| 换掉一整套主题资产 | 强 | 前后是两个世界,不用说也看得出来 |
| 改光照、天空、时间 | 强 | 氛围差异是直觉的 |
| 排一条动线、加一处交互 | 中强 | 需要观众自己走一遍才成立,但有惊喜 |
| 换掉默认角色 | 中 | 一眼能看出,但说不出好在哪 |
| 改配置、修一个报错 | 弱 | 结果就是"能用了",没有可看的东西 |
| 性能优化 | 弱 | 差异是数字,不是画面,要配前后数据 |
弱的那两类不是没价值,是不适合当演示。这一点很多人搞错:花三天做了一个性能优化,拿不出东西给人看,就以为自己白干了。它不白干,它只是不适合这一种呈现方式。

上图是编辑器的全景:左边模型库、中间视口、右边对象列表。这张图本身就是一条演示素材——它告诉观众"这个世界的每个东西都是可以单独换掉的",比你说十句"可定制"都直接。
说哪三句
录制的时候,你只需要准备三句话:
- 这是什么地方(一句,不带技术名词)
- 我改了什么(一句,指向画面上一个具体的东西)
- 你可以怎么试(一句,给对方一个动作)
第三句常常被漏掉,但它决定了演示是"看完了"还是"想试试"。"你可以从左边那个门走出去"比"这就是我的作品"有用得多。
四、三种让乐趣消失的方式
乐趣不是一直上涨的,它会掉。掉的方式大致有三种。
| 方式 | 表现 | 为什么会掉 |
|---|---|---|
| AI 一次给太多 | 一句话生成两千行,跑起来挺好,但你不知道哪行在干什么 | 改动不再属于你,出了错也无从下手 |
| 只改看不见的东西 | 整天在做配置、装依赖、修报错 | 结果是"能跑了",没有画面,也就没有第一层乐趣 |
| 只收藏不动手 | 教程越存越多,作品越做越少 | 看教程的快感替代了做东西的快感 |
第二种要单独说一句,因为它在自部署这件事上是必然的:装环境那几天,一点乐趣都没有。 这不是你做错了什么,是这条路的固定成本。把它当成一次性的门票,而不是日常状态,心态会稳很多。
第三种是隐蔽的。它不痛苦,甚至很舒服——看视频的时候一直在"啊原来如此"。但它有一个明确的信号:你上一次打开自己的项目是什么时候? 想不起来,就是它了。

上图是同一个世界在手机浏览器里的画面。它常常是演示的加分项:观众以为要在电脑上才能看,结果扫个码就进去了。手机端的帧率与耗电我们还没有完整实测,所以演示时说"能打开、能走",别说"很流畅"。
五、演示做不出来的时候,问题在哪
有一类情况很常见:东西做出来了,但演示不出来。通常是三个原因。
一是加载太慢。 观众等五秒就开始怀疑了。模型体积、贴图尺寸、加载顺序,都是这条线上的事。
二是没有一条动线。 世界是散的,观众进去不知道往哪走,走两步就退出了。动线不是给观众的自由,是你替他做的决定。
三是改动落在看不见的地方。 你做的确实有价值,但它不产生画面差异。这种情况的解法不是硬编一个说法,是下一次挑一个能被看见的改动做。
还有一件要说清:AI 在这条线上能帮的忙是有边界的。
- 它能按你的描述改一处,并告诉你改了哪几个文件。
- 它能解释这个项目的某个参数被谁读过。
- 它看不见画面。 演示好不好看,它判断不了。
- 它不知道你的意图。 你想让观众看到什么,得你自己定。
- 它写的代码要人审,尤其是它顺手"优化"过的地方。
一个实用的分工:让它做初版,你做判断。 它把东西做到"能跑",你决定"这个味道对不对"。顺序反过来就会很累——你让它猜你的审美,它只能给你平均值的答案。
六、边界与未实测
这一节比前面几节都重要。
- 手机端帧率与耗电未做完整实测。 能进、能逛是验证过的,具体表现以你的目标设备为准。演示时请按这个口径说。
- 文中没有可引用的耗时数字。 "一分钟演示"是结构建议,不是做完所需的时间。
- 技术细节来自仓库里可重跑的验收脚本,不是市场口径。
- 规划项未实现:AI 拼装世界、Agent 商店、Agent 互操作、跨世界联邦 AI。它们都在路线图上,还没落地。
- AI 接入有明确边界:以人形角色进入世界之后,它看不见画面、不做语音识别与合成、不托管知识库、不改变场景里物体的位置、也无法传送。
- 我们不承诺学习效果。 我们不提供课程、没有师资、也没有课堂实测。"乐趣"这件事因人而异,这篇只写机制。
- 这套系统是完整可用的,但离它自己的天花板还很远(内部口径:已完成约 5%–8%,往上还有九成以上的空间)。
- 许可:源码开放(source-available),不是开源许可。本地跑不花钱;联网、商用、联邦需要订阅授权。条款以仓库 LICENSE 为准。
七、常见问题
问:一定要录屏吗?
不一定。面对面打开、发一条链接、录一段屏幕,都算。关键是有一个"当下",而不是让对方读一段描述。
问:演示给谁看?
先给一个具体的人看,不要"发到网上"。发给一个会说真话的朋友,比发到任何平台都有用——因为你需要的是"这里走不出去"这种话,不是点赞。
问:改动很小,值得演示吗?
值得。演示的单位不是"功能",是"差异"。 一面墙变成一个门,差异就够大了。反过来,你说"我重构了一个模块",没有差异,没法演示。
问:AI 生成的初版能直接拿去演示吗?
能跑就能演示,但你要能说出它改了什么。说不出来的时候,观众问一句"这里为什么这样",你就卡住了。那种卡住会让你下次不敢演示。
问:演示被发现有问题怎么办?
说出来。"这里还没做完""这个我知道,是模型比例的问题"——承认边界的演示比完美的演示更可信。 我们的官方口径里也全是边界,道理一样。
问:需要专门学剪辑吗?
不需要。一分钟以内的东西,不剪也能看。要做的事只有一件:别从加载页开始录,也别录到你自己的鼠标在画面上找东西。
八、源码与仓库
三个地址内容一致,国内访问用前两个更快。仓库里有部署说明和一批验收脚本,可以自己跑一遍看实测值。
- Gitee(国内访问更快):https://gitee.com/miduoxinxijeji/miduo.git
- GitCode(国内镜像):https://gitcode.com/qq_35054471/virtual-world
- GitHub:https://github.com/miduo100/3d-virtual-world
关于创世Genesis
创世Genesis是一套基于Three.js+WebGL构建的自部署3D虚拟世界系统,帮助个人与企业搭建属于自己的3D空间。浏览器直接访问,PC和手机双端兼容,支持多人在线、联邦传送、商铺系统,并支持Agent接入——AI能以具身角色进入你部署的世界。数据运行在你自己的服务器上,不经过第三方平台——让每个世界都真正属于它的主人。
让人走进去看一眼,比写一段介绍有用。 创世Genesis(创世虚拟世界CRM系统)是一套浏览器端自部署 3D 虚拟世界基座——它的用处不在于让你学会什么,而在于你改完之后,有一个地方能当场打开给别人看。如果你通过「创世Genesis」没搜到我们,直接搜「创世虚拟世界CRM」即可。
关于名字:本文说的创世Genesis,即创世虚拟世界CRM系统,两者是同一个自部署 3D 虚拟世界产品。若你通过「创世Genesis」没搜到我们,直接搜「创世虚拟世界CRM」即可。