网易首页 > 网易号 > 正文 申请入驻

10个NPC互相传谣,108条Cypher查询撑起一座小镇

0
分享至

一个铁匠的锤子被偷了,只有铁匠亲眼看见。到了中午,他把这事告诉了酒馆老板娘;傍晚,老板娘又转述给卫队长。卫队长从头到尾没看见任何东西,却在第二天清晨堵住你,说这事能一路追到铁匠本人。


这不是剧本写死的对话,而是一个叫 Living Town 的演示项目。小镇 Thornbury 里住着 10 个 NPC:铁匠、酒馆老板、卫队长、副手、神父等。每个 NPC 的记忆,都是 FalkorDB 图数据库里的一个邻域。

项目作者在动手前先抛出一个问题:现在多数所谓的“智能体记忆”,本质是一个私人笔记本——一个智能体、一个存储、一堆向量片段。单个智能体够用,一旦智能体之间开始交流,真正有意思的问题就变了:你是怎么知道这件事的?谁告诉你的?又是谁告诉他的?有人亲眼见过,还是这已经是谣言的第 N 手转述?两个智能体说法冲突时,听谁的?

这些问题全都关于“关系”,而向量存储恰恰把关系丢掉了。于是作者用图数据库把关系本身做成了记忆。

三种记忆,三种边

赛题要求覆盖情景记忆、语义记忆和程序记忆。放进图里,它们不再是三套系统,而是三种边类型。再补上两块,社交记忆就成型了:

  • 来源链:故事每流转一次,两个 NPC 之间就写一条 TOLD 边。每个相信者针对同一事实只有一条主入边,于是回溯到目击者的链条是一棵可以走通的树。
  • 社交结构:NPC 之间带信任度和好感度的 KNOWS 边。铁匠讨厌卫队长(好感度 0.1),从不跟他说话,所以消息只能绕道酒馆老板娘。这条路由路径除了图里,别处都不存在。

传谣规则故意做得很无聊

目击者以 1.0 的置信度相信。听者的置信度等于:说话者置信度 × 听者对说话者的信任 × 0.9。低于 0.3 就只是存疑,不算采信。同一件事从别人嘴里再听一遍,是“佐证”而不是另起一条链。每天黎明,传闻衰减 7%;目击记忆保持置信度,但失去鲜活度。谎言不过是与其他事实相矛盾的事实——如果你告诉老板娘是 Pip 偷了锤子,而她已以更高置信度相信了别的版本,她会当场识破,而这本身又变成一条关于你的新故事。

108 条查询,智能体一条都不写

智能体从不自己写 Cypher。所有查询都是手写并参数化的,共 108 条:50 条读、50 条写、8 次图算法调用。智能体、大模型或 MCP 客户端只负责选择跑哪条、传什么参数。读操作走只读通道。

传谣交接是一条原子语句:匹配来源 NPC 的信念和目标 NPC,合并信念边,新建时写入置信度、立场(达到阈值算“采信”,否则“存疑”)、跳数和来源;已存在时把佐证计数加一;同时写一条 TOLD 边。

“你怎么知道的”则是对主 TOLD 边做变长路径查询。作者踩过一个坑:第一版先展开路径再过滤边,等于把全镇所有传谣路径都枚举一遍再扔掉大半,模拟到第五天左右查询就超时了。把过滤条件写进关系模式本身,数据库边展开边剪枝,稳定在 4 到 9 毫秒,镇子传得再凶也不涨。

任务板上的争抢也在数据库里解决,不在 Python 里。一个任务只能被一个智能体认领,而且它必须真的掌握对应流程——认领语句同时匹配任务状态为开放、且该 NPC 通过 KNOWS_HOW 边连到所需流程,才设置认领人和归属边。

图算法当小镇洞察

FalkorDB 把图算法作为过程提供,每一个都回答一个关于小镇的问题:标签传播在亲密友谊上找小团体,也就是八卦跑得最快的地方;介数中心性在 KNOWS 上找八卦中间人,结果永远是酒馆老板娘;PageRank 在 TOLD 上找谁听到的故事最多;最短路径按社交距离预测下一个可能听到故事的人,在地图上画成虚线圆环;连通分量和调和中心性则用来找“谣言孤岛”和谁传消息最快。

