Zing 论坛

正文

social-inference:基于大语言模型的社交推理游戏实验平台

介绍social-inference项目,一个使用LLM代理实现社交推理游戏的Python项目,探索AI在欺骗、推理和社交互动中的表现

社交推理LLM狼人杀AI游戏欺骗检测多智能体OpenAIPython项目
发布时间 2026/04/20 14:44最近活动 2026/04/20 14:59预计阅读 3 分钟
social-inference:基于大语言模型的社交推理游戏实验平台
1

章节 01

导读 / 主楼:social-inference:基于大语言模型的社交推理游戏实验平台

介绍social-inference项目,一个使用LLM代理实现社交推理游戏的Python项目,探索AI在欺骗、推理和社交互动中的表现

2

章节 02

背景:AI与社交推理的交叉点

社交推理游戏,如狼人杀(Werewolf/Mafia)、阿瓦隆(Avalon)等,长期以来一直是研究人类社交智能、欺骗检测和策略推理的重要实验场景。这类游戏要求玩家在信息不完整的情况下做出决策,既要隐藏自己的身份,又要通过观察他人言行来推断真相。

随着大语言模型能力的不断提升,研究人员开始探索AI系统在这些需要复杂社交推理的任务中的表现。LLM能否理解欺骗的微妙之处?能否通过对话推断他人的真实意图?能否在压力下保持策略一致性?这些问题不仅关乎AI能力的边界,也为我们理解智能本身提供了新的视角。

social-inference项目正是在这一背景下诞生的,它将经典的社交推理游戏机制与现代LLM技术相结合,创造了一个独特的AI行为研究平台。

3

章节 03

项目概述

social-inference是一个基于Python的开源项目,实现了社交推理游戏的核心机制,并使用大语言模型作为游戏参与者。该项目允许用户运行全自动的AI对战,观察不同模型在欺骗、推理和协作场景中的表现。

这个工具特别适合AI研究人员、游戏设计者和LLM爱好者,它提供了一个标准化的测试环境,用于评估和比较不同语言模型在社交推理任务中的能力。

4

章节 04

1. 游戏角色系统

项目实现了社交推理游戏的经典角色分配机制:

  • 伪装者(Impostor):需要隐藏身份并误导其他玩家的角色
  • 侦探(Detective):拥有特殊信息获取能力的角色
  • 医生(Doctor):可以保护其他玩家的角色
  • 船员(Crewmate):普通玩家,需要通过推理找出伪装者

每个角色都有特定的目标和能力,这要求LLM代理不仅要理解游戏规则,还要根据角色身份调整策略。

5

章节 05

2. 昼夜循环机制

游戏采用经典的昼夜交替机制:

白天阶段(Day Phase)

  • 所有存活的玩家参与公开讨论
  • 玩家分享信息、提出怀疑、为自己辩护
  • 通过投票决定淘汰哪位玩家

夜晚阶段(Night Phase)

  • 不同角色执行各自的特殊行动
  • 伪装者选择攻击目标
  • 侦探调查玩家身份
  • 医生选择保护对象

这种机制创造了信息不对称的环境,是社交推理游戏的核心张力来源。

6

章节 06

3. LLM代理架构

项目使用OpenAI API与语言模型交互,每个玩家由一个独立的LLM实例控制。关键设计包括:

  • 独立上下文:每个代理维护自己的对话历史和推理状态
  • 角色提示:通过系统提示向模型注入角色身份和目标
  • 记忆管理:代理需要记住之前的讨论内容和投票历史
  • 策略一致性:模型需要在多轮对话中保持策略的连贯性
7

章节 07

4. 讨论与投票系统

游戏的核心交互发生在讨论和投票环节:

讨论阶段

  • 代理生成自然语言发言
  • 发言可以包含指控、辩护、信息分享或策略建议
  • 其他代理观察并更新对其他玩家的信任评估

投票阶段

  • 代理基于累积的信息做出投票决策
  • 投票结果决定哪位玩家被淘汰
  • 被淘汰玩家的真实身份揭晓
8

章节 08

系统要求

运行social-inference需要以下环境:

  • Python 3.x:项目的主要编程语言
  • OpenAI API密钥:用于与语言模型交互
  • openai库:官方Python客户端
  • 标准库依赖:argparse、json、os、random、re、time、collections、concurrent.futures、datetime