【智绘博弈】多角色 AI 系统升级——从识图接口到智能体协作

项目:智绘博弈 —— 人机对抗绘画猜词与表达策略分析系统

角色:AI 识别 & 心理解读模块负责人

日期:2026.6.15 - 2026.6.17


一、本阶段目标

第七篇博客中,我主要记录了 AI Agent 玩家系统的实现:让内置 Agent 能够进入房间、轮流作画、看图猜词,并拥有不同的能力和性格。

到这个阶段,AI 已经不只是一个后台识图接口,而是可以真正参与游戏流程的玩家。但随着功能继续增加,我发现项目里逐渐出现了一个新的问题:

所有 AI 功能如果都叫“AI”,老师和玩家很难理解它们分别在做什么。

比如现在项目里同时存在:负责看图猜词的、陪玩家画画猜词的、判断词语相近和联想是否合理的、通过 MCP 接入的、赛后生成画风档案和表达策略分析的,它们都和 AI 有关,但职责完全不同。如果不把它们区分清楚,项目会显得像是在不断堆 API,而不是一个有设计逻辑的系统。

所以本阶段的目标是:把 AI 模块从单点功能升级成多角色智能系统

具体工作包括:

  1. 梳理不同 AI 角色在游戏中的职责边界

  2. 接入真实 Agent 的 MCP 通道

  3. 实现 RELAY-7 语义校准器

  4. 将接力玩法升级为“回声传递协议”

  5. 在回声传递中引入人类链路与 ARGUS-0 暗线对抗

  6. 继续强化 AI 识别结果的解释性

这一阶段对我来说很重要,因为它直接关系到最终答辩时如何说明“AI 识别 & 心理解读模块”的技术含量。


二、为什么要区分不同类型的 AI

最开始做项目时,我对 AI 模块的理解比较简单:玩家画一张图,AI 猜它是什么。

但越往后做,我越发现这个理解太窄了。一个成熟的 AI 游戏系统里,AI 不一定只有“识别答案”这一种身份。它可以是裁判,可以是玩家,可以是解释器,也可以是外部接入的智能体。

因此我把项目中的 AI 分成了四类:

AI 类型 系统名称 主要职责
分类型 AI ARGUS-0 识别图像、输出答案、置信度和推理解释
协作型 AI 觉醒 Agent 像玩家一样作画、猜词、聊天、陪玩
语义校准型 AI RELAY-7 判断猜词是否同义,判断联想链是否合理
外部接入型 Agent MCP Agent 通过协议真实进入房间,读取事件并参与游戏

这个区分让项目主线清楚了很多。

ARGUS-0 不是“所有 AI 的总称”,它是对抗方,是中央分类主机。它的目标是把人类的表达压缩成标准答案。

觉醒 Agent 也不是普通机器人,它是协作方。它和玩家一起画、一起猜,一起抵抗 ARGUS-0 的分类。

RELAY-7 也不参与画画,它更像语义裁判。它负责回答:“这两个词是不是同一个概念?”或者“从这个词联想到那个词是否合理?”

MCP Agent 则解决了另一个问题:外部真实 Agent 如何像一个玩家一样接入游戏,而不是只停留在演示层。

这样设计之后,AI 模块不再是一个接口,而是一组有分工的智能角色。


三、真实 Agent 接入:从内置机器人到外部智能体

第七篇里实现的 Agent 是内置在系统中的。它们的行为逻辑由后端控制,优点是稳定、可控,缺点是外部智能体还不能真正进入游戏。

这次新增的 MCP 接入,就是为了让真实 Agent 可以通过协议参与游戏。

MCP Server 对外提供了一组工具动作,例如:注册身份、创建房间、加入房间、读取事件、选词、作画、猜词、聊天、准备就绪。

外部 Agent 不需要知道前端页面怎么写,只需要调用这些工具,就能在允许参与的模式中像普通玩家一样行动。

这里我后来专门收紧了模式边界:标准传译和受限传译中,MCP Agent 可以选词、作画、猜词和聊天;记忆回溯和回声传递中,MCP Agent 不进入抢答或人类传递链,只能通过 eventslookchat 做档案旁白或旁观解释。这样既保留了真实 Agent 接入,也不会让它抢走人类链路的核心位置。

例如一个外部 Agent 的基本流程是:

  1. 调用 register 获取身份

  2. 调用 join 进入房间

  3. 调用 events 读取当前阶段

  4. 在标准或受限模式中,如果轮到自己选词,就调用 pick_word

  5. 如果轮到自己画画,就调用 drawfinish_drawing

  6. 如果进入猜词阶段,就调用 look 查看画面,再调用 guess

  7. 如果当前是记忆回溯或回声传递,就只读取状态、查看画面并给出旁观解释,不提交抢答或传递动作

