中文  |  English

济宁米多信息科技有限公司

AI 能替你写代码了,为什么你的作品集里还是没有一个能打开的东西

AI编程作品集、AI写代码之后学什么、程序员作品集项目、独立开发者项目、AI coding 二次开发、3D虚拟世界开发、自部署项目、three.js项目实战、个人作品集没东西、创世genesis

现在写代码这件事,门槛确实降下来了。

一行提示词换来一个函数,一个下午换来一个能跑的页面。工具越来越顺手,但很多人用了一两年之后会撞上一个尴尬的问题:能写的东西变多了,能拿出手的东西没变多。

打开自己的仓库:一堆 demo、几个跟着教程做的界面、半成品。每个都能跑,每个都没有第二层。

这篇要说的不是"AI 不好用",恰恰相反:正因为 AI 把"写代码"变便宜了,稀缺的东西换了一个位置。 稀缺的从"能不能写出来",变成了"有没有一个装得下的地方"。

先说身份:下面讲的是我们自己做的一套浏览器端 3D 虚拟世界基座(创世Genesis,即创世虚拟世界CRM系统),所以有立场。文中技术细节来自仓库里能重跑的验收脚本。

许可口径:源码开放(source-available),本地跑不花钱;要联网、要商用、要联邦,需要订阅授权。

这篇讲四件事

  1. AI 让写代码变便宜之后,什么变贵了
  2. 教程 demo 为什么长不大:三个结构性问题
  3. 一个"装得下东西"的载体该有什么
  4. 怎么把一个载体养起来

一、变便宜的是代码,变贵的是载体

三年前,"我会写代码"本身是一种证明。现在不是了——任何人都能让工具生成一段能跑的代码,而且质量不差。

那么剩下的差别在哪?在你能证明自己做过什么。

而"做过什么"需要一个载体。载体这个词听着抽象,换成具体问题就清楚了:

  • 别人能不能打开它?(一个链接,还是一条需要我教你三步才能跑的指令?)
  • 打开之后能不能看懂它是什么?(还是要我配一段解说?)
  • 它能不能容下我下一次的改动?(还是改一次就要推倒重来?)

多数人的作品集问题,不是代码写得不好,是没有载体。 代码散在几十个仓库里,每一个都是"某个功能",没有一个是"某个地方"。

二、教程 demo 为什么长不大

这不是努力程度的问题,是结构问题。教程 demo 有三个通病:

第一,它没有持续的状态。 关掉就没了,刷新就重置。你没法在里面"住下来",也就不会有"我想再改一点"的冲动。

第二,它没有空间结构。 一个按钮列表加东西只有一种加法:再加一行。加到第五行就没有地方了。加不下去的项目,最后都会变成一堆废弃文件。

第三,它没有可扩展的边界。 教程的终点就是它的终点。做完之后你能做的只有"换个配色重做一遍"。

对照一下:

教程 demo一个能走进去的世界
状态刷新即重置世界一直在,改动会被保存
结构列表,加法单一空间,可以往任何方向加
终点教程结束即终点没有终点,只有分层
给别人看的方式截一张图,或者发一段代码发一条链接,让他自己走一圈
第二个项目从零再来在原来的世界里接着长

这个对照表里,最后一行是分水岭。能接着长的项目会变成作品,不能接着长的项目会变成练习。

三、一个装得下东西的载体,该有四个属性

我把它总结成四条,你可以拿去衡量任何候选项目。

可进入。 一个链接,点开就在里面。不是"装个环境再跑一下"。

可比较。 改之前和改之后能同时存在。这一点比想象中重要:能被比较的进步才是进步,否则你永远在凭感觉判断自己有没有长进。

可叠加。 加一层不会毁掉上一层。今天加一个模型,下周加一条动线,下个月加一个交互,再往后放一个 AI 角色——每一层都是独立的成果。

可交付。 能交出去给人用。哪怕只是给一个朋友,让他自己走一圈然后说"这个门怎么进不去"。