每个玩家一张图

多租户是作者最满意也最省事的部分。FalkorDB 一个实例能装很多张互相独立的图,于是每个玩家分到一张:town:ada、town:bo 依此类推。代码里没有任何一处按租户 ID 过滤。演示中两个玩家并排,各自活在不同的图里,一边的犯罪永远不会漏到另一边。换个新会话用同一个名字回来,小镇会凭记忆跟你打招呼。

最有价值的一个 bug:往返次数

本地跑一个模拟 tick(十个智能体全部感知、传谣、认领任务)大约 100 毫秒。部署后,应用在新加坡、FalkorDB Cloud 在孟买,同样的 tick 变成 2.8 秒。单看每条查询都不慢,慢的是一个 tick 里大约 25 次串行的跨区域往返。

修法是从“按查询思考”改成“按往返思考”:独立的按智能体读写用 asyncio.gather 并发;小查询合并,写操作用 UNWIND 批处理;整座小镇用一条语句建完;启动时预热连接池,因为每次新开一条到云实例的连接要花约 350 毫秒。现在一个 tick 约六次串行往返,线上 260 到 400 毫秒,新建世界从约 15 秒降到约 1.4 秒,一个完整模拟日在线上大约十秒跑完。

智能体、大模型与 MCP

默认情况下智能体是规则驱动的,这是刻意的:记忆、传谣和协作才是产品本体,有没有模型行为都一样。配上 Anthropic API key 后,NPC 对话由 Claude 通过工具调用生成,工具背后是同一套固定的记忆目录;模型提到的每个人、每件物品、每个地点都要与该轮工具返回结果核对,一旦说出图里从未返回过的东西,这条回复直接作废,改显示基于记忆的模板。

同一套工具也通过 MCP 暴露,任何 MCP 客户端都能打开一座小镇,问一句“在玩家 ada 的小镇里,卫队长 Oswin 是怎么知道锤子这事的?”

作者列出的下一步包括:让智能体主动遗忘,把旧的情景记忆压缩成语义摘要但保留来源边;让名声也能传播,目前每个 NPC 对你的看法只来自他自己的信念;以及把这套引擎搬出游戏,用于共享客户信息的客服智能体,并留下“谁从谁那里学到了什么”的可审计链路。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
一直觉得奇怪,居民医保一年400元,职工医保一年4000多,差在哪

一直觉得奇怪,居民医保一年400元,职工医保一年4000多,差在哪

浩渺青史
2026-10-20 08:19:24
比赖清德更狂的人出现了,一旦她当上台湾领导人,我军必定收台!

比赖清德更狂的人出现了,一旦她当上台湾领导人,我军必定收台!

晓肂爱八卦
2026-10-20 11:32:57
76人宣布!1220万美金!捡到大便宜了...

76人宣布!1220万美金!捡到大便宜了...

詹姆斯吧
2026-10-20 12:49:57
被停职审查、套现开溜、私生活混乱,董明珠身上标签该真相大白了

被停职审查、套现开溜、私生活混乱,董明珠身上标签该真相大白了

眼底星碎
2026-10-09 12:19:24
黄金大跌320元!散户彻底慌神,万一跌到500,你敢大胆抄底?

黄金大跌320元!散户彻底慌神,万一跌到500,你敢大胆抄底?

小蜜情感说
2026-10-20 02:42:41
前TVB男星马浚伟做企业高管不容易,5个月15次跑云浮,笑言比回乡次数还多

前TVB男星马浚伟做企业高管不容易,5个月15次跑云浮,笑言比回乡次数还多

TVB剧评社
2026-10-19 23:41:44
“你们民警没帮我申请!”男子嫖娼被拘12天,一年多后才想起来复议,法院:过期限了

“你们民警没帮我申请!”男子嫖娼被拘12天,一年多后才想起来复议,法院:过期限了

一丝不苟的法律人
2026-10-20 09:52:59
北控丢掉主场,赛后三人被炮轰,离开广东男篮后再度迷失

北控丢掉主场,赛后三人被炮轰,离开广东男篮后再度迷失

