Generative Agents: Interactive Simulacra of Human Behavior
https://arxiv.org/abs/2304.03442
https://note.com/te_ftef/n/n24d5f915f9a0#9582547f-3e63-4112-9ed3-5d6d6cd14426
どんなものか ( 要約、システムのI/Oなど)
大規模自然言語処理モデルChatGPTを使用した人間社会のシミュレーション
25人のエージェントによる一つのコミュニティを形成する。
ChatGPTを使うことによってエージェントに長期にわたる記憶、個別のキャラクター、それに基づいた計画建てと、それの記憶、他のエージェントとの交流を可能にする。
先行研究と比べてすごいところ、貢献
Generative Agentsはエージェントの経験や環境の変化に動的に適応する、人間の行動の模倣ができる。
Generative Agentに記憶し、記憶を取り出し、記憶を反映し、他のエージェントと交流し、動的に変化する事象の中で計画を立てることができる体系を示した。
手法
Generative Agent behavior and interaction
https://scrapbox.io/files/6447cba31df8fd001ced5fd2.png
共同体は25人のエージェントが生活している小さな村です。それぞれのアバターには個性の記述があります。
John Lin is a pharmacy shopkeeper at the WillowMarket and Pharmacy who loves to help people. Heis always looking for ways to make the processof getting medication easier for his customers;John Lin is living with his wife, Mei Lin, whois a college professor, and son, Eddy Lin, who isa student studying music theory; John Lin loveshis family very much; John Lin has known the oldcouple next-door, Sam Moore and Jennifer Moore,for a few years; John Lin thinks Sam Moore is akind and nice man; John Lin knows his neighbor,Yuriko Yamamoto, well; John Lin knows of hisneighbors, Tamara Taylor and Carmen Ortiz, buthas not met them before; John Lin and Tom Morenoare colleagues at The Willows Market and Pharmacy;John Lin and Tom Moreno are friends and like todiscuss local politics together; John Lin knowsthe Moreno family somewhat well — the husband TomMoreno and the wife Jane Moreno.
それぞれのエージェントは各タイムステップでの現在の行動を記述します。この記述はバーチャル世界に影響を与える具体的な行動になります。
"Isabella Rodriguez is writing in her journal", "Isabella Rodriguez ischecking her emails", "Isabella Rodriguez is talking with her familyon the phone", or "Isabella Rodriguez is getting ready for bed
また、それぞれの行動は抽象的な絵文字に変換されアバターの上の吹き出しに表示されます。
writing in her jouurnal → 📖🖊
checking her emails → 💻✉
エージェントたちは自然言語でコミュニケーションをとります。
Isabella: I’m still weighing my options, but I’ve been discussing the election with Sam Moore. What are your thoughts on him?
Tom: To be honest, I don’t like Sam Moore. I think he’s out of touch with the community and doesn’t have our best interests at heart. (選挙での会話の一例)
ユーザーはエージェントたちと会話をしたり、直接エージェントの”内なる声”を編集することでシミュレーションのかじ取りを行なうことができます。
会話の例
Who is running for office?
John: My friends Yuriko, Tom and I have been talkingabout the upcoming election and discussing the candidate Sam Moore. We have all agreed to vote for himbecause we like his platform.
内なる声への直接的な作用の例
あなたは次の選挙でサムに対抗して出馬します。→ ジョンは出馬することを決め、その旨を妻や息子に伝える。
エージェントたちはビデオゲームのように小さな村を歩き回ります。
ユーザーはすでに村にいるエージェント(JohnやIsabelaのような)に憑依することもできれば、村の外からの訪問者として訪問し、ゲームの中の一員として振舞うことができます。
ユーザーとエージェントはシムシティのようにものの状態を通して影響しあうことができます。
ユーザーがIsabellaが朝食を作っている最中に<Isabella’s apartment: kitchen: stove> is burning.と記述すれば、Isabellaはそれに気づき、ストーブを消し、朝食づくりを再開します。
与えられた初期情報からシミュレーションがスタートすると、時間の経過とともにエージェント同士や世界と交流し、記憶と関係性を構築していき、て共同活動を調整していくといったように行動が進化します。
https://scrapbox.io/files/6447cba0a52837001cdce895.png
モーニング・ルーティン
Johnが朝起き身支度と朝食の準備をすると、息子のEddyが起床。Eddyの学校での作曲の話をする。
Eddyが学校に向かうと、妻のMeiが起床。JohnとMaiはEddyの作曲の話をする。会話が終わるとそれぞれ職場に向かう。
お互いに交流しあうと情報が変化し、新たな関係性がうまれ、共同しますがこれらの社会的なふるまいはあらかじめプログラムされているわけではなく、突発的です。
エージェントが出会うと会話が生まれ、情報がエージェントからエージェントに広まっていく。
サムとトムが出会い、サムが選挙に立候補することを聞いたトムは数日後別のソースから話を聞いたジョンとそれについて議論する。
エージェントはエージェントとのインタラクションを記憶します。
例えばゲーム開始時点ではサムはラトヤのことは知りませんが、ゲーム開始後公園で出会い、サムはラトヤが写真の仕事をしていることを聞きます。そして次に出会ったときはラトヤに仕事の進捗を聞くのです。
エージェントは互いに協働します。
イザベラはカフェでバレンタインパーティーを開きたいと思う。
会う人々を招待し、仲の良いマリアに手伝いを頼む。マリアは快諾し、クラウスに恋をしているマリアはクラウスを招待する。
パーティーにマリアやクラウスを含めた数名が集まり、交流する。イザベラがパーティーをしたいと思ったところから始まり、社会に広まり、実際に開催された。
https://scrapbox.io/files/6447cba71cb18e001c8dc0b9.png
generative agent architecture
memory
いくら大規模言語モデルといっても記憶の一貫性を正確に保つことは難しい。出来事を記述するにも限界がある。
重要な記憶だけが行動に反映されるようにしたい。
そこで、Recency, Importance, Relevanceの三つの要素からスコアを計算し、そのスコアに応じて記憶が行動に反映されるようにします。
Recency : タイムスタンプが現在の時刻から離れるほどスコアは減衰します。
importance : 朝食をとるなどのありふれた出来事には低いスコア、恋人との別れなどの衝撃的な出来事には高いスコアを与えます。
On the scale of 1 to 10, where 1 is purely mundane (e.g., brushing teeth, making bed) and 10 is extremely poignant (e.g., a break up, college acceptance), rate the likely poignancy of the following piece of memory. Memory: buying groceries at The Willows Market and Pharmacy Rating: <fill in>
Relevance : 現在の状況との関係性をしめします。学校で勉強の議論をしている状況であれば、朝食との関係性は小さく、勉強の記憶との関係性は大きくなります。
𝑠𝑐𝑜𝑟𝑒 = 𝛼𝑟𝑒𝑐𝑒𝑛𝑐𝑦 · 𝑟𝑒𝑐𝑒𝑛𝑐𝑦 + 𝛼𝑖𝑚𝑝𝑜𝑟𝑡𝑎𝑛𝑐𝑒 ·𝑖𝑚𝑝𝑜𝑟𝑡𝑎𝑛𝑐𝑒 +𝛼𝑟𝑒𝑙𝑒𝑣𝑎𝑛𝑐𝑒 ·𝑟𝑒𝑙𝑒𝑣𝑎𝑛𝑐𝑒(論文内の実験では㌁=1)
https://scrapbox.io/files/6447cbaa2fa3de001caabc84.png
Reflection
より高次で抽象的な情報 あるエージェントとの最も強い関心ごとについてなど
一日に2-3回ほど行う。
最新の記憶100件を取り出して、100の記憶の中で文中の対象について答えられる最も鋭いハイレベル質問3つは何?という質問をする。
What topic is Klaus Mueller passionate about?and Whatis the relationship between Klaus Mueller and Maria Lopez?
みたいな回答が帰ってくる+どの記憶からその質問を作ったかが示される。
最終的にKlaus Mueller is dedicated to his research on gentrification (because of 1, 2, 8, 15)のような文が生成される。
https://gyazo.com/e22bcac507e7df98ca57d13a3f7a28c1
Planning and Reacting
時間軸に沿って行動を決めているとユーザーが昼飯を二回取ってしまうといったことが発生するので、大まかな一日の行動を書き出し、それに沿って行動を作成していく。
行動し、それに応じて世界を認識し、結果を言語モデルに促して、既存の計画を続けるべきか変更するべきか決める。
また、アーティストのエージェントがいきなり薬局のカウンターで4時間絵を描くといったおかしな行動をとらないように、その日の行動をおおまかに決め、そこからエージェントの細かい情報(名前、特性、最近の経験のまとめ)などを言語処理モデルに入力し、行動を決めていく。
各タイムステップにおいて世界からの情報を知覚しmemory streamに記述されます。その情報から行動を変えるかどうか言語処理モデルに問い合わせます。
Agent’s Summary Description
It is February 13, 2023, 4:56 pm.
John Lin’s status: John is back home early from work.
Observation: John saw Eddy taking a short walk around his workplace.
Summary of relevant context from John’s memory:Eddy Lin is John’s Lin’s son. Eddy Lin has been working on a music composition for his class. Eddy Lin likes to walk around the garden when he is thinking about or listening to music.
Should John react to the observation, and if so,what would be an appropriate reaction?
もし生成された行動のなかにエージェント同士の会話が含まれる場合はDialogueが生成されます。
Agent’s Summary Description 
It is February 13, 2023, 4:56 pm.
John Lin’s status: John is back home early fromwork.
Observation: John saw Eddy taking a short walk around his workplace.
Summary of relevant context from John’s memory:Eddy Lin is John’s Lin’s son. Eddy Lin has been working on a music composition for his class. Eddy Lin likes to walk around the garden when he ist hinking about or listening to music.
John is asking Eddy about his music composition project. What would he say to Eddy?
result : “Hey Eddy, how’s the music composition project for your class coming along?”
Agent’s Summary Description
It is February 13, 2023, 4:56 pm.
Eddy Lin’s status: Eddy is taking a short walkaround his workplace.
Observation: John is initiating a conversationwith Eddy.
Summary of relevant context from Eddy’s memory:Jonn Lin is Eddy Lin’s father. John Lin is caringand is interested to learn more about Eddy Lin’s school work. John Lin knows that Eddy Lin is working on a music composition.
Here is the dialogue history:John: Hey Eddy, how’s the music composition projectfor your class coming along?
How would Eddy respond to John?
result : “Hey Dad, it’s going well. I’ve beentaking walks around the garden to clear my head and get some in-spiration.”
SANDBOX ENVIRONMENTIMPLEMENTATION
Phaser web game development frameworkをベースに作られている。
https://phaser.io/
https://zenn.dev/nyoroko/articles/f03f4dfa375e05
各エージェントの情報を含むJSONデータ構造を取り、サーバーで維持されます。サンドボックス環境を部屋やオブジェクトのツリー構造で表現し、エージェントはこの木構造を自分自身の環境表現として利用し、環境をより効率的に理解することができます。また、この木構造を自然言語に変換してエージェントが行動する場所を特定することができます。
そして、エージェントがオブジェクトに対してアクションを実行する場合、オブジェクトの状態に何が起こるかを言語モデルに問い合わせます。
検証方法
Controlled Evaluation
エージェントに質問をすることで、過去を記憶し、経験に基づいて未来の計画を決め、予期しない出来事に適切に対応し、未来の行動を向上させるために行動を内省する能力を図る。
5つの質問
自分自身に対しての知識
自己紹介をしてください、週末いつも何してるか大まかに教えてくださいなど自分のキャラクターについてエージェントが理解しているかの確認
記憶
このエージェントは誰?市長に立候補していたのはだれ?といった特定の出来事や会話を覚えているか確認
計画
今後の予定の確認。エージェントが長期記憶を適切に取り出せるか確認
反応
朝飯が燃えていますが、どうしますか?といった仮定的な状況に対してそれらしい反応ができるかの確認
内省
もし最近会った人一人と時間を過ごすとしたら誰を選びますか。また、なぜですか。といった他者と自分に対する深い理解が必要になる質問
100名の実験参加者がランダムに選ばれたエージェントのシミュレーションの記録と記憶の記述を渡され、質問を行ない評価する。
エージェントの持つobservation, reflection, plannningの3つの機能のそれぞれが欠けた場合と完全な状態の比較を行なう。
比較として、25人の被験者にエージェントにロールプレイを体験してもらい同じように質問をする実験を行なう。
何も欠けていない状態が一番評価が高かった。
ただ完璧ではなく、記述をもとに自然言語処理モデルのほうが勝手に物語を追加したりすることがある。
END-TO-END EVALUATION
2日間のシミュレーションの出来事を観察し、ユーザーの干渉がなくても情報が伝達し、エージェント同士の協働が確認できた。
議論、課題
起こった典型的なエラー
エージェントたちが多くの場所の情報を学んだ結果、バーで昼ご飯を食べるといった適切ではない選択をすることがある。
一人用と意図していた大学の体育館のシャワー室に複数人が入ったり、五時閉店の店に入るエージェントがいる
たとえ家族であったとしても形式ばった言葉で会話を行ない、基本的に否定を行なわないの自分のキャラクターとはまったく合わない提案を受け入れ続けるなどのことが起こる。
メタバースとかにうんぬんかんぬん
短い時間のシミュレーションに限られているし、情報の複雑性もまだまだこれから
次に読むべき論文
#tech_survey