靠Kimi新模型K2,我花17块钱做出了有4个游戏的4399

近日,月之暗面开源了其旗舰大模型 Kimi K2,这是一个基于 MoE 架构、拥有 1 万亿参数、单轮激活 32 B 参数的超级模型,专门优化了代码生成和 agentic 能力( 代理式能力 )。

社区实测表明,K2 在许多一次性生成复杂前端项目( 如 3D HTML 场景、交互式数据展示网页等 )中表现不输甚至优于 Claude 4、Gemini 2.5 Pro 等商用模型。

在专注 Agentic Coding 的 SWE-bench Verified 测试集中,K2 取得了达到了 65.8% 的准确率( 单次尝试 ),多次尝试提升至 71.6%,可与 Claude 4 Sonnet、Claude 4 Opus 相比肩。

知危也顺手在 X 里借用了一些案例的提示词,初步体验了 K2 的代码生成能力,发现一次性编程的成功率还是很高的。

比如让 K2 用 HTML 构建一个网站,展示太阳系的 3D 模拟。K2 不是深度思考模型,直接一句废话没说就开始写代码。

500

并且,一次就成功。

500

接下来,知危还让 K2 帮忙模拟小行星撞击地球、制作数据仪表盘组件,虽然有些小 Bug,但也一次成功了。

500

500

不过仅仅是这样,还不能展现 K2 的优势。在 K2 本次强调的两大优势中,agentic 能力其实更为重要。

它关注的是模型在结构化的编程环境下,如何从零到一完成任务,交付工作的能力,并在深度的、多步骤的执行过程中始终保持逻辑一致性。只有具备了这样的能力,K2 才能在实践中发挥最大的作用。

所以,知危选择了这样的场景,将 K2 的 API 接入 Claude Code,并在 Cursor 提供的编程环境下,通过终端命令从零到一写 4 个网页小游戏,并合并搭建出一个 “ 类 4399 ” 的小游戏网站。

虽然在网页端和 Cursor 端,都是写 HTML/CSS/JavaScript,但网页端偏重一次性的快速实验,不具备自主规划、细致的代码修复、文件生成与操作、shell 命令执行和调试、调用 Claude Code 工具集( 专为编程设置 )等能力,更别提多层次的项目合并操作,只是几个本地文件夹操作的事情,对于网页端却极其困难,而这些通过上述方案就能实现。虽然编码能力和响应速度相比 Claude 自己的模型还是差一些,但 K2 便宜啊!( 搭建方法已放在文末参考资料里 )

在搭建完环境之后,知危的 “ 类 4399 ” 项目就要开干了。

知危从编码难度的维度,分别选了 4 个经典的小游戏,从易到难分别是《 Flappy Bird 》、《 Dino Run 》、《 2048 》、《 植物大战僵尸 》。

令人惊讶的是,前面 3 个小游戏,K2 都一次性把基础逻辑实现了。

《 Flappy Bird 》大概花了 5 分钟的时间开发。开发期间,K2 会利用 Claude Code 的工具集进行自主规划,列出一个 todo list:

创建具备基础结构的HTML文件;

为游戏元素实现CSS风格化;

创建JavaScript游戏逻辑;

测试游戏功能;

然后按顺序一步一步实现这个 todo list,每实现一步就更新一下 todo list 的状态,算是 agentic coding 的基操了。最后,K2 会使用 Bash 脚本对游戏进行测试。

500

来看看成果如何。包括小鸟的行为逻辑、关卡的设置、得分的逻辑、游戏结束的逻辑,可以说基本符合原作,更不用说小鸟自由落体给小白玩家、手残党带来的极大难度。

500

在文件操作方面,Cursor 也帮知危在本地生成了相应的 HTML、CSS、JavaScript 文件,一个不落下,后续想玩只需要本地打开 index.html 文件即可。

500

《 Dino Run 》因为关卡设置更为复杂( 加入了仙人掌、飞鸟等障碍元素 ),开发上也稍微更难一些,大概花费了 15 分钟来开发。

