
把 K3、Fable5、GLM5.2、Hy3 这四款大模型放到同一个页游开发项目里做横评是我最近半个月做得最多的一件事。很多人选大模型只看跑分和排行榜但真正动手做页面游戏时响应速度、代码质量、上下文保持和多轮修改能力才是决定你能不能按时交付的关键。这篇横评不做抽象能力排行而是围绕一个具体目标用同一套需求让四款模型分别完成页游开发中的页面生成、玩法逻辑、接口联调和报错修复最后给出选型建议。如果你正准备用大模型辅助做网页游戏或者团队在纠结该把哪款模型接到内部工具里这篇应该能帮你省掉不少对比时间。先说清楚这里所有结论都来自我自己的实测环境带有明显主观判断不代表官方能力声明也不构成绝对选型依据。1. 评测先定标准页游开发到底考模型哪些能力1.1 为什么选页游做横评场景网页游戏是一个特别适合做大模型对比的测试场景。它不像普通管理系统那样只有增删改查也不像博客系统那样以静态展示为主。一个稍微完整的页游至少要包含页面结构、交互事件、玩法逻辑、状态管理、数据存储和接口联调。这些环节对模型的代码生成能力、逻辑推理能力、上下文理解能力和多轮修改稳定性都有不同要求。更关键的是页游开发是一个“高频改动”的过程。需求经常会变数值要调、技能要改、界面要换、接口要对接。模型的真实价值不只是一次性生成多少代码而是面对需求变更时能不能既快又不改坏其他功能。我用四款模型分别做了同一个页游小项目的开发测试项目复杂度控制在个人开发者一周内能完成的水平角色面板、技能系统、怪物区域、战斗逻辑、战斗日志、本地存储和模拟接口。这个规模既不会因为太简单而看不出差异也不会因为太大而难以控制变量。1.2 我用来判断的四项核心指标第一项是单次生成完整度。给模型一段需求描述看它第一次返回的代码能不能直接打开、直接跑还是需要反复追问修正。这一项直接影响使用效率。第二项是多轮修改稳定性。页游开发中需求必然变化我会在生成完第一版后连续提出几个修改需求看模型能不能在已有代码基础上局部改动而不是把整个文件重写一遍或者改着改着把原来的功能改没了。第三项是逻辑正确性。页面好看只是第一步战斗计算、技能冷却、胜负判定这些逻辑错了游戏根本没法玩。我会重点检查边界条件、重复操作和异常输入。第四项是代码可维护性。变量命名、函数拆分、注释习惯、代码风格是否一致决定你拿到代码后能不能自己接手维护。这一点在长期项目里比一次性生成速度更重要。1.3 测试环境和提示词设计测试环境是同一台开发机浏览器用 Chrome没有任何额外插件所有代码都在本地运行。四款模型使用同一个需求文档提示词模板完全一致只替换模型名称。所有生成结果我都单独保存方便回来对比。提示词模板是这样的结构先说明项目目标再列出功能清单然后给出界面布局要求最后指定技术栈和交付格式。我特别在提示词里要求模型“先输出代码再简要说明设计思路”这样既能判断代码质量也能看出模型对自己生成内容的理解程度。注意评测结果和提示词写法强相关。如果你直接用不同的提示词模板四款模型的表现排序可能发生变化。这里的结论只对这套测试模板负责。2. 第一轮从零生成完整页面四款模型的表现差异2.1 K3页面骨架稳但样式细节需要追问K3 在第一轮的表现是“稳”。它生成的页面结构完整HTML 语义化不错CSS 基础样式也很规范区块划分清晰角色面板、技能栏、怪物区域、战斗日志四个模块都能按要求一次性给出来。但问题也很明显样式偏朴素。如果不额外追加“美化、加动效、调整布局”这类需求第一版页面看起来就是一个没有装饰的原型。游戏类项目对视觉表现要求比管理后台高这一项上 K3 需要多轮打磨才能到可展示状态。从工程角度看K3 的代码结构最适合二次开发。它会把脚本和数据定义拆开函数命名也够清楚你拿到的第一版不是一坨只能看的 HTML而是真的可以往上叠功能的骨架。2.2 Fable5前端结构完整组件拆分思路清晰Fable5 给我印象最深的是组件拆分意识。同样是一个页游主界面它会自然地把角色信息、技能列表、战斗区域拆成独立函数或独立模块甚至在纯 HTML 文件里也保留清晰的区域注释。这种做法的好处是后面改需求时很舒服。你要改技能栏只需要定位到技能栏对应的代码块不用在几千行代码里翻找。对想长期维护页游项目的人来说这个优势比页面“一眼好看”更重要。Fable5 第一版页面同样不算花哨但它对 CSS 类和 ID 的命名更统一整体代码风格偏工程化。如果你有代码洁癖看到 Fable5 生成的代码会舒服很多。2.3 GLM5.2单文件输出能力强长代码连贯性好GLM5.2 在单次生成完整度上表现靠前。同样一个页游主界面它能一次性输出一个相对完整、打开就能看到效果的单文件。HTML、CSS、JavaScript 混在一个文件里但结构不乱。它的长代码连贯性比较突出。很多模型在输出超过 300 行代码后后半段会出现组件缺失、状态变量突然没定义、函数名前后不一致这类问题。GLM5.2 在这轮测试中代码前后一致性较好战斗日志区域的动态渲染逻辑和前面定义的变量能对得上。不过它也有一些小毛病生成的脚本注释偏少个别地方用了比较隐晦的写法。如果你不是第一次接触这份代码理解起来需要花一点时间。2.4 Hy3代码风格更克制需要多轮修正Hy3 第一轮代码的风格是“克制”。它不会一上来就铺一个大而全的页面而是更倾向先把核心功能做得能用视觉和交互细节放在后面。这个特点有利有弊。如果你希望模型像美术一样直接输出炫酷页面Hy3 很可能让你失望。但如果你更重视功能正确性它会先把角色显示、技能点击、日志追加这类核心流程写完整再让你逐步追加视觉要求。我在测试中发现Hy3 对“逐步细化”的响应不错。第一版朴素没有关系你提出“增加技能冷却进度条”“怪物区域加血条动画”之后它能比较准确地定位到对应代码修改而不是把整个页面重写。这在实际开发中反而是更珍贵的品质。2.5 第一轮对比结果怎么看只看第一轮四款模型的差距没有想象中大。除了 Hy3 明显偏保守其他三款都能在给定需求下输出一个可以运行的页面。真正的差异出现在两个地方一是代码结构是否方便后续修改二是追加视觉需求时是局部改还是整体重写。我把代码结构质量排了个序Fable5 最佳K3 次之GLM5.2 居中Hy3 第一版结构最简单但容易扩展。这个顺序不是最终结论因为第二轮加入玩法逻辑后排序会发生明显变化。我建议你在实际使用时不要只看第一版效果。可以先让模型输出一个你能跑通的最小版本然后连续提三个修改需求观察它是局部修改还是全部重来。这个测试方法比一次性生成完整页面更容易暴露真实能力。3. 第二轮核心玩法逻辑才是页游开发的真正分水岭3.1 我用同一个需求验证逻辑能力第二轮我让四款模型实现一套回合制战斗逻辑玩家攻击怪物、怪物反击、技能有冷却时间、血量到零后判定胜负最后把整场战斗过程写入日志。这是一个典型的中间复杂度逻辑既要有数据计算也要有状态流转还要处理重复点击和边界情况。测试方法还是同一套需求模板只改模型名称。我会先让模型生成完整战斗系统然后连续提出几个修改需求增加暴击概率、加入技能消耗、调整怪物反击规则、增加战斗结束后的重新开始按钮。每一步都观察模型能不能在原有代码上精准修改。3.2 状态管理和事件循环的实现差异K3 在状态管理上表现最稳。它会用一个全局对象保存角色血量、技能冷却、战斗状态所有函数都围绕这个状态对象操作。好处是逻辑清晰排查问题方便。你给我一个报错我能很快定位到是哪个函数改了状态。GLM5.2 倾向于把状态变量分散在局部作用域这在小型逻辑里没问题但涉及多个技能、多个怪物时变量之间的相互影响会更复杂。它生成的逻辑能跑但代码评审时需要更仔细。Hy3 对事件循环的处理比较注意。它会主动避免按钮重复点击导致战斗逻辑重复执行在点击事件入口加了状态锁。这个细节很多模型不会主动处理但在页游里非常关键——玩家连点技能按钮不能让战斗循环触发十次。Fable5 的抽象能力最强。它会封装一个战斗流程函数把攻击、伤害计算、胜负判断拆成独立方法。这种代码在前期开发时可能要写更多行但后续加新技能、新怪物时扩展成本最低。3.3 数值计算和边界条件谁处理得更干净这一轮我专门测了三个边界条件角色血量降为负数时是否会被纠正为 0、技能冷却时间在极端情况下是否会变成负数、怪物血量为 0 后是否还能继续被攻击。K3 在这三个测试点全部通过而且没有出现逻辑冲突。它在每次伤害计算后都会主动做边界校验代码里能看到明确的Math.max(0, currentHp)这类保护写法。GLM5.2 主体逻辑正确但在“怪物死亡后仍然可以选中攻击”这个场景上需要我追加一句“怪物死亡后需要置灰或移除点击事件”才修复。第一版代码里没有主动处理这个状态。Fable5 对边界条件的处理也不错尤其擅长把“怪物是否存活”作为独立判断条件嵌入攻击逻辑从设计上避免死掉怪物还能被攻击的问题。Hy3 在三项边界测试中表现中等。它能正确处理血量归零但技能冷却的计时逻辑用了相对复杂的写法在小样本测试中没发现问题放到更长战斗流程里是否稳定还需要更多验证。3.4 逻辑复杂度上来后谁的上下文保持更好这是整轮横评中最能拉开差距的一项。我会在完成第一版逻辑后连续追加 5 个修改需求每个需求之间不重新描述整个项目背景只说明“在上一版基础上修改”。K3 的上下文保持最好。五轮修改之后它没有忘记前面定的技能规则也没有把已经写好的暴击逻辑改乱。它的代码结构让每一轮修改都落在明确的位置。GLM5.2 前四轮修改都很稳定但第五轮让它新增“战斗中不能切换技能”的规则时把原有冷却逻辑重写了一段产生了两个计时器并存的隐患。我检查后手动清理了冗余代码。Fable5 在这个环节最稳定。因为它一开始就把逻辑模块化追加新规则只需要增加一个条件判断不需要改动核心战斗流程。五轮修改后代码的可读性仍然很高。Hy3 的问题在于它每轮都会把相关函数整体重写一遍。虽然逻辑正确但改动范围偏大容易引入回归问题。我在第五轮修改后特别做了回归测试发现重新开始按钮的状态重置逻辑被新代码覆盖掉了。建议如果你准备用模型辅助开发游戏逻辑尽量在初始提示词里就要求“把核心状态封装成独立结构函数尽量拆分”。这个要求能显著提升模型在多轮修改中的稳定性。4. 第三轮接口联调、数据 Mock 和异步处理4.1 模拟后端接口时的代码生成质量页游不可能只有前端玩家数据、排行榜、存档这些功能都需要接口。为了控制测试变量我不实际搭建后端而是让模型生成一个本地 Mock 接口来模拟网络请求。这个环节重点看三件事模型能不能生成规范的异步代码、能不能模拟延迟和异常、返回的数据结构是否和前端逻辑匹配。Fable5 在接口封装上最接近真实工程实践。它会主动用一个request函数封装fetch统一处理错误和超时前端调用时只需要传入接口地址和参数。K3 生成的 Mock 代码也很规范但更倾向于直接在组件内写异步逻辑没有单独抽离请求层。在小型项目里没关系但如果后续接口数量增多这种写法会变得臃肿。GLM5.2 对异步流程的理解扎实async/await用得很标准错误捕获也完整。不过它生成的 Mock 数据结构相对简单对嵌套数据的模拟不够充分。Hy3 生成的 Mock 代码稳定性不错但风格偏保守使用了较传统的Promise.then链式写法。代码能跑但与周围新代码风格不太统一。4.2 异步错误处理和超时机制这个维度直接考察模型对真实网络环境的预判。一个成熟的接口层不能假设请求一定成功。K3 和 Fable5 都会主动生成超时控制逻辑比如用AbortController或Promise.race处理请求超时。它们生成的错误提示也更具体不只是console.log一下而是会在页面上给用户可见的提示。GLM5.2 的错误处理集中在catch块里代码正确但没有把错误状态同步到界面上的意识。你需要额外追加需求它才会把“接口失败后页面上显示失败提示”补上。Hy3 在错误处理上最保守第一版代码居然只用了alert提示错误。对于演示项目来说够用但这是页游频繁alert会直接打断玩家操作。4.3 数据结构和命名一致性这一项决定了前端代码和接口数据能不能顺利对上。很多模型在生成前端时会假定某个字段名生成接口时又用了另一个字段名导致联调阶段才能发现问题。K3 在前后端数据字段命名上保持了较高一致性。它会先用一个数据结构定义文档再基于这个结构同时生成 Mock 数据和前端渲染逻辑。GLM5.2 在单份文件里一致性好但当你要求它把接口拆成独立模块时字段命名偶尔会有出入。我在测试中遇到一个小问题前端写成playerName接口返回的却是name需要手动修正。Fable5 的字段命名跟项目业务结合最紧它会根据实际含义命名比如playerHp、monsterId可读性和一致性都很好。Hy3 的命名整体统一但存在精简过度的倾向比如用hp、mp、cd这类缩写对熟悉业务的人来说没问题但新接手的人需要额外理解成本。5. 第四轮报错修复和需求变更实战中最耗时的环节5.1 给模型一段报错信息看它如何定位我故意在代码里制造几个典型错误一个变量未定义、一个异步时序问题、一个 CSS 选择器写错。然后分别把报错信息原样丢给四款模型看它们能不能直接定位并修复。K3 的定位能力最直接。它会先复述一遍错误信息里最关键的代码行再给出修改后的代码段不会东拉西扯。这种回答方式对使用者最友好。GLM5.2 在变量未定义这类简单问题上处理也很快但遇到异步时序问题时它会给出多种可能性让你自己判断是哪个原因。这不算错但排查效率会低一些。Fable5 定位异步问题时最准。它会主动分析事件触发的先后顺序指出是数据还没返回就渲染导致的空值错误给出的修复方案也不会影响原有逻辑。Hy3 在这个环节表现中规中矩。它能修复简单错误但遇到跨函数调用的报错时偶尔会给出错误定位需要我进一步提供上下文。这个问题可以通过把整个文件内容贴给它来缓解。5.2 需求变更时谁的改动更局部化做页游最怕的就是需求突然变了模型把整个逻辑全部重写结果你之前改好的视觉细节全没了。我测试了一个典型的变更场景把原本的回合制战斗改成可以手动选择技能目标。这个需求会牵动技能面板、战斗流程、日志记录三个模块。Fable5 的改动最符合预期。因为它的代码从一开始就模块化变更只落在技能选择函数和战斗流程入口原有视觉布局和日志逻辑没有被破坏。K3 也能控制改动范围但需要你在提示词里明确说明“只改技能选择相关逻辑其他部分保持不变”。它的执行准确但比较依赖提示词约束。GLM5.2 在增加功能时比较激进。给同一个需求后它会从“优化整体架构”的角度重构战斗循环导致一些原本微调过的细节被新版本覆盖。改动完成后需要检查一遍回归。Hy3 对需求变更的反应最保守。它倾向用追加新函数的方式满足新需求而不是修改原有函数。这样改动风险小但可能导致代码冗余——每次需求变更都新增一个函数五六轮后代码量会明显膨胀。5.3 多轮对话中改坏代码的概率这是我最在意的一项。页游开发往往要在一个会话里连续对话几十次模型一旦在前期积累了大量上下文后期修改时很容易出现“改 A 破坏 B”的问题。K3 和 Fable5 在连续 10 轮修改后仍然保持较高的正确率。K3 胜在状态管理清晰Fable5 胜在模块边界明确。GLM5.2 在 10 轮后会偶尔出现“新代码调用了旧版本中已经被删除的函数”这类问题。这不是普遍现象但在我的测试中出现过一次。Hy3 的冗余代码问题在长时间对话中会被放大。它会不断追加新的实现导致函数功能重叠后期你需要花时间清理。实测经验如果你计划在一个会话里和模型聊很久建议每完成一个功能节点就让模型输出一次当前完整代码。这样即使后面改错了你也可以手动回退到最近的稳定版本。6. 最终结论四款模型分别适合什么人和什么场景6.1 综合评分表下表是我对四款模型在页游开发场景下的主观评分满分为 5 分。这个评分只代表我的测试环境不代表绝对能力。维度K3Fable5GLM5.2Hy3单次生成完整度4.04.04.53.5多轮修改稳定性4.54.53.53.5逻辑正确性4.54.04.04.0代码可维护性4.04.53.53.5接口联调能力4.04.54.03.0报错修复效率4.54.54.03.0如果只算平均分K3 和 Fable5 在这套测试里并列靠前GLM5.2 紧随其后Hy3 落后一些。但平均分没有意义因为不同人的开发场景完全不同。6.2 如果只选一款做页游开发对刚入门的前端开发者我建议从 GLM5.2 开始。它的单次生成能力强能让你快速看到一个完整页面减少早期受挫感。等你有经验了再换到更工程化的方案。对要长期维护页游项目的个人开发者K3 或 Fable5 更合适。K3 的状态管理写得好适合逻辑复杂的游戏Fable5 的模块化设计好适合需求频繁变化的项目。两者选哪个取决于你更看重逻辑稳定性还是代码结构。对已经在大规模代码库里工作的团队Fable5 更接近团队协作风格。它的代码可读性强字段命名规范其他成员接手成本低。K3 和 GLM5.2 更适合作个人辅助工具而不是团队统一接入模型。对追求极致响应速度的临时原型验证GLM5.2 最省事。它一次生成的长代码能快速覆盖大部分需求即使个别边界处理不完美后续手动修也不麻烦。Hy3 并不是不好它的风格更适合谨慎型开发者。你希望模型先把核心功能做扎实再逐步美化界面那 Hy3 会让你满意。如果你需要它直接给一个足够酷炫的成品它可能要排到最后一名。6.3 我的几条实战建议第一不要用同一个提示词跑一款模型就直接决定长期用它。你应该准备一套固定需求让所有候选模型都跑一遍再连续改三轮需求。这个测试方法比看任何排行榜都真实。第二把“代码结构要求”写进提示词。哪怕实际使用中你根本不在乎结构也建议让模型输出规范代码因为后续排错时结构好不好直接影响效率。第三重要功能节点保存一次完整代码。大模型对话窗口是有长度限制的聊得越久越容易出现代码陈旧或变量遗漏。每完成一个功能都让模型输出当前完整文件对你来说只是复制一次却能避免很多返工。第四接口联调阶段不要完全依赖模型生成的 Mock 数据。让模型先定义数据字段和类型你再手动维护一份样例数据两边对齐后再开发前端逻辑这样能避开字段不一致的坑。第五也是最容易被忽略的大模型生成的游戏逻辑一定要做回归测试。不要因为新功能加成功了就觉得旧功能没问题。特别是状态切换、冷却计时、重复点击这类环节改一次需求就应该回归一遍。如果你只想记住一句话做页游辅助开发K3 和 Fable5 更适合长期项目GLM5.2 更适合快速原型Hy3 更适合你愿意多轮打磨的场景。剩下的靠你的实际需求来定。