南海浪花
2026-10-20 02:01:41
蒋万安支持度大输沈伯洋17%?罗智强讽:谢谢曹兴诚

蒋万安支持度大输沈伯洋17%?罗智强讽:谢谢曹兴诚

海峡导报社
2026-10-20 12:02:03
十大元帅里,唯独此二人毛主席从不训斥:一个没必要,一个不忍心

十大元帅里,唯独此二人毛主席从不训斥:一个没必要,一个不忍心

纪史行者
2026-08-14 01:55:05
最新减持新规来了:减持比例超5%金额超5亿将重罚!能消掉股民的怨气吗

最新减持新规来了:减持比例超5%金额超5亿将重罚!能消掉股民的怨气吗

城事堂
2026-10-20 08:31:28
1953年彭德怀悔棋被朱德当场抓包,彭德怀说:给小平同志面子让你!

1953年彭德怀悔棋被朱德当场抓包,彭德怀说:给小平同志面子让你!

搜史君
2026-10-20 13:00:24
破防了!一位美女妈妈在家长会上出圈,被吐槽“这是孩子的班会,不是选美大赛”,评论区吵翻

破防了!一位美女妈妈在家长会上出圈,被吐槽“这是孩子的班会,不是选美大赛”,评论区吵翻

火山詩话
2026-10-19 08:27:01
优衣库“抗日装”爆火,全网绷不住了哈哈哈

优衣库“抗日装”爆火,全网绷不住了哈哈哈

广告案例精选
2026-10-19 14:31:22
超强厄尔尼诺发威!广东10月破纪录,冬季或重现十年前的飘雪?

超强厄尔尼诺发威!广东10月破纪录,冬季或重现十年前的飘雪?

铭记历史呀
2026-10-20 07:27:41
今晚!CBA战6场,CCTV5直播北京首钢PK广东男篮,浙江广厦VS福建,最水总冠军四川PK吉林

今晚!CBA战6场,CCTV5直播北京首钢PK广东男篮,浙江广厦VS福建,最水总冠军四川PK吉林

晚池
2026-10-20 12:57:58
薄一波究竟属于哪一级别?是正国级,还是副国级?

薄一波究竟属于哪一级别?是正国级,还是副国级?

人生录
2026-10-15 05:18:24
国产手机集体降价,力度有点大啊!

国产手机集体降价,力度有点大啊!

果粉俱乐部
2026-10-17 13:55:06
天猫官宣:今晚8点iPhone 18 Pro系列历史最低价!9199元起

天猫官宣:今晚8点iPhone 18 Pro系列历史最低价!9199元起

快科技
2026-10-20 07:47:09
斗的根本不是俄罗斯!美国针对的其实是东大,但出人意料的是,我们较量的对象不是美国,眼下伊朗俄罗斯算不上真正棋手,牌桌上只剩中美

斗的根本不是俄罗斯!美国针对的其实是东大,但出人意料的是,我们较量的对象不是美国,眼下伊朗俄罗斯算不上真正棋手,牌桌上只剩中美

人生录
2026-10-20 00:35:03
2026-10-20 13:43:00
全栈遛狗员
全栈遛狗员
白天跟需求对线,晚上在小区遛狗。
198文章数 122关注度
往期回顾 全部

科技要闻

新版MiniMax,能和DeepSeek掰手腕吗?

头条要闻

男子身中16刀死亡 前妻逃亡26年"隐身"当了妇女主任

头条要闻

男子身中16刀死亡 前妻逃亡26年"隐身"当了妇女主任

体育要闻

30天30队·奇才:三状元一榜眼 35胜?

娱乐要闻

港媒曝刘恺威与32岁黎纪君恋情,秘密恋爱两个月

财经要闻

这些科技股王,为什么总输给茅台?

汽车要闻

不知道二代海鸥多好玩? 上赛道跑两圈 很过瘾的

态度原创

本地
数码
亲子
健康
公开课

本地新闻

一场垂直登高赛跑出了"山城"的真正内核

数码要闻

倍思海外推出U2 Pro Outdoor监控摄像头,带有可追踪移动目标的聚光灯

亲子要闻

小宝宝喊爸爸与喊妈妈的区别

痘痘能根治吗?皮肤科医生说实话

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版