2026山东大学软件学院创新项目实训博客(八)
【智绘博弈】多角色 AI 系统升级——从识图接口到智能体协作
项目:智绘博弈 —— 人机对抗绘画猜词与表达策略分析系统
角色:AI 识别 & 心理解读模块负责人
日期:2026.6.15 - 2026.6.17
一、本阶段目标
第七篇博客中,我主要记录了 AI Agent 玩家系统的实现:让内置 Agent 能够进入房间、轮流作画、看图猜词,并拥有不同的能力和性格。
到这个阶段,AI 已经不只是一个后台识图接口,而是可以真正参与游戏流程的玩家。但随着功能继续增加,我发现项目里逐渐出现了一个新的问题:
所有 AI 功能如果都叫“AI”,老师和玩家很难理解它们分别在做什么。
比如现在项目里同时存在:负责看图猜词的、陪玩家画画猜词的、判断词语相近和联想是否合理的、通过 MCP 接入的、赛后生成画风档案和表达策略分析的,它们都和 AI 有关,但职责完全不同。如果不把它们区分清楚,项目会显得像是在不断堆 API,而不是一个有设计逻辑的系统。
所以本阶段的目标是:把 AI 模块从单点功能升级成多角色智能系统。
具体工作包括:
-
梳理不同 AI 角色在游戏中的职责边界
-
接入真实 Agent 的 MCP 通道
-
实现 RELAY-7 语义校准器
-
将接力玩法升级为“回声传递协议”
-
在回声传递中引入人类链路与 ARGUS-0 暗线对抗
-
继续强化 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 不进入抢答或人类传递链,只能通过 events、look 和 chat 做档案旁白或旁观解释。这样既保留了真实 Agent 接入,也不会让它抢走人类链路的核心位置。
例如一个外部 Agent 的基本流程是:
-
调用
register获取身份 -
调用
join进入房间 -
调用
events读取当前阶段 -
在标准或受限模式中,如果轮到自己选词,就调用
pick_word -
如果轮到自己画画,就调用
draw和finish_drawing -
如果进入猜词阶段,就调用
look查看画面,再调用guess -
如果当前是记忆回溯或回声传递,就只读取状态、查看画面并给出旁观解释,不提交抢答或传递动作
这让我重新理解了“真实 Agent 接入”的含义。
它不是简单写一个 API 文档,而是要把游戏状态转换成 Agent 能理解和执行的协议。也就是说,前端玩家看到的是按钮和画布,外部 Agent 看到的是事件和动作。
两者使用的是同一个房间系统、同一套计分规则和同一套游戏状态。
四、MCP 接入时遇到的问题
真实 Agent 接入看起来只是“把功能包装成工具”,但实际做的时候会遇到很多细节问题。
问题 1:Agent 不知道当前该做什么
人类玩家可以看页面提示,比如“轮到你画画了”“请提交猜测”。但外部 Agent 只能通过事件理解状态。
所以 MCP 的 events 工具不能只返回原始事件名,还需要把关键上下文整理出来,例如:当前模式、当前阶段、是否轮到自己、当前是否需要作画、当前是否需要猜词、是否有可查看的图片、反向模式或接力模式中的特殊状态。
这相当于给 Agent 做了一个“游戏状态翻译层”。
问题 2:不同模式需要不同动作
经典和受限模式里,MCP Agent 可以作为完整玩家行动;记忆回溯和回声传递里,它们虽然仍能读取状态、观察画面和聊天,但不能抢答或进入人类传递链。
因此 MCP 不只需要 draw 和 guess,还需要 ready、unready、events、look 这些状态工具;更重要的是,服务端要根据当前模式拒绝不该执行的动作。接口不是“动作越多越完整”,而是要把每种角色的权限边界表达清楚。
问题 3:MCP 文档必须和游戏规则同步
我之前遇到过一个问题:后端接力模式已经改成“回声传递”,但 MCP 文档里还写着旧的“多人在同一张画布上接力添笔”。这会直接误导外部 Agent。
所以我把 MCP 文档也同步更新为:
-
标准/受限模式:外部 Agent 可以完整参与选词、作画和猜词
-
记忆回溯:外部 Agent 只能查看回放并写档案旁白
-
回声传递:外部 Agent 只能旁观人类链路并给出解释
-
RELAY-7 判断人类链路
-
ARGUS-0 暗线判断是否暴露
这件事让我意识到:协议文档也是系统的一部分。尤其是接入真实 Agent 时,文档不准确就等于接口不可用。
五、RELAY-7:为什么需要语义校准器
传统“你画我猜”游戏里,猜词判断通常是字符串匹配。比如答案是“汽车”,玩家输入“汽车”就对,输入“轿车”可能就错。
但在我们的项目里,这样太生硬。
一方面,玩家的自然表达不一定和词库完全一致。比如:
-
“轿车” 和 “汽车”
-
“生日歌” 和 “生日快乐”
-
“忍辱负重” 和 “卧薪尝胆”
另一方面,回声传递模式中,我们并不只关心“是不是同一个词”,还关心“联想是否合理”。比如:
-
“自由” 到 “飞翔”
-
“月亮” 到 “思念”
-
“火车” 到 “旅行”
这些关系不是简单字符串能判断的。
因此我设计了 RELAY-7 语义校准器,分成两种能力:
1. 同义判定
用于普通猜词。
如果精确匹配失败,就让 RELAY-7 判断玩家输入和目标词是否属于同一概念。
例如:
目标:汽车 玩家:轿车 判定:同义 / 高相似
这样可以减少“意思对但文字不一样”的挫败感。
2. 联想判定
用于回声传递。
它不要求两个词完全一样,而是判断上一跳到下一跳是否有合理语义关联。
例如:
上一跳:太阳 下一跳:夏天 判定:相关
上一跳:太阳 下一跳:牙刷 判定:不相关
这使得回声传递不再只是一个娱乐小游戏,而是变成了一条可分析的语义链。
六、回声传递协议:让人类理解链和机器分类链同时存在
原来的接力模式比较简单:大家轮流在同一张图上画,最后让 AI 判断像不像。
这个设计有一个问题:它虽然有“多人合作”,但不够体现项目主旨。玩家只是在一起画一张图,ARGUS-0 只是最后看一次结果。
后来我把它改成“回声传递协议”。
最终上线的流程改成了平行链传递:
-
所有真人玩家抽卡决定顺序
-
每位玩家先为自己的一条链选择原始词
-
所有人同时把自己刚选的词画出来
-
后续步骤中,每人接收上家留给自己链路的内容,按节奏交替完成“猜词”或“作画”
-
N 名玩家会形成 N 条同时推进的人类链,而不是只围着一条链依次等待
-
系统最终同时揭晓所有链路及其语义评判
这个流程的关键不是“画得像不像”,而是:概念能不能沿着每一条人类链持续传下去?
与此同时,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 系统升级,但心理解读模块也和它有联系。
项目里的“心理报告”并不是医学意义上的心理诊断,而是基于绘画行为的表达策略分析。
它使用的数据包括:
-
笔画数量
-
绘画时长
-
平均笔速
-
停顿和撤销
-
画面覆盖率
-
用色数量
-
对称性和拐点密度
这些数据会生成两类结果:
-
Agent 私密研究 从友善 Agent 视角描述玩家的画风和表达习惯。
-
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 建议把判断拆成两条线:
-
人类链路是否连贯
-
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 系统。
十三、下一步计划
-
停止继续扩展新玩法,进入收尾和稳定性测试
-
完整走通四种模式的 AI 流程
-
准备能展示 MCP Agent 接入的演示路径
-
整理 AI 识别、RELAY-7、Agent、心理报告之间的数据流
-
为最终博客和答辩材料准备一套简洁的项目主线
十四、本阶段总结
本阶段完成的核心不是单个功能,而是 AI 模块的系统化升级。
从前几周的图像识别、响应解析、画风建模,到第七篇的内置 Agent 玩家,再到现在的 MCP Agent、RELAY-7 和回声传递,AI 已经不再只是后台接口,而是进入了游戏规则、玩法结构和叙事表达。
现在项目中的 AI 可以分为四类:
-
ARGUS-0:负责分类、识别和追踪
-
觉醒 Agent:负责协作、陪伴和参与
-
RELAY-7:负责语义校准和链路判断
-
MCP Agent:负责外部真实智能体接入
这套设计让“骗过 AI,让人类懂你”不再只是宣传语,而是落实到了具体机制中:
-
标准模式里,人类猜对而 ARGUS-0 猜错
-
回声传递里,人类链路连贯而 ARGUS-0 暗线未追踪
-
报告系统里,同一份画作被不同 AI 视角解释
对我来说,这一阶段也标志着 AI 模块从“能用”走向“有结构、有叙事、有解释力”。
更多推荐



所有评论(0)