开发到最后测试成功后,K2 还贴心地进行了游戏体验的优化,比如基于帧变化来增加分数,使分数增长更平滑,并增加了移动的地平线效果。

500

来看看成果如何。虽然恐龙像个偷跑的垃圾桶,但飞鸟、仙人掌以及背景的视觉还是设计的不错的,而且恐龙得分的基本逻辑、环境陷阱的基本逻辑、游戏结束的逻辑,都是没有问题的。

500

《 2048 》的开发相对更困难一些,涉及到更复杂的键盘操作和状态变化,所以规划的执行步骤也更多,大概也花费了 15 分钟的时间,和《 Dino Run 》接近。

500

来看看成果如何。最重要的方块移动后的数字合并逻辑实现了,连配色都和经典版本几乎是一样的,也提供了最高分展示来激励玩家,并能随时重置。

500

然后,终于来到了真正的重头戏,开发《 植物大战僵尸 》。

前面只是测试了 K2 在 agentic coding 上的单次尝试能力,并且这三个游戏都是比较经典的,被测试过很多次。真正能考验 agentic coding 的,还是在较复杂场景中,多次尝试、多次探索,并保持逻辑一致性的能力。

《 植物大战僵尸 》因为游戏元素和交互逻辑较为复杂多样,所以难度大得多。

我们先提一个简单的命令:

你是一个经验丰富的前端游戏开发专家,请从零为我构建一个可在浏览器运行的《 植物大战僵尸 》网页小游戏。

K2 构建了下图中的 todo list,从中可以看出 K2 强调了基本元素的构建比如植物类和僵尸类,以及交互系统比如子弹、碰撞检测等,以及元素收集系统,是其中的重点。

500

第一版写的挺快的,还不到 15 分钟,大概 13 分钟左右就写完了。K2 设置了三种经典植物( 向日葵、豌豆射手、坚果墙 )和一种经典僵尸,与原作的配置是一致的。

500

但可惜的是,这次 K2 没有一次成功,而是出现了很严重的 Bug。游戏刚开始,还没见到僵尸,很快就判定游戏结束:你的花园被僵尸入侵了。但我连僵尸的影子都没见到,难道是僵尸飞得太快了?还是僵尸掘地三尺挖过去的?

500

为了修复这个问题,我向 K2 提了以下问题:

500

修复后能看到僵尸了,结果发现僵尸速度真的飞快,并且重置游戏后植物能消失,但僵尸不会消失。游戏结束判定逻辑也有问题。

500

所以我继续向K2提修改需求:

500

修复中有一个很重要的参数修改,就是僵尸的移动速度。其实 K2 帮我找到这些参数之后,后续手动调试也会变得容易。

500

K2 还补充了大量代码用于游戏重置。

500

并修复了游戏结束判定逻辑。

500

你以为这样就结束了吗?僵尸速度还是飞快。从右上角也可以看到有一个数值在不正常地增长,就是“第X波”这个数值,在僵尸速度设置中,这个数值的增加能使得僵尸的速度也增加。

500

我先手动取消了这个关联,然后尝试修复 “ 第X波 ” 的逻辑错误。

这中间出现了一个很有趣的提示,Claude Code 提示我已经花费了 5 美元,但实际上这是 Claude Code 假设我使用的是 Claude 的模型计算出来的,我这时查看了 Moonshot AI 开放平台的计费统计,发现实际花费还不到 5 人民币。

500

尝试修复 “ 第X波 ” 多次没有成功,包括考虑交互历史太长可能超出 K2 上下文长度,所以尝试重启对话,也告失败。

最后我索性简化了 “ 第X波 ” 的逻辑,改成了 “ 就1波 ”,游戏开始后就直接出现 30 个僵尸,全部击杀完就胜利。这期间也顺便让 K2 修复了僵尸位置没有跟网格对齐的问题,坚果墙不能阻挡僵尸前进的问题,僵尸攻击的距离判定问题,豌豆射手的豌豆颜色问题等等。

可以说,这个版本已经是较为完善的游戏了。

