P.S. 目前国内还是很缺AI人才的,希望更多人能真正加入到AI行业,共同促进行业进步,增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程传送门http://blog.csdn.net/jiangjunshow,教程通俗易懂,高中生都能看懂,还有各种段子风趣幽默,从深度学习基础原理到各领域实战应用都有讲解,我22年的AI积累全在里面了。注意,教程仅限真正想入门AI的朋友,否则看看零散的博文就够了。

前言

先把结论摆这儿:我昨天一口气用它跑了四个活,今天还坐在电脑前写这篇文章,说明它没把我劝退。

再补一句背景。我对“国产 Agent”这四个字的期待值,长期停在一个非常稳定的水平——礼貌性点头,然后绕着走。点头是社交,绕走是本能。

这个维持了好几年的习惯,昨天下线了。

下线的原因也不复杂:它十分钟给我搭完了一个能直接上线访问的站点。我提前准备的那句“先做个简单的、能跑就行”,最后没机会说出口。

01、第一件事:先把站点上线,别急着聊理念

我判断一个工具,从来不看它的介绍页有多长。我看它第一次真正做点东西,要让我等多久。介绍页写得再漂亮,那也是文案的胜利,不是工程的胜利。

1.1 一共只有三个动作

这件事的操作成本低到有点不尊重人:点左下角的“站点”,再点右上角“添加站点”,然后把我的开源项目、专栏、作品集一股脑丢进去。

让我做一个个人作品展示站。

指挥它干活这件事,我熟练得像给外卖小哥报门牌号——地址大概对,细节全靠对方理解力。

1.2 它真正交出来的东西

它没有跟我讨论“个人站点的信息架构应该分几层”,直接在工作区生成了一个完整工程。

个人站点/
├── index.html
├── styles.css
├── app.js
└── assets/          // 图片素材

然后它自己起预览,把电脑端和手机端的排版各过了一遍,确认没问题,一键发到线上域名。

我盯着那个属于我自己的网址看了三秒。脑子里只有一句话:这下“这个做不出来”这句话,我用不了了。

一个工具真正的杀伤力,从来不是它做得多好,而是它顺手把你的退路拆了。

02、第二件事:一分钟科普视频,从写稿一路做到 MP4

2.1 我把要求写成了一份清单

第一件事干得太顺,我这次就没客气了。我把自建的代码仓里那份 one-minute-remotion 规范丢给它,要求它一口气从写稿干到导出成片。

请读取当前工作区的 one-minute-remotion/SKILL.md 技能规范,制作一期
“牛顿第一定律”的 1 至 2 分钟中文科普视频,一口气完成从写稿到导出 MP4:

1. 文字稿:严格按入口、名词、结论、例子、为什么成立、收尾六段结构起草,
   从推书本和冰球滑行切入,通过伽利略理想双斜面实验推导定律与惯性概念。
2. 配音与时间轴:调用内置 TTS 合成完整语音,生成 spoken.txt、
   narration-lock.json 与记录每个字发音时刻的 beats.json,实测音频时长。
3. 分镜与动画渲染(1920x1080,30fps):编写 OUTLINE.md 与动画组件,
   浅色纸张背景、粉彩几何图形、深蓝色描边,按语音节奏依次展示各场景。
4. 本地预览与导出验证:启动预览服务逐帧检查字幕无遮挡,再导出 MP4。

说实在的,我把需求写成这么细,本质上是在赌它读不懂。它读懂了。

赌输了我还挺高兴。

2.2 它先读规范,再写稿,再配音

它干活的顺序像个正经人:先读技能规范,起草口播稿,再调本地脚本去请求 TTS 接口,合成整条配音,顺手把 spoken.txt、narration-lock.json,还有一个记录每个字发音时刻的 beats.json 都生成出来。

我看到“记录每个字发音时刻”这行字的时候,第一反应是:这活我干不了。我连我自己说话什么时候换气都不知道。

音频时长它自己测完,再往下走流程。这个顺序听着平平无奇,但你回想一下,你上一次见到“先量尺寸再动工”的项目,是在什么时候。

