【开源推广】多agent的世界模拟游戏,可以玩场外要素拉满的狼人杀,相当有趣哦

涅利娅 2026-06-29 23:13 1

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:



  • 我的帖子已经打上 开源推广 标签:

  • 我的开源项目完整开源,无未开源部分:

  • 我的开源项目已链接认可 LINUX DO 社区:

  • 我帖子内的项目介绍,AI生成、润色内容部分已截图发出:

  • 以上选择我承诺是永久有效的,接受社区和佬友监督:


以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出




前言


做了一个开源的多agent世界模拟项目哦。


之前看到一个新闻,有人把多个llm放进一个小镇进行生活。我看了之后觉得很有意思,点进它的开源GitHub仓库打算部署下来玩玩,结果发现所谓的开源其实是半开源,只开源了设计手册。于是自己做了一个。


世界模拟真难做啊,而且做出来了也很枯燥不好玩。


我又在这个系统的基础上,利用世界模拟的机制,做了一个狼人杀模式。


然后就有了一个场外要素拉满的狼人杀,感觉非常有趣呀。


顺带,由于这个项目的运行周期相当的长,我自己测试的话很多问题发现不了。所以大概会有很多问题,希望佬友能帮忙指出问题。


项目简介


GitHub项目地址: GitHub - 3121455692atou-sudo/TinyWorld · GitHub


如果能给个star就很感谢了^-^


首先展示一下进入游戏后的界面,然后再给大家详细介绍。



好,展示完毕。


可以看到,下面是本项目的主界面,设有两种配置方式,一种是新手模式,把配置做的非常精简,而且一步一步教会你配置和开始游戏,还用颜色标签标注了应该点的按钮,应该是对新手非常友好的了吧。



另一种就是专家模式,可以配置很多其他的东西。



以下是专家模式的agent配置的详细界面(新手模式很简单直观,不用介绍了),可以看到要配置很多东西,但是大部分不用配置也可以进行,大多都是扩展项。


比如tts,可以接文字转语音,让你的agent可以说话发言。


还有配置的这个生图名,是生图时候用的。


本项目可以自动生图,无论是OpenAI兼容还是novelai的格式,主流的生图格式基本都兼容。


但是如果接入的是danbooru提示词格式的生图模型,那么直接用输入的名字可能就无法很好的还原角色形象。就需要一个生图名,实际上模型生成生图提示词的时候就会用这个生图名替换角色名。实测效果不错。


这个立绘同理,如果用image2生成图片的话,就可以把这张立绘图片直接和提示词一起发给image2作为参考。


如果嫌麻烦的话甚至可以完全不配置,只要配置了语言模型,就会自动把你没填的部分给自动生成补上。



配置完就可以开始了。


以下是开始后的界面。


右上角可以开始自动推进,只让每个agent推进一步,生图,自己给提示词生图,导出agent配置,导出聊天记录等等。


左栏最上面调整界面,下面是地点。地点名旁边的颜色就是地点的颜色标签。和事件流右边角色的标签一样。


地点也可以点进去,看到地点里有谁,被放置了什么东西,谁在地点里写下纸条了之类的。


更多的就不介绍了,都要实际体验一下嘛。



然后每个agent都有个记忆系统,我靠这个记忆系统节省token的同时,让agent不会一直忘记事情。


agent之间的事件被隔离的很深,agent无法直接看到上下文,她们只能看到她们看到的东西。


短期记忆就是最近遇到的事情们。然后长期记忆就是模型觉得重要的事情,被写入了。


梦境就是每天晚上睡觉,模型都会自动整理记忆,以免记忆上下文太长。


日记就是模型写的日记,也可以随时读。


这个狼人杀记忆就是狼人杀模式专属的记忆,看这些人过去投票都投给了谁,还有投票前做出了什么发言之类的。



毕竟本项目目前有两个世界,一个是现代世界模拟,另一个就是狼人杀。


现代世界模拟就是让这群agent在现代世界生存,但是这个模式非常非常非常之慢,挂机一整天也不一定能在游戏里度过10天。


所以这个模式只适合挂在nas上长期跑。


而狼人杀模式哪怕在10agent的前提下,也能一下午跑完,就很有娱乐性了。


然后,接下来展示一下游戏内真实截图吧。


自动图片生成,这里用的是anima,感觉跑多人也不错,有生图名辅助的话,角色也不容易乱。




这里是场外要素展示。白天如果狼人agent和另一个agent关系比较好,夜里狼人密会讨论杀谁的时候,就会出现提议不杀谁的情况,我觉得非常有趣。


这不是我的预设,而是llm自发进行的行为。




贴主碎碎念


本项目希望在没有llm作为裁判的前提下,纯靠调用工具就能有足够的自由度,导致模型可调用的工具数量相当恐怖。


最早是让5.5pro帮我规划,结果规划了整整一千种。


我没细看,直接拿1000种工具开始做项目了。结果做动态调用的时候头晕了。更何况其实里面有相当多的废物无用工具,我自己费了好大劲,才终于删除其中的400个工具。


我不保证剩下600种工具全是有用的,但是要修复还得慢慢来嘛。


顺带一提,动态调用就是根据模型现在的数值,还有所处的位置来决定可以调用什么工具,禁止调用什么工具,模型一次最多能有80个工具调用候选。


而这个调用逻辑一直在优化,只是非常的不完美,这些都要慢慢来。


毕竟这个项目我目前只做了一个月,还是要多来点反馈,还有自己的优化,才能让这个项目继续好下去哦。

最新回复 (4)
  • snail 蜗牛 06-29 23:22
    1

    有点意思,不过没有交互吗,开一局,然后让agent自己行动?

  • 涅利娅 楼主 06-29 23:40
    2

    主要是模型回复比较慢,而且行动主要靠工具调用。如果玩家自己可以参与行动的话,工具调用要麻烦死,而且说一句话要等半天才有回应,这样体验不太好的样子。本来这个项目就偏挂机,所以就没加玩家自己参与的功能。


    不过其实玩家是可以进行一定交互的,看截图,事件流最下面有个影响世界,玩家可以作为上帝对世界,人物进行一些影响。但是这些交互毕竟是偏少的,主要还是挂机。


    我自己是挂在nas上跑,然后时不时看看agent们又干了什么事情

  • qsxvfe 06-29 23:41
    3

    token用量爆炸,不过多模型的情况下很容易就能看出来哪个模型能力强了。语言强的很容易活到最后

  • 涅利娅 楼主 06-29 23:48
    4

    用opencode go跑的话还是挺省的,用ds v4f的话。


    但是ds v4f很人机,不懂变通。


    我用了不少模型跑,感觉用gemini3flash不错,agent的情感爆发很棒,而且因为gemini世界知识足,角色扮演的很好,有时候会让我有些恍惚。


    glm5.1效果最好,模型很有智力,行动也非常合理,能自己做出特别的行动。


    不像v4f,用v4f的话似乎只能随波逐流,饿了吃饭渴了喝水这样。


* 帖子来源Linux.do
返回