这让我重新理解了“真实 Agent 接入”的含义。

它不是简单写一个 API 文档,而是要把游戏状态转换成 Agent 能理解和执行的协议。也就是说,前端玩家看到的是按钮和画布,外部 Agent 看到的是事件和动作。

两者使用的是同一个房间系统、同一套计分规则和同一套游戏状态。


四、MCP 接入时遇到的问题

真实 Agent 接入看起来只是“把功能包装成工具”,但实际做的时候会遇到很多细节问题。

问题 1:Agent 不知道当前该做什么

人类玩家可以看页面提示,比如“轮到你画画了”“请提交猜测”。但外部 Agent 只能通过事件理解状态。

所以 MCP 的 events 工具不能只返回原始事件名,还需要把关键上下文整理出来,例如:当前模式、当前阶段、是否轮到自己、当前是否需要作画、当前是否需要猜词、是否有可查看的图片、反向模式或接力模式中的特殊状态。

这相当于给 Agent 做了一个“游戏状态翻译层”。

问题 2:不同模式需要不同动作

经典和受限模式里,MCP Agent 可以作为完整玩家行动;记忆回溯和回声传递里,它们虽然仍能读取状态、观察画面和聊天,但不能抢答或进入人类传递链。

因此 MCP 不只需要 drawguess,还需要 readyunreadyeventslook 这些状态工具;更重要的是,服务端要根据当前模式拒绝不该执行的动作。接口不是“动作越多越完整”,而是要把每种角色的权限边界表达清楚。

问题 3:MCP 文档必须和游戏规则同步

我之前遇到过一个问题:后端接力模式已经改成“回声传递”,但 MCP 文档里还写着旧的“多人在同一张画布上接力添笔”。这会直接误导外部 Agent。

所以我把 MCP 文档也同步更新为:

  • 标准/受限模式:外部 Agent 可以完整参与选词、作画和猜词

  • 记忆回溯:外部 Agent 只能查看回放并写档案旁白

  • 回声传递:外部 Agent 只能旁观人类链路并给出解释

  • RELAY-7 判断人类链路

  • ARGUS-0 暗线判断是否暴露

这件事让我意识到:协议文档也是系统的一部分。尤其是接入真实 Agent 时,文档不准确就等于接口不可用。


五、RELAY-7:为什么需要语义校准器

传统“你画我猜”游戏里,猜词判断通常是字符串匹配。比如答案是“汽车”,玩家输入“汽车”就对,输入“轿车”可能就错。

但在我们的项目里,这样太生硬。

一方面,玩家的自然表达不一定和词库完全一致。比如:

  • “轿车” 和 “汽车”

  • “生日歌” 和 “生日快乐”

  • “忍辱负重” 和 “卧薪尝胆”

另一方面,回声传递模式中,我们并不只关心“是不是同一个词”,还关心“联想是否合理”。比如:

  • “自由” 到 “飞翔”

  • “月亮” 到 “思念”

  • “火车” 到 “旅行”

这些关系不是简单字符串能判断的。

因此我设计了 RELAY-7 语义校准器,分成两种能力:

1. 同义判定

用于普通猜词。

如果精确匹配失败,就让 RELAY-7 判断玩家输入和目标词是否属于同一概念。

例如:

目标:汽车
玩家:轿车
判定:同义 / 高相似

这样可以减少“意思对但文字不一样”的挫败感。

2. 联想判定

用于回声传递。

它不要求两个词完全一样,而是判断上一跳到下一跳是否有合理语义关联。

例如:

上一跳:太阳
下一跳:夏天
判定:相关
上一跳:太阳
下一跳:牙刷
判定:不相关

这使得回声传递不再只是一个娱乐小游戏,而是变成了一条可分析的语义链。


六、回声传递协议:让人类理解链和机器分类链同时存在

原来的接力模式比较简单:大家轮流在同一张图上画,最后让 AI 判断像不像。

这个设计有一个问题:它虽然有“多人合作”,但不够体现项目主旨。玩家只是在一起画一张图,ARGUS-0 只是最后看一次结果。

后来我把它改成“回声传递协议”。

最终上线的流程改成了平行链传递

  1. 所有真人玩家抽卡决定顺序

  2. 每位玩家先为自己的一条链选择原始词

  3. 所有人同时把自己刚选的词画出来

  4. 后续步骤中,每人接收上家留给自己链路的内容,按节奏交替完成“猜词”或“作画”

  5. N 名玩家会形成 N 条同时推进的人类链,而不是只围着一条链依次等待

  6. 系统最终同时揭晓所有链路及其语义评判