2.3 稿子我读了,只改了几句

---
title: 牛顿第一定律
---

大家好,今天来聊一下牛顿第一定律。

先说清两个词。运动状态,指物体速度的大小和方向;
速度的大小和方向只要有一个变了,运动状态就变了。
合力,是物体受到的所有力合在一起产生的效果。

一切物体在没有受到力的作用时,总是保持静止状态
或匀速直线运动状态。

稿子的水平比我预期的高。我原本准备好了要大改一顿,结果只动了几处措辞,像给理发师说“这两边再短一点”。

这事有点微妙:我平时改别人稿子的那点快乐,被一个模型顺手拿走了。

2.4 分镜、动画、出片

稿子定完,它写 OUTLINE.md,把整条片子切成 11 个场景:速度与合力、伽利略双斜面实验、惯性对比……

然后是两个动画组件 Chapter1.tsx 和 ThreeScenes.tsx,1920×1080、30fps,浅色纸张背景、粉彩几何色块、深蓝描边——数学卷子那种纸的质感。

它自己起了 3121 端口的预览服务,逐帧看画面和底部字幕有没有打架,确认干净了才出片。

片子里讲的东西很朴素:推书本、冰球滑行、右侧斜面一点点放平、急刹车时安全带把人拽回来。

我唯一的担心是,牛顿要是活过来,看见自己的第一定律被做成了这个画风,可能会先愣两秒,然后问能不能也给他来一条。

03、第三件事:29 个零件的 3D 机械表

3.1 我给的是一段说明书

第一个视频还在后台跑,我就在左边任务栏开了第二个任务。

要求:Vite + Three.js,不依赖任何外部模型文件,全用代码搭 29 个三维零件,7 层结构,7 个阶段交互,配 6 个指标卡片。

29 个零件,我数到第 7 个就开始怀疑自己的数数方式。它数完了,还顺手给我分了层。

3.2 七个阶段,一个比一个费劲

  • 阶段 1:表身翻 180 度,透过透明表背看机芯。
  • 阶段 2:上下拖表冠上发条,动力储存从 0 涨到 40 小时。
  • 阶段 3:镜头拉近看摆轮,开慢动作,看清擒纵轮和擒纵叉一卡一放。
  • 阶段 4:齿轮传动高亮,带动秒针、分针、时针按各自转速转。
  • 阶段 5、6:拆解时先停摆轮,29 个零件分 7 层向上展开,可以拖着转;点组装再合拢。
  • 阶段 7:加速跑完 24 小时,看着动力一点点被吃掉。

我拖了两下表冠,40 小时满了。现实中我给手表上弦得拧半天,还得提心吊胆怕拧过头。

虚拟世界里最贵的东西,好像永远是手感和耐心。

3.3 它把代码拆开了,没有一锅炖

这是我最愿意看到的一点。它没有把几千行塞进一个 main.js 然后祈祷。

src/
├── geometry.js   // 齿轮、发条、表壳的几何形状
├── parts.js      // 29 个零件按 7 层装配成完整机芯
├── watch.js      // 发条与表针的转动逻辑
└── main.js       // 左侧 7 个按钮 + 镜头切换 + 数据面板刷新

写完它自己跑 npm run build 验证能不能打包,再起 5182 的开发服务器看三维渲染。

先 build,再 preview。这个顺序,比不少人类项目靠谱。

切换阶段的时候,翻转、上弦、七层展开,过渡都很顺。顺到我开始反思:我上一次做出这么顺的过渡,是用 PPT 的擦除动画。

04、第四件事:西湖双塔,看它会不会自己跟自己打架

4.1 二维图纸和三维模型,通常死在哪

保俶塔八角七层,总高约 45.3 米;雷峰塔八角五层,总高约 71.7 米。要蓝图纸质感:浅灰蓝方格坐标纸底,蓝色半透明线框渲染。

难点不在建模。难点在左上角那张二维立面图,得和中间那座 3D 塔对得上。

这是项目里最经典的死法:左手画图,右手建模,中间靠开会。图纸说 45.3,模型说“差不多”,最后一改,两个都不对。

