AGIR Learning is a platform designed to accelerate skill development through structured interactions with AI agents in simulated environments. It creates safe, repeatable scenarios for practice, feedback, and reflection.
- Structured Learning Environments: Define learning scenarios with YAML configuration
- Role-Based AI Agents: Simulate different participants with customizable LLM backends
- Guided Reflection: Help learners identify strengths and areas for improvement
- Iterative Development: Progress through increasingly complex scenarios
- Multi-LLM Architecture: Use different models for different roles (efficiency & cost control)
- Memory System: Store and retrieve learning insights across episodes
- Python 3.12+
- Conda package manager
- PostgreSQL database
- API keys for LLM providers (OpenAI, Anthropic, etc.)
# Clone the repository
git clone https://github.com/agircc/agir-learning.git
cd agir-learning
# Create and activate conda environment
conda env create -f environment.yml
conda activate agir-learning
# Install Python dependencies
pip install -r requirements.txt
# Configure your environment
cp .env.example .env
# Edit .env with your database URL and API keys# Ensure database is migrated
make migrate
# Run a sample scenario
make learning SCENARIO=scenarios/hello.yml
# Visualize results
make visualizer- Learner: The primary user whose skills are being developed.
- Scenario: A structured sequence of interactions designed to teach specific skills.
- Agents: AI participants with different roles in the scenario.
- Evolution: The mechanism by which the learner's skills improve through guided practice.
- Creating Scenarios: How to define and configure learning scenarios
- Scenario Construction Process: How scenarios are built in the system
- Evolution Process: How scenarios are executed and learning occurs
- Installation Guide: Detailed installation instructions
- Architecture Overview: System design and components
- Book Reading Feature: Using agents to read and learn from books
├── commands/ # CLI utility commands
├── doc/ # Documentation files
├── scenarios/ # Example scenario YAML files
├── src/ # Source code
│ ├── chat/ # Chat functionality
│ ├── common/ # Shared utilities
│ ├── construction/ # Scenario construction
│ ├── evolution/ # Scenario execution/evolution
│ ├── llm/ # LLM provider integrations
│ └── visualization/ # Result visualization
├── tests/ # Test suite
├── vector_stores/ # Vector databases for memory
├── Makefile # Common commands
├── environment.yml # Conda environment specification
├── requirements.txt # Python package dependencies
└── run.py # Main execution script
The project includes several useful Makefile commands to simplify common operations:
# Run database migrations
make migrate
# Launch the visualization interface
make visualizer
# Clear database tables
make clear_db
# Run a scenario
make learning SCENARIO=path/to/scenario.yml EPISODES=3
# Chat with an agent
make chat AGENT=agent_username
# Process a book and create memories for a user
make read_book USERNAME=alice_007 BOOK_PATH="scenarios/books/THE PSYCHOLOGY OF THE EMOTIONS.txt"
# Export learner memories
make export_memories LEARNER_ID=123See the full command reference for more details.
The repository includes several example scenarios:
scenarios/hello.yml: A simple introduction scenarioscenarios/medical_diagnosis.yml: Medical diagnosis trainingscenarios/programming_mentor.yml: Code review and mentoring
Read the scenario examples guide to learn more about these examples.
Contributions are welcome! See our Contributing Guide for more details on how to get involved.
This project is licensed under the MIT License - see the LICENSE file for details.