Skip to main content

Memory Manager Agents

Erdo provides specialized agents for managing memories - contextual information that agents can store, retrieve, and build upon across conversations and workflows.

Available Memory Agents

Interpret and Store Memories

The Interpret and Store Memories agent analyzes code execution results, conversation context, and data outputs to create structured memories that can be referenced later.

Quick Start

from erdo.actions import bot

# Store analysis results as memories
result = bot.invoke(
    bot_name="interpret and store memories",
    parameters={
        "code": "df.groupby('category').sum()",
        "output": "Electronics: $50000, Clothing: $30000",
        "context": "Monthly sales analysis by category"
    }
)

What Gets Stored

  • Successful analysis patterns - Effective data transformations - Useful function combinations - Performance optimizations
  • Dataset characteristics - Column relationships - Business metrics definitions - Quality issues and solutions
  • User preferences - Domain-specific terminology - Reporting requirements - Decision criteria
  • Common problem resolutions - Debugging approaches - Workaround strategies
  • Prevention techniques

Configuration

# Store memories with specific categorization
result = bot.invoke(
    bot_name="interpret and store memories",
    parameters={
        "content": "Customer churn analysis revealed 15% monthly churn rate",
        "category": "business_metrics",
        "context": "Q4 2024 analysis",
        "importance": "high",
        "tags": ["churn", "customers", "retention"]
    }
)

# Store technical insights
result = bot.invoke(
    bot_name="interpret and store memories",
    parameters={
        "code": "pd.read_csv('data.csv', parse_dates=['date'])",
        "insight": "Always parse date columns for time series analysis",
        "category": "technical_tips",
        "applies_to": ["pandas", "data_loading"]
    }
)

Search Memories

The Search Memories agent finds relevant memories using natural language queries, helping agents leverage past insights and learned patterns.

Quick Start

from erdo.actions import bot

# Search for relevant memories
result = bot.invoke(
    bot_name="search memories",
    parameters={
        "query": "How to handle missing customer data?",
        "limit": 5
    }
)

Search Capabilities

Search Filters

  • Category: Filter by memory type (business_metrics, technical_tips, etc.)
  • Time Range: Recent memories or historical insights
  • Importance Level: High-priority memories first
  • Tags: Specific topic areas
  • User Context: Personal or team-specific memories

Memory Types

Business Intelligence Memories

  • Key metrics and their definitions
  • Recurring analysis patterns
  • Decision-making criteria
  • Performance benchmarks

Technical Memories

  • Successful code patterns
  • Error resolutions
  • Data processing techniques
  • Integration solutions

Process Memories

  • Workflow optimizations
  • User preferences
  • Reporting templates
  • Automation triggers

Integration Patterns

# Store insights during analysis
analysis_result = analyze_data(dataset)

# Store the insight for future use
memory_result = bot.invoke(
    bot_name="interpret and store memories",
    parameters={
        "content": analysis_result.insight,
        "context": analysis_result.context,
        "category": "data_insights"
    }
)
# Search for relevant context before analysis
relevant_memories = bot.invoke(
    bot_name="search memories",
    parameters={
        "query": f"analysis of {dataset_name}",
        "limit": 3
    }
)

# Use memories to inform analysis
analysis_context = relevant_memories.memories
# Continuous improvement pattern
def analyze_with_learning(query, dataset):
    # Search for relevant memories
    memories = search_memories(query)

    # Perform analysis with context
    result = analyze_data(dataset, context=memories)

    # Store new insights
    store_memories(result.insights)

    return result

Best Practices

Memory Organization

  • Use consistent categorization schemes
  • Include relevant tags for discoverability
  • Set appropriate importance levels
  • Regular cleanup of outdated memories

Search Optimization

  • Use specific, descriptive queries
  • Leverage category filters for focus
  • Combine multiple search approaches
  • Validate memory relevance before use

Privacy and Security

  • Respect data governance policies
  • Avoid storing sensitive information
  • Implement access controls
  • Regular audit of stored memories

Advanced Features

# Create connected memories
result = bot.invoke(
    bot_name="interpret and store memories",
    parameters={
        "content": "Sales increased after marketing campaign",
        "related_memories": ["campaign_analysis_123", "sales_metrics_456"],
        "relationship_type": "causal"
    }
)