53 lines
2.2 KiB
Markdown
53 lines
2.2 KiB
Markdown
# Living Agents - Character Development System
|
|
|
|
A sophisticated AI-powered character development system featuring memory-based agents with dynamic personality evolution
|
|
based on Stanford's "Generative Agents" research.
|
|
|
|
## 🎯 Project Goals
|
|
|
|
- Create believable AI characters that remember past interactions
|
|
- Implement dynamic personality development based on experiences
|
|
- Build characters that evolve naturally through their experiences
|
|
- Provide an interactive CLI tool for testing and developing characters
|
|
|
|
## 🏗️ System Architecture
|
|
|
|
The system consists of several interconnected components:
|
|
|
|
1. **Character Agents** - AI entities with memory and personality
|
|
2. **Memory Stream** - Stanford-inspired memory architecture
|
|
3. **Prompt Management** - Centralized, templated prompt system
|
|
4. **Character Explorer** - CLI tool for testing character development
|
|
5. **Trait System** - Dynamic personality development
|
|
6. **LLM Connector** - Flexible backend supporting any OpenAI-compatible API
|
|
|
|
## 🚀 Quick Start
|
|
|
|
1. Set up environment variables in `.env`
|
|
2. Create character templates in YAML format
|
|
3. Run the character explorer CLI to interact with agents
|
|
4. Observe personality development over time
|
|
|
|
## 📁 Project Structure
|
|
|
|
```
|
|
character_templates/ # YAML character definition files
|
|
living_agents/ # Core agent system
|
|
├── character_agent.py # Main character agent implementation
|
|
├── memory_stream.py # Memory architecture
|
|
├── prompts/ # LLM prompt templates and JSON schemas
|
|
├── datatypes.py # Data structures and models
|
|
├── prompt_manager.py # Template management system
|
|
└── llmagent.py # LLM integration wrapper
|
|
llm_connector/ # LLM backend abstraction
|
|
character_explorer.py # CLI tool for testing characters
|
|
```
|
|
|
|
## 🎭 Key Features
|
|
|
|
- **Memory-Based Conversations**: Characters remember and reference past interactions
|
|
- **Dynamic Traits**: Personality develops incrementally from experiences
|
|
- **Structured Outputs**: JSON schemas for reliable LLM responses
|
|
- **Template System**: Easy character creation from YAML files
|
|
- **Flexible LLM Backend**: Support for any OpenAI-compatible API endpoint
|
|
- **CLI Testing Tool**: Interactive character exploration and development |