Key Contribution
This paper introduces generative agents - computational software agents that simulate believable human behavior. The key innovation is an architecture combining memory stream, reflection, and planning to create coherent, persistent agent personalities.
Architecture Components
Memory Stream
A comprehensive record of the agent's experience:
Stores observations as natural language descriptions
Each memory has timestamp, importance score, and embedding
Retrieval based on recency, importance, and relevance
Enables agents to remember and reference past events
Reflection
Higher-level abstractions from memories:
Periodically synthesizes memories into insights
Generates questions about recent experiences
Answers questions to form reflections
Reflections stored as new memories (enabling recursive reflection)
Planning
Converting reflections into action:
Creates daily plans based on personality and goals
Plans stored in memory for reference
Plans can be revised based on new observations
Reactions to unexpected events
Memory Retrieval
Scoring Function
Memories retrieved using weighted combination:
Recency: Exponential decay over time
Importance: LLM-assigned significance (1-10)
Relevance: Embedding similarity to current context
Retrieval Process
Query formulated from current situation
Compute scores for all memories
Return top-k highest scoring memories
Include in agent's current context
Reflection Mechanism
Triggering Reflections
When sum of importance scores exceeds threshold:
Generate questions about recent memories
Retrieve relevant memories for each question
Generate insight answering the question
Store insight as high-level memory
Example Reflection
Observations:
"I had coffee with Sarah this morning"
"Sarah mentioned she's stressed about work"
"I noticed Sarah seemed tired"
Reflection:
"Sarah is going through a difficult time at work and could use support"
Simulation Results
Emergent Behaviors
In a simulated town environment:
Information diffusion through conversations
Relationship formation and evolution
Coordinated group activities (party planning)
Consistent personality expression
Evaluation
Human evaluators rated agent behavior
Compared against ablations (no memory, no reflection, no planning)
Full architecture significantly more believable
Implications for Agent Memory
Design Lessons
Importance scoring helps prioritize memories
Reflection enables learning from experience
Planning provides coherent long-term behavior
All components necessary for believability
Memory Stream Properties
Append-only is sufficient
Natural language representation flexible
Embeddings enable semantic retrieval
Hierarchical abstraction through reflection
Limitations
Compute intensive (many LLM calls)
Simulation is small scale
Long-term coherence not fully tested
Memory can grow unbounded
Citation
@inproceedings{park2023generative,
title={Generative Agents: Interactive Simulacra of Human Behavior},
author={Park, Joon Sung and O'Brien, Joseph C and Cai, Carrie J and Morris, Meredith Ringel and Liang, Percy and Bernstein, Michael S},
booktitle={Proceedings of the 36th Annual ACM Symposium on User Interface Software and Technology},
year={2023}
}