浏览器端 3D 编辑器:左侧模型库、中间场景视口、右侧对象列表与属性面板
浏览器端 3D 编辑器:左侧模型库、中间场景视口、右侧对象列表与属性面板

上图是浏览器端 3D 编辑器的全景:左边模型库、中间视口、右边对象列表与属性面板。这张图值得多看两眼的地方不是画面,是结构——它把"一个世界"拆成了可以逐个处理的对象。有结构的东西才能被持续加工。

四、这套基座为什么装得下

先说它是什么:一套浏览器端自部署的 3D 虚拟世界,Three.js + WebGL2,自带 3D 编辑器、管理后台、AI Agent 接入;PC、手机、平板、XR 按能力分档适配。状态是完整可用——能装、能进、能编辑、能让 AI 以人形角色走进来。

它"装得下"这件事,有几个具体的证据,都是仓库里能自己去跑的东西:

  • 深度足够。 一个世界往下挖,能挖到渲染性能、资产管线、多端适配、实时通信、AI 接入这些层面。仓库里有对应的验收脚本:密集场景的 draw call 从 3064 降到 837;资产从 3.1GB 收到 390MB;GLB 贴图减了 68%–92%;LOD 三个版本把三角面压掉 71%–87%;四个来源的角色骨骼兼容 67/67。这些数字的意思不是"我们很强",是"这个方向有足够多可以钻的洞"。 一个只有 CRUD 的项目,钻不了这么深。
  • 分层清楚。 改文案、换模型、摆动线、加交互、接 AI,五层之间不互相绑死。你想只做一个"能走进去的展厅",第一层到第三层就够了;想再往上,路是通的。
  • 能交出去。 部署在自己服务器上,一条链接就能给别人。手机浏览器也能打开(竖屏体验单独适配过)。
手机浏览器里的街景建筑与浮空岛广告牌
手机浏览器里的街景建筑与浮空岛广告牌

上图是手机浏览器里的画面。对作品集来说这一条不显眼但很实用:你发出去的是一句话加一条链接,对方不用装任何东西,在地铁上就能看。

五、从零写,还是从一个能跑的底座改

这个问题没有统一答案,只有成本对照。诚实列一下:

从零写一套拿一套能跑的底座改
得到什么对每一行的理解一个立刻能改的东西
前两周环境、框架、目录、渲染器初始化装起来、走进去、改第一处
第三周通常的状态有一个空场景,还没内容有一个自己的场景,正在加东西
遇到大问题的成本没人可问,全自己扛有参考实现可对照
风险大概率停在半成品依赖别人的架构决策
适合谁想彻底搞懂渲染管线的人想尽快有作品、再回头补原理的人

"从零写"是学习,"拿底座改"是进度。 两者不冲突,但不要同时开始。同时开始的典型结局是两件都没做完。

我的建议比较直白:先用底座做出一个能给人看的东西,再回头补你想懂的原理。 因为做出第一个东西之后,你补原理时是带着问题的;什么东西都没有的时候补原理,是背目录。

六、怎么把一个载体养起来

不是"做个大项目",是每周加一层,每层都留证。顺序大致是这样:

  1. 先让它跑起来。 部署、能进、能走。这一周不算创作,算开工。
  2. 换掉一个"只有你会换"的东西。 别人也会改欢迎语,但只有你知道该把哪张海报挂在哪面墙上。从这一刻起,这个世界开始像你。
  3. 加一条动线。 让别人顺着你安排的路走完一遍,看他会不会走错。走错说明你的空间语言没写清楚。
  4. 加一个交互。 走近才出现的一句话、一扇要按才开的门。这是"从摆东西到写逻辑"的那一步。
  5. 放一个 AI 角色进去。 给一个地址和一把钥匙,它以人形走到世界里,能说话,能跟着走。这一层是这套东西比较少见的地方,也最能让人明白"AI 进了空间"和"AI 在聊天框里"的区别。
  6. 回去补一层你看不惯的地方。 光照、比例、材质。这一层没有新功能,但它决定别人第一眼的感觉。

