AtomGit 首发!双模型 PK 赛:我用 GLM-5 和 Qwen3.5 一句话生成游戏,谁更强?

AtomGit 首发!双模型 PK 赛:我用 GLM-5 和 Qwen3.5 一句话生成游戏,谁更强?
在这里插入图片描述
活动入口AtomGit 首发模型体验活动
在这里插入图片描述

一、项目背景

春节期间,AtomGit AI 社区首发上线了多款开源大模型,包括 GLM-5、Qwen3.5、DeepSeek 等,覆盖文本生成、代码开发、多模态等多个领域。

作为一个喜欢折腾的开发者,我萌生了一个想法:能不能用 AI 双模型并行生成游戏,让用户对比投票选择最佳版本?

这个想法的核心价值:

  • 横向对比:两个模型同台竞技,优劣一目了然
  • 效率翻倍:一次请求,获得两个版本的代码
  • 用户参与:投票机制增加趣味性和互动性

二、用 GLM-5 生成项目原型

我直接在 AtomGit 平台上问 GLM-5,让它帮我搭个项目骨架:

我的提问

请生成一个完整的"一句话生成游戏对比工具"项目代码。 前端Vue3,后端Fastify。 用户输入游戏描述,后端同时调用GLM-5(zai-org/GLM-5)和Qwen3.5(vLLM_Ascend/Qwen3.5)生成HTML游戏, 并排展示在iframe中,左右分别显示两个模型的游戏,每个游戏下方有点赞按钮,底部显示历史记录。 API地址: https://api-ai.gitcode.com/v1 体验密钥从atomgit官方免费获取。 输出前后端完整代码。 
在这里插入图片描述

GLM-5 给了完整的前后端代码,我在这基础上改了改:

  • 加了缓存,不然每次都调 API 太慢了
  • 优化了下界面,改成左右双栏
  • 用 iframe 沙箱隔离,防止生成奇怪的代码
  • 加了错误处理,体验好一点

项目就这么跑起来了。

在这里插入图片描述

三、项目介绍

3.1 怎么玩

输入游戏描述

双模型并行生成

GLM-5 生成游戏A

Qwen3.5 生成游戏B

并排展示

用户投票选择

操作很简单:

  1. 输入你想玩的游戏(比如"打地鼠")
  2. 两个模型同时生成
  3. 左右对比看效果,觉得哪个好就投一票
在这里插入图片描述

3.2 技术架构

AI 模型

后端 (Fastify)

前端 (Vue3 + Vite)

输入组件

游戏预览

投票组件

API 路由

模型调用服务

缓存服务

GLM-5

Qwen3.5

技术栈

层级技术说明
前端Vue 3 + Vite响应式框架 + 构建工具
后端Fastify高性能 Node.js 框架
AIGLM-5 / Qwen3.5通过 GitCode API 调用
安全iframe sandbox沙箱隔离,防止恶意代码

3.3 项目结构

ai-game-generator/ ├── client/ # 前端 │ ├── src/ │ │ ├── App.vue # 主组件 │ │ └── main.js │ └── vite.config.js ├── server/ # 后端 │ ├── src/ │ │ ├── config.js # 模型配置 │ │ ├── index.js # 入口文件 │ │ ├── routes/ │ │ │ └── generate.js │ │ └── services/ │ │ ├── model.js # API 调用 │ │ └── cache.js # 缓存服务 │ └── package.json └── .env.example # 环境变量模板

四、核心实现

4.1 提示词

想让模型生成能直接跑的游戏,提示词挺关键的。我试了几版,最后定型是这样的:

constGAME_PROMPT_TEMPLATE=`你是一个HTML小游戏生成引擎。 严格要求: 1. 只输出完整HTML文档 2. 必须包含 <!DOCTYPE html> 3. 内嵌 CSS 4. 内嵌 JS 5. 不允许 Markdown 6. 不允许解释 7. 不允许外链资源 8. 代码必须可直接运行 9. 游戏必须有交互逻辑 用户需求: {userPrompt}`;

主要就几点:

  • 明确告诉它是"游戏生成引擎"
  • 禁止输出废话(Markdown、解释)
  • 要求单文件,复制就能跑

4.2 双模型并行调用

Qwen3.5GLM-5后端前端用户Qwen3.5GLM-5后端前端用户输入游戏描述POST /generate并行请求并行请求返回游戏A返回游戏B{ modelA, modelB }并排展示

// server/src/services/model.jsasyncfunctioncallGitCodeAPI(prompt, modelConfig){const response =awaitfetch(`${config.gitcode.baseUrl}/chat/completions`,{method:'POST',headers:{'Content-Type':'application/json','Authorization':`Bearer ${config.gitcode.apiKey}`},body:JSON.stringify({model: modelConfig.model,messages:[{role:'user',content: systemPrompt }],stream:false,max_tokens: modelConfig.maxTokens,temperature:0.6})});returnextractHtml(await response.json());}// 双模型并发exportasyncfunctioncallModels(prompt){const[resultA, resultB]=await Promise.all([callGLM(prompt),callQwen(prompt)]);return{modelA: resultA,modelB: resultB };}

4.3 缓存加速

// 内存缓存 + 文件缓存,24小时过期const memoryCache =newMap();constCACHE_TTL=24*60*60*1000;

缓存策略

命中

未命中

命中

未命中

收到请求

内存缓存?

直接返回

文件缓存?

加载到内存

调用API

保存缓存

