关于我开发的互动式RPG游戏Loreon的建造过程中,我经常会反复思考一个问题:LLM(大型语言模型)能做什么,而它又不能做什么。
模型负责写剧情。它不能拥有状态。存储在独立引擎中的存储数据包括背包、位置、目标和时间。每次回合,引擎都会读取和写入这些数据。状态会以UI中可见的形式呈现,下一个提示给模型的内容是基于当前状态,而不是原始聊天记录。
分离状态和模型的原因是:纯聊天AI游戏在10-20回合后会衰退——物品会重新出现,位置会变得模糊,目标会悄悄地消失。将状态放在结构化的层级中,可以让世界保持规范,哪怕模型“记住”的内容会变成无关紧要的。
技术栈:Bun monorepo、Svelte玩家应用、自定义场景管理系统、Paddle计费、浏览器端。游客模式的第一场景:https://loreon.online
好奇——有没有人在这里解决了状态漂移问题,采用了不同的架构?我看过有人尝试将总结信息塞入上下文,但这会逐渐变差,直到它彻底崩溃。
评论 (0)