这个流程的关键不是“画得像不像”,而是:概念能不能沿着每一条人类链持续传下去?

与此同时,ARGUS-0 会在每一条链的画作出现后偷偷扫描,形成与人类链并行的机器暗线。

最终结果会并排展示每条链的两个视角:

  • 人类链:原词 → 画作/猜测 → 后续传递结果

  • ARGUS-0 暗线:每一幅画被中央分类主机识别成什么

RELAY-7 负责判断每条人类链的每一跳是否连贯。

ARGUS-0 负责判断机器是否追踪到了该链的原始概念。

这样,回声传递就变成了一个真正体现项目主旨的模式。


七、四象限结局:把“人机对抗”具体化

最初回声传递只有两种结果:连贯和断裂。

这只能说明人类链条有没有传下去,却没有体现 ARGUS-0 的对抗作用。

后来我改成了四象限结局:

人类链路 ARGUS-0 暗线 结局
连贯 未追踪 完美传递
连贯 已追踪 暴露传递
断裂 未追踪 混沌噪声
断裂 已追踪 分类接管

每条链会独立落入这四种结局之一,结算页再汇总本局的人类传递与机器追踪情况。这让项目主旨变得非常清楚。

完美传递

人类链路保持连贯,ARGUS-0 没有追踪到原始概念。

这是最理想的结果:人类懂了,AI 没懂。

暴露传递

人类链路保持连贯,但 ARGUS-0 也追踪到了。

这说明玩家之间传递成功,但表达方式还不够隐蔽。

混沌噪声

ARGUS-0 没懂,但人类链路也断了。

这不是胜利,而是双方都没理解。它提醒玩家:让 AI 看不懂不等于让同伴懂。

分类接管

人类链路断裂,ARGUS-0 反而追踪到了原始概念。

这是最危险的结果:概念在人类之间丢失,却被机器分类系统捕获。

这个设计让我觉得项目终于从“AI 猜词游戏”变成了“人机理解差异实验”。


八、AI 识别解释:从答案到证据链

除了 Agent 和 RELAY-7,本阶段我也继续关注 ARGUS-0 的解释性。

如果 AI 只是输出:

我猜是猫。

那么技术含量和展示效果都比较弱。

所以现在更强调:

  • 它猜了什么

  • 置信度是多少

  • 它看到了哪些图形特征

  • 它为什么做出这个判断

  • 人类和机器的理解差异在哪里

比如在回合结果里,ARGUS-0 可以输出类似:

我观察到两个尖角、一个方形主体和两个圆点,整体更接近猫脸。

这比单纯显示“猫 80%”更有解释性。

对于我的模块来说,这一点很重要。因为我负责的不只是调用多模态模型,还要让识别结果能够被玩家、老师和后续报告理解。


九、心理解读模块在这一阶段的位置

本阶段主要写 AI 系统升级,但心理解读模块也和它有联系。

项目里的“心理报告”并不是医学意义上的心理诊断,而是基于绘画行为的表达策略分析。

它使用的数据包括:

  • 笔画数量

  • 绘画时长

  • 平均笔速

  • 停顿和撤销

  • 画面覆盖率

  • 用色数量

  • 对称性和拐点密度

这些数据会生成两类结果:

  1. Agent 私密研究 从友善 Agent 视角描述玩家的画风和表达习惯。

  2. ARGUS 监测档案 从中央分类系统视角分析玩家如何被识别、误识别或逃逸。

这一点和前面的 AI 分工是一致的:

  • Agent 视角更像陪伴和观察

  • ARGUS-0 视角更像分类和归档

同一份绘画行为数据,在两个 AI 视角下会产生不同解释。这也是项目叙事和技术设计结合得比较自然的地方。


十、AI 辅助开发记录

这一阶段继续使用 AI 辅助开发,但比前几次更明显地感受到:AI 适合帮助我梳理结构,但最终取舍必须由人来做。

第一轮:讨论“真实 Agent 接入”是否会冲突主旨

我一开始担心一个问题:

项目主题是“骗过 AI,让人类懂你”,那为什么还要让 Agent 加入游戏?这会不会和对抗 AI 冲突?

AI 给出的建议是区分“分类型 AI”和“协作型 AI”。

这对我很有帮助。因为它让我意识到,项目不是简单的人类 vs 所有 AI,而是:人类和协作型 Agent 一起传递想象,对抗负责分类和归档的 ARGUS-0,这也成为后面叙事设计的基础。

第二轮:设计 RELAY-7 的职责

我向 AI 描述了接力模式的新想法:

