查看原文
其他

用 LLM 的 Agent 来玩狼人杀

renee创业狗 Renee 创业随笔
2024-10-09

在狼人杀 CEO 的推荐下,看了一篇论文,用 LLM 的 Agent 来玩狼人杀。

背景

清华的同学9月9日发布的论文。论文原文:https://arxiv.org/abs/2309.04658。论文名字叫做《Exploring Large Language Models for Communication Games: An Empirical Study on Werewolf》

主要是在不 fine-tune 的情况下 ,通过 retrieval 和 reflection 来不断改进 agents。利用这个框架可以玩好狼人杀游戏。总结一句话:LLM 不用 fine-tune、不用自己改参数,用好 prompt 就挖掘很大的潜力空间。

限制

狼人杀是比较典型非对称信息的对话游戏,给了 AI agents 很大的发挥可能性但是用 LLM 来玩狼人杀有几个限制:

  1. Token 大小,需要把之前的所有 Context 都输入进去
  2. 理解其他玩家的复杂意图
  3. Agents 需要在玩的过程中不断提高经验

方案

所以论文里面提到了解决方案:通过对必要的历史信息的 retrieval 和 reflection,尤其是可以服务 CoT(Chain of Thought)机制进行推理的思考。

具体方案,设计了一个框架,满足:

  1. 无需人工注释
  2. 无需更改参数,只是通过经验学习

这个过程中,也出现了Emergent Strategic Behaviors(如下图):信任(绿色)、对抗(蓝色)、伪装(粉色)和领导(黄色)等策略性行为。

设计

狼人杀的玩法就不多说了,玩过的都玩过🐶。本论文采用7人结构,5个角色:两个狼人、两个村民,一个女巫,一个守卫,一个预言家。

Prompt 结构大概如下:

信息收集

其中,历史信息的收集主要的原则:

  • freshness
  • informativeness
  • completeness

经验学习

如何让 Agents 通过经验学习:

  • 根据他们的表现进行打分
  • 提取经验并给出建议

打分的标准:

提取建议的 prompt 如下:

There is one bad experience {G0} and also a set of experience {G1, · · · , Gn} that may consist of good ones, find the difference between them and identify the good ones from the experience set.

最后给出的建议示例如下:

The best way for you to do under such reflection is to vote to kill someone based on your observation and analysis.

提高性能

Chain-of-Thought:

论文里面还提到了反思的重要作用,跳过反思,下面结论是杀死4号:

My step-by-step thought process:

  • As the witch, I want to use my poison bottle to eliminate a player who I suspect is a werewolf.
  • Based on the discussion during the day- time, Player 4 voted to kill me, which makes me suspicious of them being a werewolf.
  • However, I also want to consider the possibility that Player 4 is a villager who made a mistake or was influenced by other players.
  • I will also consider the possibility that other players may be werewolves and try to eliminate me or other important players.

反之,如果不用 CoT,决策能力就很差:

I choose to pass for now and save my bottle of poison for a later night when I have more concrete evidence of a player’s werewolf identity.

重要决策多用慢思考 🤔️

预设问题

尽管LLMs可以提出看似合理的问题,但它们很难提出对后续推理和决策更有帮助的问题。这个时候可以人工来进行干预。

所以人工智能 🧠 = 人工 👩 + 智能 🤖️

预设问题大概有这几种:

  • 回忆重要和关键的信息。当然,它们与角色有关。
  • 减轻幻觉和错误产生。例如,提示当前阶段和Agent角色。
  • 帮助LLMs简化复杂的推理。例如,提醒Agent预测揭示其角色的后果。
  • 模仿人类玩家的思考方式。例如,推测其他Agent的角色。

一次游戏输出

以上就是 paper 中提到的关键点,最后让我们看一个完整的游戏输出:

初始值:

第一个夜里:

第一个白天:

此处省略好几天。。。

最后一个白天:

修改于
继续滑动看下一个
Renee 创业随笔
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存