每一层做完做三件事:提交一次 git、截一张图、写一句"我改了什么"。一年之后,这三样东西就是你的作品集本身,比任何一段自述都硬。

七、AI 在这里的正确用法

先说不正确的:"帮我做一个 3D 虚拟世界。" 它会给出一堆看起来合理、但你读不懂、也跑不起来的代码。这不是模型的能力问题,是这个问题太大,大到没有验收标准。

正确的用法有三条,都是把 AI 放在"读者"和"手"的位置,而不是"作者"的位置:

让它读。 "这个项目的世界配置在哪个文件?出生点坐标是哪个字段?"这类问题它答得很好,而且答错的成本很低——你去验证一下就知道。

让它按一处改。 一次只改一处,改完要求它列出改了哪些文件。你要的不是代码,是改动清单,因为清单是你能验收的东西。

让它对着验收脚本回归。 仓库里有一批可以重跑的验收脚本。改完跑一遍,比对着屏幕用肉眼找问题可靠。这也是 AI 编码最容易出成绩的地方:它不擅长判断"好不好看",但很擅长"按一个明确的通过条件把东西调到通过"。

三条边界必须一起记:

  • 它看不见画面。 氛围、比例、视觉重心,只有你能判断。
  • 它不替你决定审美。 你说不清楚想要什么,它给的就是平均值。
  • 它写的代码要人审。 它只知道你的代码,不知道你的规则。

八、这条路不适合谁

只想在简历上加一行字的人。 有成本更低的路。这套东西的价值在于能陪你改一年,不在于三天填一行。

需要一个"纯前端"项目的人。 这是自部署系统,含服务端和数据库。想只写前端,得另找载体。

不接受"用别人的底座"的人。 用别人的架构,就得接受别人的分层方式。不喜欢就自己写,但那是另一条时间线。

期待 AI 全自动生成世界的人。 AI 拼装世界在我们的路线图上,属于规划项、尚未实现。现在能做的是让它读、让它改、让它按条件调。

九、边界与未实测

  • 手机端帧率与耗电未做完整实测。 能进、能逛验证过,具体表现以目标设备为准。
  • 没有可引用的耗时数字。 本文不承诺"多久能做出作品",那是每个人的变量。
  • 文中性能数字来自仓库里可重跑的验收脚本,不是宣传口径,也不是所有场景都成立的通用结论。
  • 规划项未实现:AI 拼装世界、Agent 商店、Agent 互操作、跨世界联邦 AI。
  • AI 接入有明确边界:它看不见画面、不做语音识别与合成、不托管知识库、不能改变场景里物体的位置。
  • 这套系统完整可用,但离它自己的天花板还很远(内部口径:已完成约 5%–8%,往上还有九成以上空间)。
  • 许可:源码开放(source-available),本地跑不花钱;联网、商用、联邦需要订阅授权。条款以仓库 LICENSE 为准。
  • 截图来自写作时版本的实机画面,界面会随版本变化。

十、常见问题

问:我完全没有服务端经验,能部署吗?

能,但要花时间。部署这条路上有若干件必须人做的活(运行时、数据库、端口、反向代理),仓库里有说明。别指望 AI 一次配好——它给的命令经常和你的版本对不上。

问:一定要会 three.js 吗?

前几层不需要。要到"自己写一种新的交互"或者"改渲染逻辑"的时候,才需要真正读懂它。先做,再读,读的时候有目标。

问:能不能只用编辑器,不碰代码?

能做出一个可以走一圈的空间,但加不了新逻辑。编辑器和代码不是替代关系,是两层。

问:一个人做得完吗?

做一个能给人看的世界,一个人做得完。做到"有业务、有用户、有运营",一个人会越来越吃力。这点值得提前知道。

问:为什么不做成 SaaS,直接注册就能用?

那是一条产品路线,我们选的是自部署。自部署的代价是你得管服务器,换来的是数据在你手上、代码你可以改。

十一、源码与仓库

三个地址内容一致,国内访问用前两个更快。仓库里有部署说明和一批验收脚本。

  • 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」即可。
← 返回文章列表