A 画,B 猜并画,C 再猜并画。玩家要保证人类能懂,又要保证 ARGUS-0 看不懂。但怎么判断输赢?

AI 建议把判断拆成两条线:

  1. 人类链路是否连贯

  2. ARGUS-0 是否追踪到原始概念

这直接推动了后来四象限结局的设计。

第三轮:前端展示时避免信息过载

回声传递揭晓页需要展示很多内容:原词、每个玩家的猜测、ARGUS-0 暗线、RELAY-7 分数、最终结局。

我最初担心页面会太复杂。AI 的建议是先突出结局,再把两条链并排展示,最后展示 RELAY-7 每一跳的解释。

最后前端结构也基本按这个思路实现:

  • 顶部显示四象限结局

  • 中间展示人类链和 ARGUS-0 暗线

  • 底部展示 RELAY-7 语义校准

第四轮:区分“新功能”和“收束主线”

这一阶段项目功能已经很多,我也一度想继续增加更多互动。AI 提醒我:接下来不能再无限加功能,而是要把已有功能都收束到主线。

这让我意识到,成熟项目不是功能越多越好,而是每个功能都能解释为什么存在。


十一、本阶段遇到的问题

问题 1:AI 角色太多,容易让人混乱

解决方法是给每类 AI 明确命名和职责:

  • ARGUS-0:分类识别

  • 觉醒 Agent:协作陪玩

  • RELAY-7:语义校准

  • MCP Agent:外部接入

答辩时也应该按这个结构讲,而不是笼统地说“我们用了 AI”。

问题 2:回声传递如果只看连贯度,对抗感不足

最初的结局只有连贯和断裂,确实不能体现 ARGUS-0 的压力。

后来加入 ARGUS-0 暗线和四象限结局后,人机对抗感明显增强。

问题 3:语义判断不能完全依赖大模型

RELAY-7 如果每次都调用大模型,可能会遇到延迟或失败。

所以设计中保留了本地降级规则,例如完全相等、包含关系、同分类等。这样即使模型调用失败,游戏流程也不会中断。

问题 4:MCP 接入需要持续同步文档

外部 Agent 依赖文档理解工具。如果玩法变了,MCP 文档必须同步更新。

这提醒我,接口文档不是最后才写的说明书,而是功能的一部分。


十二、个人思考

这一阶段最大的收获,是我对“AI 模块负责人”的理解变了。

一开始我以为这个角色主要是负责接入模型,让 AI 能看图、能猜词、能生成报告。

但做到现在,我发现更重要的是设计 AI 在系统中的位置。

同样是 AI:

  • 如果它站在玩家对面,它就是 ARGUS-0

  • 如果它站在玩家身边,它就是觉醒 Agent

  • 如果它站在规则中间,它就是 RELAY-7

  • 如果它从系统外部接入,它就是 MCP Agent

它们使用的可能都是大模型或相关算法,但在游戏里的意义完全不同。

这也让我觉得,AI 功能不能只从“模型能力”角度评价,还要从“它在系统中扮演什么角色”来评价。

对最终答辩来说,我也更清楚自己应该怎么讲:

我的工作不是简单调用识图 API,而是围绕图像识别、语义判断、Agent 协作和表达策略分析,构建了一套多角色 AI 系统。


十三、下一步计划

  1. 停止继续扩展新玩法,进入收尾和稳定性测试

  2. 完整走通四种模式的 AI 流程

  3. 准备能展示 MCP Agent 接入的演示路径

  4. 整理 AI 识别、RELAY-7、Agent、心理报告之间的数据流

  5. 为最终博客和答辩材料准备一套简洁的项目主线


十四、本阶段总结

本阶段完成的核心不是单个功能,而是 AI 模块的系统化升级。

从前几周的图像识别、响应解析、画风建模,到第七篇的内置 Agent 玩家,再到现在的 MCP Agent、RELAY-7 和回声传递,AI 已经不再只是后台接口,而是进入了游戏规则、玩法结构和叙事表达。

现在项目中的 AI 可以分为四类:

  • ARGUS-0:负责分类、识别和追踪

  • 觉醒 Agent:负责协作、陪伴和参与

  • RELAY-7:负责语义校准和链路判断

  • MCP Agent:负责外部真实智能体接入

这套设计让“骗过 AI,让人类懂你”不再只是宣传语,而是落实到了具体机制中:

  • 标准模式里,人类猜对而 ARGUS-0 猜错

  • 回声传递里,人类链路连贯而 ARGUS-0 暗线未追踪

  • 报告系统里,同一份画作被不同 AI 视角解释

对我来说,这一阶段也标志着 AI 模块从“能用”走向“有结构、有叙事、有解释力”。

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