LLMのエージェントを使って狼人殺をプレイする

狼人殺のCEOの推薦で、論文を読んだ。その論文ではLLMのエージェントを使って狼人殺をプレイする方法について述べている。

背景

清华大学の学生たちが9月9日に発表した論文。論文原文:https://arxiv.org/abs/2309.04658。論文のタイトルは

ファインチューニングを行わない状況下で、リトリーバルとリフレクションを通じて継続的にエージェントを改善する方法について主に説明している。このフレームワークを使用することで、狼人殺ゲームをうまくプレイできる。まとめると、LLMはファインチューニングやパラメータの変更なしに、適切なプロンプトを使うことで大きな潜在能力を引き出すことができる。

制約

しかし、LLMを使って狼人殺をプレイする際にはいくつかの制約がある。

  1. トークンサイズの問題があり、これまでのすべてのコンテキストを入力する必要がある。
  2. 他のプレイヤーの複雑な意図を理解すること。
  3. エージェントはプレイしながら経験を積み重ねる必要がある。

解決策

特に、CoT(思考連鎖)メカニズムに基づく推論を行うための思考を支援する。

具体的な解決策として、以下のフレームワークが設計された。満たすべき条件は次の通りである:

  1. 手動アノテーションが不要
  2. パラメータの変更が不要で、経験学習のみで可能

この過程で、Emergent Strategic Behaviors(以下図参照)が現れる:信頼(緑色)、対抗(青色)、偽装(ピンク色)、指導(黄色)などの戦略的行動。

デザイン

狼人殺のルールについては詳しく説明しない(遊んだ人はわかるでしょう🐶)。本論文では7人の構成が採用され、5つの役割が設定されている:狼人2名、村民2名、女巫1名、守衛1名、予言者1名。

プロンプト構造は概ね以下のようになる:

情報収集

歴史情報の収集における主要な原則は次の通りである:

  • freshness
  • informativeness
  • completeness

経験学習

エージェントがどのように経験から学ぶか:

  • 彼らのパフォーマンスに基づいてスコアリングを行う
  • 経験を抽出し、アドバイスを提供する

スコアリングの基準:

アドバイスを抽出するためのプロンプトは以下の通りである:

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は一見妥当な質問を提出できるが、その後の推論や意思決定に役立つ質問をすることは難しい。この場合、人間による介入が必要となる。

つまり、人工知能🧠 = 人工👩 + 知能🤖️

事前質問の種類としては以下のものがある:

  • 重要な情報や鍵となる情報を思い出させる。もちろん、それらは役割に関連している。
  • 幻想や誤りの発生を軽減する。例えば、現在の段階とエージェントの役割を示唆する。
  • 複雑な推論を簡素化するためにLLMsを助ける。例えば、エージェントに役割を明らかにする結果を予測させること。
  • 人間プレイヤーの思考方式を模倣する。例えば、他のエージェントの役割を推測する。

1ゲームの出力

以上が論文中で述べられた主要なポイントである。最後に、1つの完全なゲーム出力を確認しよう:

初期値:

最初の夜:

最初の昼:

数日省略。。。

最後の昼: