
让 9 个 AI 自打一局狼人杀AgentScope 多智能体协作案例实操【免费下载链接】agentscopeBuild and run agents you can see, understand and trust.项目地址: https://gitcode.com/GitHub_Trending/ag/agentscope如果让 9 个 AI 自己打一局狼人杀会发生什么没有人工裁判也没有规则脚本硬控——每个玩家都是一个 ReActAgent由 AgentScope 的多智能体协作机制接管夜间行动与白天辩论。这篇文章从一条启动命令讲起拆到底层三块积木看看一个 AI 狼人杀博弈是怎么落地的。 一条命令跑起 9 人狼人杀先跑起来。设置好 DashScope 的 API 密钥后只执行这一条python examples/game/werewolves/main.py9 名 AI 玩家直接上桌3 狼人、3 村民外加预言家、女巫、猎人。整局游戏全靠自然语言推进——狼人在夜里密谋村民在天亮后站队投票你不需要手写任何一条规则分支。改 main.py 里的model_name就能在 Qwen、GPT 等主流大模型之间切换中英文提示词和游戏存档也一并内置。下图是 AgentScope 多智能体控制台的协作现场AI 智能体在同一会话里轮流发言、决策、行动角色分工9 个 AI 玩家各自在做什么狼人杀难在信息不对称这个例子把 9 个角色拆成三条行动线狼队3 狼人夜里在私密通道里轮流发言、投票谈拢了就锁定击杀目标。神职预言家、女巫、猎人各自有技能触发条件——查验身份、救人或毒杀、阵亡反噬用不用、用在谁身上全由模型自己权衡。村民3 人没有技能只有推理。白天发言和投票环节他们得从别人的话里找出破绽。这个设计的妙处在于规则代码里没有一行if 是狼人 then …。每个角色的行为是模型推理加系统提示词涌现出来的。 三块底层积木多智能体协作机制藏在哪ReActAgent每个角色的决策大脑它解决的坑怎么让模型输出结构化决策而不是一通自由发挥。每个角色就是一个 ReActAgent思考、发言、释放技能。技能释放靠结构化输出约束——比如今晚狼队刀谁必须以可被代码直接读取的字段返回而不是埋在一段话里。狼队的深夜密谋就是一个轮询循环async with MsgHub(players.werewolves, enable_auto_broadcastTrue) as werewolves_hub: for _ in range(MAX_DISCUSSION_ROUND * n_werewolves 1): res await players.werewolves[i % n_werewolves] if res.metadata.get(reach_agreement): break每轮狼王发一次言一旦reach_agreement为真就散会定刀。实现可以看 ReActAgent 源码。MsgHub带密道的群聊广播站它解决的坑怎么让一部分人听见另一部分人听不见。MsgHub 用发布-订阅模式做多智能体通信把几个智能体丢进同一个 hub消息就只在圈内流转。狼队讨论用 3 人密道天亮了再把所有存活玩家拉进公共频道广播async with MsgHub(players.current_alive, namealive_players) as hub: await hub.broadcast(await moderator(Prompts.to_all_night))一行上下文权限就划清了。下图是 AgentScope 控制台里智能体执行动作的演示多智能体通信机制驱动的就是这类连续行动JSONSession一键存档与读档它解决的坑一局打到一半崩了或者你想明天接着玩。9 人局动辄几十轮对话JSONSession 把全体玩家的状态序列化到本地下次启动从存档续上session JSONSession(save_dir./checkpoints) await session.load_session_state(session_idplayers_checkpoint, **{p.name: p for p in players})实现见 JSONSession 源码。整局的夜晚/白天回合机都写在 狼人杀主逻辑 里。 三个可玩性改造每次只改一行1. 把 AI 玩家换成真人。在 main.py 里把某个 ReActAgent 换成 UserAgent就变成人机混战from agentscope.agent import UserAgent players[0] UserAgent(nameHumanPlayer)2. 切换游戏语言。在 game.py 改一行 import整局台词从中文切到英文from prompt import ChinesePrompts as Prompts与EnglishPrompts二选一。3. 调整角色策略。main.py 第 40–69 行的系统提示词定义了每个角色的发言风格和决策倾向。把狼人写得更激进、村民写得更保守对局气质立刻不同。所有角色提示词集中在 prompt.py。延伸阅读只留两个入口examples/game/werewolves/game.py读一遍夜晚/白天回合机整个 AgentScope 多智能体案例就通了。src/agentscope/agent/从智能体基类到结构化输出三块积木对应的 ReActAgent 实战源码。智能体 通信中枢 存档会话这套组合拳拿去改提示词就能搬进拍卖、辩论或项目模拟。想动手的话下一步就一条命令git clone https://gitcode.com/GitHub_Trending/ag/agentscope【免费下载链接】agentscopeBuild and run agents you can see, understand and trust.项目地址: https://gitcode.com/GitHub_Trending/ag/agentscope创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考