0%

AI玩galgame遇到的问题

书接上回让AI写完了MCP,然后实际使用又遇到了一堆问题

工具描述调整

之前AI写的工具描述和MCP描述都太长了,而且包含一些agent不需要知道的信息,我重新调整了一下工具描述和返回的信息,把最常用的click中的引擎状态相关信息去掉了,并且每个工具描述仅写出作用(虽然后面我也想过把工具描述写成状态机,但是后面还是算了)

agent预设

这个也是先让AI给我写了,然后我再改的。我对这个的理解就是系统提示词,以及启用哪些内置工具。系统提示词拿来写约束,大概规则就几条

  1. 每节剧情后要写笔记
  2. 背景变了要看图片
  3. 在压缩上下文之前先记笔记
  4. 每轮对话结束的时候存档

工具的话,几乎不需要其他工具,只要它能启动游戏,能写入文件就行。插件留了个billion-context让agent能自己控制上下文压缩的时机。

跑飞了

因为我理想的状态是,我一句话让它去玩galgame,然后它就一直自己玩,等玩完了再来跟我汇报,然后推进剧情的方法只有万能的click,据我保守估计,像eden*这样的小短篇也有上万行文本,也就是一轮对话里面会有上万步的工具调用,相当的可怕。

然后就是遇到了上下文的问题,大约在300步工具调用之后模型应该是忘记系统提示词了,或者说系统提示词的约束变弱了,具体表现就是背景变化之后不会调用截屏来看图片,以及不会写入笔记,只是一味的点击。

后来想了很多办法都没有解决,然后就出现了新的最麻烦的问题。

qwen3.5架构的问题

qwen3.5系列的模型视觉编码使用M-RoPE编码,其他的忘了,总之就是这个bug会让缓存失效,然后图片的下一次请求要重新prefill,也就是首token要等很久(甚至远超正常prefill)

据我观察的发生规律,只有命中缓存的图片请求才会触发,也就是galgame中常见的立绘差分、场景差分都会命中缓存,然后触发这个bug,使下一次请求时间变长,一开始只是几秒,但是到后面会突然变得很慢,网上其他人说还会导致崩溃,但是我服务器内存比较充裕,没有OOM,并且等到了后台提示缓存用了太多自动删除了最旧的。

这个问题目前还没有解决,github上也有很多人说这个问题。所以我就只能先换其他模型来试试了。

qwen3.8-flash-next吐槽

说真的,这是我用过的模型里面幻觉最严重最不听话的,不知道是不是量化的问题,我用的是qwen3.8-flash-next_UD_Q6_K_XL量化版本

想象力丰富

首来先吐槽幻觉问题,看见个标题界面直接脑补出一个游戏,而且我还没开联网,真的纯脑补

然后还有擅自给角色乱加设定

节俭

首先我从来没叫过它省token,我本地部署的为什么要省token。

高效

而且我写的一直都是慢慢体验,每句台词都要读,它点几次click之后想扫游戏文件还有解码游戏脚本

注意力惊人

能在重复且无聊的工作中找到捷径

以下省略我为了约束它的行为调整了无数次人设提示词。

最后

最后的结局还是失败了,没能玩完eden*,即使有bili的上下文压缩,上下文依然在缓慢的增长,然后剩余的上下文越来越少,压缩越来越频繁,而且因为压缩越来越频繁,每次压缩都会影响缓存命中,然后越跑越慢,最后我还是不忍心看它这么折磨的跑下去了,还是把它停掉了,最后的结局还是可塑性记忆吗。

下一篇博客就放AI的游玩笔记吧,前面写的其实还可以,后面已经能看出因为压缩上下文,提示词的效果越来越弱,前后风格差距很大,但是从某种程度上来说,开头的记录也不太好,太机械了,后面的则是太碎了,但是中间的就刚刚好。

总之,虽然问题很多但是姑且还是一起当作记录放出来吧。