玩过大模型驱动的文字游戏的人一定遇到过这个场景玩到第 20 轮AI 忘了你身在何处第 30 轮刚才还生死与共的 NPC 形同陌路再问它背包里有什么它开始现场编造。聊得越自由忘得越彻底。这不是模型不行是架构不行。市面上大多数 AI 文字游戏把一切都交给大模型——世界观、剧情、状态、记忆全部塞进 prompt。上下文窗口就那么大塞进的东西一多遗忘是必然的。无论你换多强的模型都只是在延缓失忆的到来。我最近写的一个开源项目地球Online换了个思路代码是世界的骨架AI 是世界的皮肤。代码维护确定性状态位置、时间、物品、人物关系AI 只负责把这些状态渲染成沉浸式的文字。写逻辑管纪律写诗交给模型——各干各的擅长的事。核心设计一状态硬约束而不是拜托 AI 记住玩家的一切状态由代码结构化保存跨回合稳定延续。以人物关系为例系统定义了 5 个等级冷淡、认识、友好、信任、亲密每个等级内部还有一个连续的进度值。AI 每一轮只能提交变更申请比如好感度 10这个申请不会直接生效——代码会校验它是否符合规则通过后才写回状态。也就是说AI 没有资格直接篡改世界它只能提出建议世界是代码说了算。这才是不会失忆的根本保障哪怕模型上下文里什么都忘了磁盘上的状态文件不会忘。核心设计二强壮的 JSON 容错AI 的输出天然不稳定少个括号、多出一段注释、把字段名写错都是家常便饭。如果直接把 AI 的回复展示给玩家一次格式异常就会导致游戏卡死或丢回合。所以解析层做了四层容错先尝试标准解析失败则自动修复常见格式错误比如去掉多余的 markdown 标记、补全截断的 JSON再失败则带着错误信息请求模型重试最后还有兜底降级保证任何情况下游戏都能继续绝不让玩家面前出现一坨报错。核心设计三清晰的回合数据流每一轮游戏数据沿着一条固定流水线流动读取玩家状态拼装 prompt系统提示 当前状态 近期历史调用大模型解析输出校验状态变更写回状态并自动存档最后把叙事文本返回给玩家。这条流水线让每个环节都可测试、可替换。想换模型只改客户端封装。想加新玩法只改状态结构和校验规则。叙事层的自由度完全不损害逻辑层的确定性。玩法与体验游戏支持 8 种世界观现代都市、古代历史、修仙玄幻、末日生存、娱乐圈养成、荒野求生、校园恋爱、悬疑推理。开局创建角色时可以定义姓名、性别、外貌、家世、天赋和处世风格。每个回合既有编号选项也支持完全自由的文字输入——你可以输入我假装没看见转身走向巷尾这种预设之外的行动。任意时刻输入退出即自动存档下次进入选继续冒险AI 会先回显上次的剧情再接着演体验上接近传统单机 RPG 的读档。技术栈与使用项目用 Python 3.10 实现MIT 协议开源无任何商业化成分。普通玩家可以直接下载打包好的 exe 双击运行开发者 git clone 之后安装依赖、运行入口文件即可Windows 下还附带了 bat 启动脚本。叙事由 DeepSeek 提供需要玩家自备 API Key——每个玩家用自己的 Key作者不承担 API 费用Key 也只存在本地配置文件里项目不碰任何用户密钥。DeepSeek 有免费额度付费价格也很低玩一个回合的成本以厘计。写在最后这个项目目前还是原型但状态机 大模型的分层思路并不局限于游戏。任何需要 AI 长期稳定扮演角色、维护一致事实的场景——陪伴应用、互动小说、虚拟员工——都面临同样的失忆问题也都可以用同一套方案解决让代码掌管世界让模型只负责表达。文字游戏只是这个思路的第一个试验场。项目已开源地址在评论区置顶。欢迎在评论区交流思路也欢迎提 issue 反馈 bug——这是一个仍在完善的原型任何反馈都是帮助。 SEO 优化官网定制响应式建站教育培训建站