Image above: Generative agents create believable simulacra of human behavior for interactive applications. In this work, researchers at Google and Stanford demonstrate generative agents by populating a sandbox environment, reminiscent of The Sims, with twenty-five agents. Users can observe and intervene as agents they plan their days, share news, form relationships, and coordinate group activities.
🤓YouTuber 1littlecoder also made a video on this subject, check it out: https://www.youtube.com/watch?v=ltslWT8h4YQ&t=97s
Find the paper that inspired this article here 👉 https://arxiv.org/pdf/2304.03442.pdf
Have you ever wondered what it would be like to live in a virtual world populated by realistic and believable characters? What if you could interact with them using natural language and observe their daily lives, emotions, and relationships? What if you could create your own scenarios and stories with these characters and see how they react?
This is not science fiction. This is the vision of generative agents, a new concept introduced by a team of researchers from Stanford University. Generative agents are computational software agents that simulate believable human behavior using artificial intelligence. They can wake up, cook breakfast, and head to work; artists paint, while authors write; they form opinions, notice each other, and initiate conversations; they remember and reflect on days past as they plan the next day.
In this article, we will explore how generative agents work, what they can do, and why they matter for the future of interactive applications.
To demonstrate the potential of generative agents, the researchers created an interactive sandbox environment inspired by The Sims, a popular life simulation video game. In this environment, users can interact with a small town of twenty five agents using natural language. They can ask them questions, give them commands, or join their activities.
The agents have different personalities, preferences, skills, and goals. They also have memories of their past experiences and reflections on their current situations. They can perform various actions such as eating, sleeping, working, socializing, exercising, and more. They can also react to events such as weather changes, holidays, or user interventions.
The environment is dynamic and evolving. The agents can influence each other and their surroundings. For example, starting with only a single user-specified notion that one agent wants to throw a Valentine's Day party, the agents autonomously spread invitations to the party over the next two days, make new acquaintances, ask each other out on dates to the party, and coordinate to show up for the party together at the right time.
The result is a rich and immersive simulation of human behavior that users can explore and influence.
To give you a glimpse of what generative agents can do, let's take a look at some examples of individual and social behaviors that they exhibit in the sandbox environment.
One example is Alice, an aspiring painter who works as a waitress at a diner. Alice loves art and wants to improve her skills. She spends her free time painting at home or visiting museums. She also likes to read books and watch movies about artists. She has a crush on Bob, a writer who works at a bookstore. She often visits him at his workplace and tries to impress him with her paintings.
Another example is Charlie, a fitness enthusiast who works as a personal trainer at a gym. Charlie enjoys working out and helping others achieve their fitness goals. He likes to eat healthy food and avoid junk food. He has a rivalry with Dave, another trainer who works at the same gym. They often compete with each other in various challenges such as lifting weights or running on treadmills.
A third example is Eve, a journalist who works for a local newspaper. Eve is curious and adventurous. She likes to investigate various topics and write stories about them. She often travels around the town and interviews different people. She has a friendship with Frank, a photographer who works for the same newspaper. They often collaborate on projects and share their opinions.
These are just some of the many examples of generative agents that populate the sandbox environment. Each agent has its own unique story and personality that users can discover and interact with.
How do generative agents work? How do they generate realistic and consistent behaviors? How do they communicate with users and each other?
The birthday planning experiment: it was a scenario where one of the generative agents decided to throw a birthday party for another agent. The experiment showed how the generative agents autonomously coordinated and communicated with each other to plan and execute the party.
🏛️The answer lies in the architecture and components of generative agents. The researchers designed an architecture that extends a large language model (LLM), such as GPT-3 or BERT , to store a complete record of the agent's experiences using natural language, synthesize those memories over time into higher-level reflections, and retrieve them dynamically to plan behavior.
The architecture consists of three main components: observation , planning , and reflection . Each component performs a specific function:
Observation : This component records the agent's sensory inputs (such as vision or speech) using natural language sentences. These sentences are stored in an episodic memory buffer that keeps track of the agent
Planning : This component retrieves relevant memories from the episodic memory buffer and uses them to generate a plan for the agent’s next action. The plan consists of a sequence of natural language sentences that describe the agent’s intention and rationale. The plan is also stored in the episodic memory buffer for future reference.
Reflection : This component synthesizes the agent’s memories over time into higher-level reflections. These reflections are natural language sentences that summarize the agent’s experiences, feelings, opinions, and goals. The reflections are also stored in the episodic memory buffer and can be used to guide the agent’s behavior or communicate with other agents or users.
🤝These components work together to enable generative agents to generate realistic and consistent behaviors that reflect their personality, preferences, skills, and goals. They also enable generative agents to communicate with users and other agents using natural language. Users can ask generative agents questions about their past, present, or future actions, or their reflections on their experiences. 🗣️Generative agents can also initiate conversations with users or other agents based on their observations, plans, or reflections.
How can we measure the believability of generative agents? How do they compare to human actors or other types of agents?
The researchers conducted an evaluation study to answer these questions. They recruited 25 participants and asked them to watch replays of the sandbox environment with different types of agents: generative agents, human actors, scripted agents, and random agents. The participants rated the agents on various aspects of believability, such as coherence, consistency, personality, emotion, and sociality.
The results showed that generative agents were rated higher than scripted and random agents on all aspects of believability. They were also rated higher than human actors on coherence and consistency, but lower on personality, emotion, and sociality. The researchers attributed this to the limitations of the language model and the lack of non-verbal cues in the simulation.
Generative agents are a novel concept that combines artificial intelligence and interactive simulation. They can create realistic and dynamic simulations of human behavior that users can explore and influence.
Generative agents have many potential applications in various domains. For example, they can be used for entertainment purposes, such as creating immersive virtual worlds or interactive stories. They can also be used for educational purposes, such as teaching social skills or cultural awareness. They can also be used for research purposes, such as studying human behavior or testing hypotheses.
Generative agents are not perfect, however. They still have limitations and challenges that need to be addressed. For example, they may produce errors or inconsistencies due to the limitations of the language model or the simulation environment. They may also raise ethical or social issues, such as privacy, consent, or responsibility.
Generative agents are a promising direction for future research and development. By fusing large language models with computational, interactive agents, this work introduces architectural and interaction patterns for enabling believable simulations of human behavior.
🔥If you've been reading this far, you are an absolute legend 😎 and I sincerely appreciate it 🫰. Consider leaving a like or a comment for more content like this.
Follow me on twitter 🐣: @stephabauva
See ya 👋