缓存层响应时间持久性
内存<1ms进程重启丢失
文件~10ms24小时有效

4.4 安全沙箱

<iframe:srcdoc="modelA?.html"sandbox="allow-scripts allow-popups allow-forms"></iframe>

沙箱权限说明

权限说明
allow-scripts允许执行 JavaScript
allow-popups允许弹窗
allow-forms允许表单提交

即使生成恶意代码,也被限制在沙箱内,无法访问父页面或执行危险操作。

五、模型对比评测

公平性说明:两个模型统一使用 maxTokens: 4096 参数,确保公平对比。

5.1 综合评分

维度GLM-5Qwen3.5
代码结构⭐⭐⭐⭐⭐⭐⭐⭐⭐
创意程度⭐⭐⭐⭐⭐⭐⭐⭐⭐
完整性⭐⭐⭐⭐⭐⭐⭐⭐
简洁度⭐⭐⭐⭐⭐⭐⭐⭐⭐

5.2 实测对比

俄罗斯方块对比

在这里插入图片描述
维度GLM-5Qwen3.5
界面信息分数/等级/预览/控制提示基础布局
代码行数~400行~250行
可维护性高,结构清晰中,适合二次开发

打地鼠对比

在这里插入图片描述
维度GLM-5Qwen3.5
视觉主题统一,有氛围感简洁,偏功能导向
交互反馈地鼠形象ok,敲打地鼠联动动画流畅地鼠形象因为生成失败,动画效果不明显,游戏体验不好
游戏体验完整,可直接使用需补齐素材/动画

5.3 选择建议

完整度/可维护性

创意点子/快速原型

你的需求

追求什么?

GLM-5

Qwen3.5

✅ 适合生产项目

✅ 适合探索验证

5.4 遇到的问题

问题原因解决方案
代码截断token 限制提示词精简 + 引导生成精简代码
输出污染模型输出 Markdown后处理正则清洗标记
响应时间长API 调用耗时缓存机制 + 加载动画

六、项目亮点

亮点说明
🎮 双模型并行一个请求,两个结果,对比直观
⚡ 即时可玩生成 HTML 直接运行,无需编译
🗳️ 投票互动增加趣味性和用户参与感
🔒 安全沙箱iframe 隔离,保障安全
💾 智能缓存节省成本,毫秒级响应

七、部署指南

# 1. 克隆项目git clone https://atomgit.com/u013737132/ai-game-generator cd ai-game-generator # 2. 配置环境变量cp .env.example .env # 编辑 .env,填入 GitCode API Key# 3. 安装依赖并启动npminstallnpm run dev 

环境变量配置

# GitCode API 配置GITCODE_API_KEY=your_api_key_here GITCODE_BASE_URL=https://api-ai.gitcode.com/v1 # 服务端口PORT=3000

访问 http://localhost:5173 即可体验!

八、结语

这次使用 AtomGit 首发模型的体验非常棒!GLM-5 和 Qwen3.5 都展现出了强大的代码生成能力。

模型适合场景推荐指数
GLM-5追求完整性和规范性,适合稳定项目⭐⭐⭐⭐⭐
Qwen3.5追求创意和灵活性,适合快速原型⭐⭐⭐⭐

如果你也对 AI 编程感兴趣,强烈推荐来 AtomGit 体验这些首发模型!


项目地址https://atomgit.com/u013737132/ai-game-generator

活动入口AtomGit 首发模型体验活动

Read more

模板编译期排序算法

1、非修改序列算法 这些算法不会改变它们所操作的容器中的元素。 1.1 find 和 find_if * find(begin, end, value):查找第一个等于 value 的元素,返回迭代器(未找到返回 end)。 * find_if(begin, end, predicate):查找第一个满足谓词的元素。 * find_end(begin, end, sub_begin, sub_end):查找子序列最后一次出现的位置。 vector<int> nums = {1, 3, 5, 7, 9}; // 查找值为5的元素 auto it = find(nums.begin(

By Ne0inhk
算法卷一:起行

算法卷一:起行

今天是学Python算法的第1天,第一卷:起行。 目录 题引 序言 章一:悟透韬略——概念 章二:洞晓玄机——特性 1.输入 2.输出 3.有穷性 4.确定性 5.可行性 章三:优胜劣汰——优化 章四:统一度量衡——时间复杂度 1.引入 2.定义 3.大O记法 4.时间复杂度分类 5.几条基本计算规则 6.计算 7.常见的时间复杂度 章五:如虎添翼——timeit模块 章六:实例:Python中列表类型不同操作的时间效率 章七:列表和字典操作的时间复杂度

By Ne0inhk
HDFS元数据深度解析:存储位置、持久化机制与一致性保障

HDFS元数据深度解析:存储位置、持久化机制与一致性保障

HDFS元数据深度解析:存储位置、持久化机制与一致性保障 * 引言 * 一、元数据概述:HDFS的"大脑" * 1.1 什么是元数据? * 1.2 元数据的存储形式 * 二、元数据的存储位置 * 2.1 存储路径配置 * 2.2 目录结构解析 * 三、元数据的持久化机制:FsImage与EditLog * 3.1 核心设计思想 * 3.2 工作原理流程图 * 3.3 写入流程详解 * 3.4 检查点机制:合并FsImage和EditLog * 触发条件 * 合并流程 * 3.5 启动恢复流程 * 四、元数据一致性的保障机制 * 4.1 多级一致性保障

By Ne0inhk