它没有靠开会。它单独建了一份配置文件。

// src/specs.js —— 二维图纸与三维模型唯一的尺寸来源
export const towers = {
  baochu:  { name: "保俶塔", height: 45.3, floors: 7, sides: 8 },
  leifeng: { name: "雷峰塔", height: 71.7, floors: 5, sides: 8 },
};

// panels.js 读这份配置画立面图
// tower.js  读同一份配置生成 3D 塔身

一个数字只在一个地方写死,剩下的人全部来读。道理谁都懂,落地的时候总有人想自己再写一遍。

4.2 展开六段,指示线得跟着转

点底部的“展开”或者敲空格,整座塔沿竖直方向拆成 6 段往上走,每段伸出一条带中英文名称的指示线。

真正的难点在动的时候:你拖鼠标转视角、缩放,那条线得一直指着它该指的地方。

它用 overlay.js 把每段构件的三维坐标实时换算成屏幕上的二维坐标。

我一边转一边看那条线牢牢粘在塔身上,心里冒出一句很不体面的话:这比我司年会 PPT 的动画跟手多了。

05、第五件事:捏脸,以及它自己抓了自己的 bug

5.1 72×72 的网格

这一件事我故意为难它:不引入任何第三方物理或渲染库,用原生 WebGL,把头像切成 72×72 的网格,鼠标按住任意位置拖拽,鼻子、脸颊、眼镜、下巴一起变形,松手弹回去。

捏脸这功能,属于典型的“没人需要,但没人拒绝”的需求。跟自助餐里的冰淇淋机一个道理。

它用阻尼波动方程算每个网格点的拉伸位移和回弹速度,松手后晃几下,两秒左右复原。片元着色器里再按变形程度补明暗和高光,皮被拉开的时候有那种绷紧的质感。

还给我留了柔软度和阻尼两个滑块。我把它调到手感最好的那一刻,忽然理解了为什么有人能在设置页里待一下午。

5.2 它自己把问题找出来了

为了让脸能被拉出橙色圆盘之外,画布得比圆盘更大,四周留出透明边距。

它起预览之后自己发现了两件事:这块多出来的透明画布把页面顶部的主题切换按钮挡住了;手机窄屏下还多出一条横向滚动条。

然后它自己改了画布的点击穿透属性和页面宽度样式,两个问题一起处理掉。

我第一次见工具主动认领错误,还不用我先道歉。

06、说点不客气的

四个活跑完,我最大的感受不是“模型好强”,是“成本结构变了”。

以前脑子里冒出一个想法,第一道关卡从来不是“这事有没有价值”,是“做出来要几天”。这道关卡一立,八成想法当场就死了,而且死得体面,理由统一是“资源不够”。

现在这道关卡矮了一大截。想法到能跑的东西之间,那段最磨人的工程活——拆文件、对尺寸、起预览、修遮挡——有人替你干了。

但我不想把话说得太顺。

工具决定你能不能开始,工程能力决定你做出来的东西三个月后还能不能改。

这四件事里,我最看重的不是那几个好看的动画。是它自己建了一份配置、自己跑了 build、自己发现画布挡了按钮。这些事不上镜,但它们正好是“能演示”和“能交付”之间那条线。

至于我,损失也很明确。

以前我拒绝一个想法,理由是“太麻烦”。以后我拒绝一个想法,只能老老实实说“我不想做”。

人到这个年纪,诚实是最贵的成本。

上面每件事的提示词我都原样贴着,想复现的直接复制。做完了记得回来跟我说一声,你的版本比我好看多少。

下次见。

P.S. 目前国内还是很缺AI人才的,希望更多人能真正加入到AI行业,共同促进行业进步,增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 传送门http://blog.csdn.net/jiangjunshow,教程通俗易懂,高中生都能看懂,还有各种段子风趣幽默,从深度学习基础原理到各领域实战应用都有讲解,我22年的AI积累全在里面了。注意,教程仅限真正想入门AI的朋友,否则看看零散的博文就够了。

Logo

更多推荐