实测 DeepSeek V4.1 Flash:一个 3D 星际网站和一只骑车的鹈鹕

实测 DeepSeek V4.1 Flash:一个 3D 星际网站和一只骑车的鹈鹕

DeepSeek 今天发布 V4.1 Flash,我顺手拿两个任务试它:做一个中文的 3D 星际漫游网页,再画一只骑自行车的鹈鹕。第一个跑通了,第二个改到第四版才像样。

任务一:一个 3D 星际漫游网站

需求是我自己写的:打开先看到有发光核心和旋臂的银河,能缩放能旋转,然后切到太阳系。八颗行星外观各不相同,点一下能聚焦并显示介绍,地球要有海陆,土星要有环,还得有小行星带和带拖尾的流星。暂停、速度、重置视角都要有效,手机也能开,交付一个完整 HTML。

它交出来的东西是个单文件,871 行 36KB,three.js 从 CDN 引,没有构建步骤,双击就能打开。

银河视角,发光核心和旋臂

银河是七万个粒子按螺旋线撒出来的,核心区另外堆了九千个粒子提密度,外面套两层加色混合的光晕。所以核心是真的亮,不是画个圆了事。

行星贴图没有外链图片,全是运行时用 canvas 生成的。地球是蓝底加随机大陆块,再叠云层和极冠;木星是条纹加斑点;土星环单独做了张贴图,还把 RingGeometry 的 UV 重映射到沿半径方向,那道卡西尼缝才看得出来。

太阳系,八颗行星、土星环和小行星带

我用无头浏览器把要求过了一遍:两个场景切换正常,八颗行星都在转,点土星能弹出介绍面板,暂停按钮的文字会变成继续,速度拖到 3.5 倍生效,重置视角能回默认机位,390 宽的手机视口也跑得动。控制台除了 favicon 一个 404,没别的报错。

点击土星后弹出的介绍面板

390 宽手机视口下的太阳系

第一版打开是全黑的

它第一次交上来的页面一片黑,控制台就一句话:TypeError: Assignment to constant variable

翻到那一行才发现,它在生成纹理条纹的循环里写了 const rows = bands,下面又用 --rows 去自减。第一次进循环就抛错,整个脚本挂掉,后面什么也没执行。

我一开始是读它的代码找问题,读了两遍没看出来,因为写得确实挺整齐。最后拿无头浏览器把页面打开跑了一遍,才定位到这一行。这个错扫一眼就能发现,它写得倒是挺自信。

任务二:鹈鹕骑自行车

画一只骑自行车的鹈鹕,这题在圈子里算经典,专门用来试模型对空间关系的理解。鹈鹕的喙和喉囊、自行车的机械结构,都是形状错了就一眼能看出来的东西。

鹈鹕骑自行车 SVG 的第三版

第一版只有 190 行。喙画成两片分开的楔形,像把张开的剪刀,鹈鹕最标志性的喉囊完全看不出来。腿是等粗的橙色直棍斜插到踏板上,鸟悬在车座上方,重心压着车头,看着不像骑上去的,像被摆上去的。

第二版我让它重点改喙,喉囊画成明显下垂的袋子,加了两条体积线,这下一眼能认出是鹈鹕了。腿还是直棍。

第三版把腿拆成大腿小腿两段,中间加了膝关节,脚改成带趾间线的蹼足,远侧那条腿的不透明度也往上提了提。视觉模型给的评语是构图和辨识度成立,最该改的是脚趾和踏板的咬合,打了 7 分。

这个分数挺准。它能把鸟和车分别画得不错,但两样东西之间的物理关系,谁压着谁、力从哪儿传到哪儿,处理得含糊。那张图里脚要说是踩在踏板上,不如说是浮在踏板旁边。

让鹈鹕真的骑起来

7 分那张是静止的,摆拍味很重。我改了要求,要动态 SVG,写明得看见鹈鹕真的在骑:车轮转、踏板转、腿跟着踏板走。

第一次调用直接失败。我把 max_tokens 设成 16000,它想了 66 秒,16000 个 token 全花在推理上,正文一个字没吐出来,返回是空的。改成 64000 重跑,这次 161 秒,用了 4.1 万 output token,其中 3.7 万还是思考,正文只有 12014 个字符。

交出来的 SVG 我没直接信,拆开看了动画结构:车轮 0.9 秒转一圈,曲柄和踏板 1.4 秒绕中轴一圈,两条腿是路径的 d 属性在 1.4 秒里做关键帧变形,身体随节奏轻微摆动,云和地面往后滚。

DeepSeek 生成的鹈鹕骑自行车动态 SVG

腿这一项值得单独说。它没把腿整体平移糊弄过去,而是把踩踏时腿的姿态一帧帧算了出来,膝盖和脚踝的位置都在动。

上面这个是动态 SVG 文件,浏览器直接打开就在动,想看源文件的话在这:https://stewie-blog-1412052351.cos.ap-chengdu.myqcloud.com/covers/pelican-riding.svg

这轮最有意思的不是画得怎么样,是那笔 token 账。画一张 SVG,它思考的长度是产出代码的九倍。以后再碰上要精确几何关系的任务,我大概会先把 max_tokens 开大,不然它一半的思考都是白费的。

几个数字

3D 那个网页我给了十几条要求,粒子系统、程序化纹理、射线拾取、移动端适配、场景切换的淡入淡出,它一条条都实现了,没偷工减料。犯的错是 const 自减这种级别的,不是理解错需求。它自己发现不了,是页面全黑之后我把报错信息甩给它,它才改对的。所以该测还得测。

SVG 这边正好相反,第一版总是大概对、细看不对,坐标和层叠关系处理得含糊。我每版都用视觉模型审一遍再让它改,四轮才到能看。

钱是意外。这两个任务加起来花的 token 不多,按新的闲时价,缓存命中的输入每百万 token 两分钱。

想试试的话

API 侧不用改 base_url,模型名换成 deepseek-flash 就是 V4.1 Flash。旧名字 deepseek-v4-flash 会临时路由过来,但官方说的是暂时,早晚要改。9 月 14 号之后连 deepseek-v4-pro 的请求也会被路由到新模型。

两个文件都留在本地了。3D 那个页面接下来想换个思路再测:不给视觉参照,只给一句让它看起来像真的银河,看它自己会加什么细节。鹈鹕那张准备再逼一次脚趾和踏板的接触关系,看能不能到 8 分。

常见问题

  • 和 V4 Pro 比哪个强?官方口径是全面超过,并且从 9 月 14 日起会把 V4 Pro 的请求全部路由到 V4.1 Flash。我这两个任务跑下来没遇到问题,但这远算不上全面实测。
  • 多少钱?闲时(含周末)缓存命中输入每百万 token 0.02 元,未命中 1 元,输出 4 元。工作日 9 点到 12 点、14 点到 18 点是高峰,翻倍。
  • 那个 3D 页面手机能跑吗?能。按 390 宽的 iPhone 视口测过,移动端会自动降粒子数,在我这台只有软件渲染的服务器上帧率还有 19 帧,真机有 GPU 会高不少。
  • 那段 SVG 动画我打开不动?换 Chrome 或者 Edge 看,有些浏览器不在 img 里播 SVG 动画。想看原始文件可以点上面的链接。

← 返回文章列表