第一次为大模型付费

张晓雷 2026年2月17日

前一段时间无意中听说kimi现在不错,于是试了一下,作为功能测试,写了一个发”吃什么“的轮盘小游戏。同一时间相同的提示词,在豆包、千问、Gemini还有kimi上试验,豆包和千问的水平相似,完成度非常一般,连转盘都画不明白。Gemini 的完成度最好,但是功能比较简陋,特别是用 canvas 绘制的转盘,非常的粗糙,让我想起了 canvas 绘制线段时容易虚的问题。kimi的表现最为惊艳,虽然在细节上存在一点问题,但主要功能实现的非常完善,特别是轮盘,相比 canvas 的草稿质感,精致特别多,再一个功能上更加完备,似乎kimi在接到提示词以后,充分地思考了做的东西,于是功能做得可以说超出预期(可能是恰好训练压重题目了)。

然后又发现 kimi code cli(kcc),听说和 cc 类似,我没用过 cc,但听说过这个工具的强大,于是抱着试试看的心态,充了4.9元,试用了一下 kcc。我充值的一个原因,是想看看国产的大模型编程工具现在到了什么水平,刚好可以把我学编程时写的这个网站重构一下。我尝试过两次重构,就是把原来纯用 node.js 写的网站(包括博客和五子棋对战),改成更规范的一般网站架构,比如 Express.js。

因为很长时间不折腾代码,再加上在这些事情上逐渐没有耐心,前两次都半途而废。特别是第二次,想借助豆包的 trae,但试了一下放弃了。

第三次,也就是这一次,直接用了 kimi code cli,直接把 3000+ 的一坨源代码丢给它,告诉他需求,它又问了几个问题,然后吭哧吭哧自己开始开干,等搞完以后,看了一下写的代码,觉得有戏。不过几轮下来,token告急了,半天时间把一周才刷新的用量用完了。于是果断充值了49元,还一度在纠结要不要充个99或者199的,因为春节,也没啥事儿。

不过,好在没冲,因为后来我了解了一些 cc 的使用方法,了解了上下文对 token的消耗,以及可以通过 vscode 的 kimi code 插件,通过把问题定位到文件,来节省 token,这样49元的套餐完全够用了。

可以说,如果过去的大模型给我的感觉终究是个玩具的话,那么 kimi code 给我的感觉是它真的可以做事情。kimi2.5 不是一个非常聪明的模型,可能没办法创造性的解决问题,但理解能力和执行力是绝对到位,你只需要把问题描述出来,它就能做。

它在收到用户的要求以后,能理解用户描述的问题,并将问题结构化,进而给出解决对策。

下边是一段提示词:

下面是我写的一段简化博客设计的备忘,你以此给出一个任务计划,先不要执行。

简化博客系统的设计: 过去采用的数据库+模板和本地文件双轨制,管理员登陆,访问的是数据库+模板,用户访问,访问的是本地文件。从用这种设计的初衷是,外部用户访问时,省区了数据库+模板渲染的环节。但缺点也很明显——整个系统过于复杂,且无必要。 在这套系统下,创建一篇新的日志,程序会同时写入数据库,同时还利用模板生成一篇新的本地日志。当修改日志时,同样是写入数据库,再重新生成一个本地文件。 我希望简化这种设计,直接采用数据库+模板的设计,去掉本地文件。同时,要保留原来的地址访问模式”/blog/2024/2/b000012.html。

好在在article数据表里(参考  ),blog_path就是博客的访问地址,所以路由接到用户的访问地址,直接用这个地址查询数据即可。同时,创建日志的时候,也要根据原来的规则,生成一个blog_path地址,写入数据表。

kimi code  第一轮的 thinking 内容:

用户想要简化一个博客系统的设计。让我先理解一下当前的系统:

当前系统:双轨制

管理员访问:数据库 + 模板
用户访问:本地文件
创建日志:同时写入数据库 + 生成本地文件
修改日志:更新数据库 + 重新生成本地文件
目标系统:简化设计

只用数据库 + 模板
去掉本地文件
保留原有的URL访问模式:/blog/2024/2/b000012.html
使用 blog_path 字段来查询和存储访问地址
用户要求我先给出一个任务计划,不要执行。我需要先查看一下项目结构和相关文件,了解当前的实现方式,然后制定一个合理的迁移计划。

让我先看看 data-format.txt 来了解数据结构,以及项目的整体结构。

完成任务总结:

## 任务完成总结

博客系统简化改造已全部完成,从 **数据库+模板/本地文件双轨制** 简化为 **纯数据库+模板渲染**。

### 主要修改

| 文件 | 修改内容 |
|-----|---------|
| `server.js` | `/blog/*` 路由改为直接用 `blog_path` 查询数据库渲染模板,去掉静态文件读取逻辑 |
| `controllers/blogController.js` | 去掉 `fs` 和 `path` 导入;`getIndex()` 和 `getArticle()` 统一使用实时渲染;修复 `getArticleByPath` 调用错误 |
| `services/blogService.js` | 去掉 `fs` 导入;移除 `initBlogDirectory()` 方法;`createArticle()` 不再生成静态文件;`updateArticle()` 不再重写文件;`deleteArticle()` 不再移动文件;`regenerateBlogIndex()` 改为 `renderBlogIndex()` 仅用于实时渲染 |

### 保留的功能
- ✅ `blog_path` 格式保持不变(`blog/2024/2/b000012.html`)
- ✅ URL 访问模式保持不变(`/blog/2024/2/b000012.html`)
- ✅ 模板渲染逻辑不变
- ✅ 管理员/游客模式区分不变

### 移除的功能
- ❌ 静态文件生成(`static/blog/` 目录不再使用)
- ❌ 本地文件读取
- ❌ 删除文章时移动到 `delete_blog` 目录

服务器启动测试通过,代码语法检查无错误。现在创建、更新、删除文章都只对数据库操作,所有访问都通过数据库查询 + EJS 模板实时渲染。