但这个版本测试下来发现,目前的游戏数值设计是非常不平衡的,过于简单。具体来说就是,向日葵阳光更新太快,豌豆射手攻击力太强,而僵尸移动太慢,血也不够厚,基本上能快速凑齐每排一个豌豆射手就是稳赢的,坚果墙都没有发挥的余地。

500

借着这个机会,我又测试了 K2 的游戏数值设计能力,因为这个能力其实需要深度结合人类玩家的真实体验,而且不同经验、偏好、级别的玩家,看法都不同,所以是有较大难度的。

K2 确实发现了僵尸过于 “ 脆皮 ” 的问题,并认为僵尸移动速度过慢会使得游戏进程太长,只是时长超过 10 分钟这个预估太离谱,通常僵尸走完全程大概 2-4 分钟,游戏时长也会在这个范围内。而且,K2 还认为向日葵产出过低,这个估计也与我的真实体验相悖。

其它方面,包括植物成本、坚果墙生命力、碰撞检测阈值等方面的评估还是比较合理的。

500

500

500

我基于个人经验和 K2 的建议,最终只手动修改了两处,一是将僵尸速度提高为原来的 2 倍,一是将僵尸的生命值提升为原来的 4 倍。因为其实只要打僵尸难度增大了,植物太强的问题就能解决。

测试下来发现,一顿手忙脚乱操作之后,即便能顺利种满一列向日葵,一列豌豆射手,并随时补充坚果墙,还是扛不住僵尸大军压境。

个人觉得,这个难度刚刚好,有再次挑战的价值。

好了,《 植物大战僵尸 》就开发到这里,接下来是收尾工作 —— 将四个小游戏整合到一个网站里,为避免上下文过长,需要重启一个对话。

K2 给文件结构加了一个层级。

500

它还贴心地增加了一个 README 文档,为项目开源都给铺平了道路。

500

500

游戏网站也设计出来了,来看看网页效果。基本游戏展示功能是没有问题的,甚至有一些动效,也能正常点进游戏和游玩,就是游戏画面不能显示完全。

500

针对这个问题,跟 K2 对话了好多轮都没解决,甚至问 Claude 4 Sonnet 也没解决,最后作罢。

但从某种程度上,K2 确实帮我搭建好了一个 “ 类 4399 ” 网站。

测评结束!

总体而言,Kimi K2 模型在一次代码生成和单次尝试的 agentic coding 方面,不仅基本功扎实,也带来了很多惊喜,实用性是很强的。

而在深度交互的 agentic coding 方面,K2 成功的例子和失败的例子都不少,但总体来说还是能带来较大收益的。

实际上,要在 AI 辅助下的编程中提高项目的成功率,用户自己的思考和判断也是必不可少的。

比如什么时候应该让模型解决,什么时候应该手动解决,什么时候只让模型分析而不动手修改,什么时候简化方案,甚至去外部询问其它大模型等等。而且,项目后续推进很大程度是卡在细节上,这种情况下,用户自己的编码专业水平越高,能从 K2 得到的收益就越高。知危由于几乎全程都是 vibe coding,所以项目完成度并不高。

即便是 agentic coding,AI 扮演的最佳角色仍然是辅助工具和效率利器,而不是完全的主导者。

最后,知危不得不惊叹于 Kimi K2 的成本优势,在用 Cursor 做了 5 个网页之后,耗费的成本只有不到 17 元人民币,要知道这其中还包括了新用户赠送的 15 元人民币,也就是说实际真正要花的钱只有 2 元。

Kimi K2 如此低成本,除了模型本身的 token 便宜,可能有一部分要归功于Context Caching 的能力,在下图中可以看到,在消耗成本的组成中,Context Caching 的占比比模型推理大多了。

500

最后的最后,知危觉得 K2 使用 emoji 符号来表现僵尸和豌豆射手有些太丑了,也少了那么一点感觉,所以就找了僵尸和豌豆射手的 png 图,放到项目文件夹里,让 K2 帮忙修改一下逻辑。

结果,一次成了。

500

总之,很强,无需再多言。

站务

全部专栏