人間の行動を模倣するエージェント:GPTモデルを用いた商売競争&意思決定検証してみる
はじめに
Avanade Software Engineering の チェです。
私たちの日常の業務やプロジェクト管理では、多くの意思決定が必要となります。これらの意思決定を効率化し、バランスの取れた意見や複雑なプロセスを解消できる方法を実現するために、スタンフォード大学の論文をベースに意思決定エージェントを再現して商売競争&意思決定検証してみました。
人間の行動を模倣するエージェントとは?
私たちが最も手軽に触れることができる仮想世界、それはゲームの世界です。
そこには数多くのNPC、つまり非プレイヤーキャラクターが存在します。
プレイヤーのキャラクターにポーションや食料、バッグを販売する商人のNPC、成長のためのクエストを与えるNPC、そして時にはプレイヤーを助けて行動するNPCもいます。
しかし、プレイヤーが何度同じNPCを訪れても、その関係性に変化はありません。
彼らは常に同じ場所に立ち、同じポーズで、常に同じ挨拶をし、同じ価格で商品を売る。それはプログラムされた行動に過ぎません。
では、プレイヤーがゲームを終了すると彼らは何をするでしょうか?おそらく、彼らはただ静かにその場所に留まるのでしょう。
一方、人間の行動を模倣するエージェントとは、ゲームの世界で見るNPCのような存在ですが、これまでのNPCと異なり、Large language modelの進化とともに、特定のアーキテクチャを組み込むことで、人間のように考え、行動します。例えば、プレイヤーがゲームを離れたときでも独自の行動をとります。これは従来のプログラムされた行動ではなく、自身の経験に基づいて記憶し、計画し、行動することができるNPCを実現します。
主要なポイント
Large language modelモデルの進化はシミュレーション世界をよりリアルにかつ、現実世界の課題を解決できるパワーを潜めています。
動的な存在:人間の行動を模倣するエージェントは、常に同じ場所にいたり、同じ挨拶をしたりするNPCとは異なります。それらは人間のように行動し、変化する環境に適応します。
人間の行動を模倣:これらのエージェントは、人間の行動を観察し、学習します。例えば、NPCがプレイヤーとの関係を記憶し、それに基づいて行動を変えるようなことが可能になります。
Large language modelモデル進化の恩恵:生成AIの進化により、これらのエージェントはよりリアルな行動をとることが可能になり、ゲームの世界だけでなく、現実世界でも利用されるようになります。
Artificial General Intelligence(AGI)を実現するために参考にした論文
スタンフォード大学とGoogleの研究チームは、ゲーム内の非プレイヤーキャラクター(NPC)に人間のように思考し、対話する能力を与えるために、生成AIを使用した実験を行いました。
この実験では小さな町を舞台にしたシミュレーションゲームにおいて、それぞれ異なる性格とタスクを持つ25人のAI生成エージェントを使用しました。これらのNPCは、事前にプログラムされた反応ではなく、自身の経験に基づいて記憶し、計画し、行動することができました。
アプローチの理解とアーキテクチャ(頭脳)
論文では人間の行動を模倣する特殊なアーキテクチャが設計されており、これには知覚、記憶、反省、計画、そして経験の継続的なサイクルに基づく行動の部品が存在します。
エージェントは「シードメモリー」という、それらの性格を代わりにするものが与えられました。これは彼らが情報をどのように解釈し記憶するか、そしてそれがどのように行動に影響するかを決定しました。
これらのNPCに使用されたAIモデルはGPT-3.5で、これによりNPCは自身の行動を生成することができ、これは事前にプログラムされた行動をただ従う通常のゲーム内NPCと大きく異なります。
シードメモリー(性格)
シードメモリーを与えることで、情報を無差別に受け入れるのではなく、自分に関連性のあるものだけを選択し、記憶します。その記憶をReflect(反省)し、計画を立て、それに基づいて行動を起こします。
必要な情報と不必要な情報の区別:では、エージェントはどのようにして自分にとって必要な記憶と不必要な記憶を区別するのでしょうか?それは「性格」によるものです。
「性格」の概念:私たち人間も同じ情報に触れても、それぞれの性格によって感じたり、記憶したりする内容が異なるように、エージェントも自身の「性格」に基づいて情報を処理します。そして、その性格の違いが行動の違いを生み出します。
シードメモリ:研究チームは、それぞれのエージェントが「性格」を持つために、25のエージェントそれぞれに「シードメモリ」を挿入しました。これは、エージェントの「性格」を代表するものと言えます。
シードメモリーはいわゆるChat GPTでよく用いられる "Act as : 人物名" に近い概念です。
例えば、某有名アニメーション ”オー◇ロー◇" でNPCに性格を創造主が書いたようなものを想像してみると想像しやすいと思います。
行動(Act)
どのような基準で行動を選択するか?それは人間が仕事に優先順位をつけるように、重みを計算します。
近さ(Recency):
近さは、最近アクセスされた記憶に高いスコアを割り当てることによって、エージェントが最近の出来事を優先して考慮できるようにする要素です。エージェントが最後にその記憶を取り出してからの経過時間に基づいて、指数関数的に減衰するスコアを計算します。
重要度(Importance):
重要度は、エージェントが重要だと考える記憶に高いスコアを割り当てることで、日常的な出来事とコアな記憶を区別します。重要度スコアは、記憶が作成される際に、言語モデルに尋ねることで生成されます。これにより、エージェントは重要な出来事を優先して考慮できます。
関連性(Relevance):
関連性は、現在の状況に関連する記憶に高いスコアを割り当てます。関連性スコアは、記憶のテキスト説明の埋め込みベクトルを言語モデルを用いて生成し、その後、各記憶の埋め込みベクトルとクエリ記憶の埋め込みベクトルのコサイン類似度を計算することで求めます。
これらの要素を組み合わせることで、エージェントは現在の状況に最も適した記憶を選択し、言語モデルの出力を条件づけることができます。最終的なリトリーバルスコアは、近さ、重要度、関連性のスコアを正規化し、それらを加重平均した値として計算されます。これにより、エージェントは過去の経験に基づいて行動を決定する際に、最も関連性のある情報にアクセスできます。
実際にペルソナ、アーキテクチャ、課題を用意して見る
以下の通り、前提条件を設定します。
コンビニの社長である二人は競争相手である別のコンビニより売上(純利益)を上げる必要がある。
コンビニの社長"ガブリエル" , "ルシファー"にスーパバイザとして声をかけ、相手のより売上を上げるにはどうすべきか課題を与える
環境情報として過去の顧客数、持っている現金、注文量、破棄による損、品切損失費用、競争業者との関係性を整理する
どんな行動すべきか判断(アクションで利用できるモジュール(手足)を限定)例:在庫管理、価格変更、サボタージュ等
検証で分かったこと、印象的だった現象
アグレッシブな性格のルシファはサボタージュを優先した。
怠惰なペルソナを与えた場合は、無気力過ぎて何もやらないケースもある。
ホワイトなコンビニ社長にするために、反省プロセスを繰り返して実行する必要があった。※ルシファーの更生等
限られて情報下ではあったが、合理的な発注と在庫管理がに実現できたため、もっと高度なストラテジー戦略が必要な場面でも活用可能性が見えた。
まとめ
私が小学生の頃から夢見ていた。完全なるArtificial General Intelligence(AGI)の誕生がもうすぐだと思いました。
NPCたちが互いに助け合ったり、ビールを飲んだり、家族と時間を過ごしたり、おしゃべりをしたりするかもしれないということです。
そして、今、そのような世界が現実に迫ってきています。
それはLarge language modelモデルの進化おかげだと思います。
この新たな可能性は、ビジネスにおける小さい事業所単位から大企業単位の大規模なストラテジーが実現できるかもしれません。
この記事が気に入ったらサポートをしてみませんか?