Skip to main content

Continuous learning system that tracks agent interactions, detects patterns, and provides improvement recommendations.

Project description

Socratic Learning

PyPI version Tests Code Quality

Why Socratic Learning?

Most AI platforms treat learning as an afterthought. Socratic Learning makes continuous improvement built-in:

  • Interaction Tracking - Capture and store all agent interactions with full context for analysis
  • Pattern Detection - Automatically identify recurring patterns in agent behaviors and model outputs
  • Performance Monitoring - Track success rates, response times, and costs across all interactions
  • Data-Driven Recommendations - Get actionable improvement suggestions based on detected patterns
  • Fine-Tuning Ready - Export interaction data in industry-standard formats for model fine-tuning

A continuous learning system for AI agents that tracks interactions, detects patterns, and provides data-driven improvement recommendations.

Features

  • Interaction Tracking - Capture and store all agent interactions with context
  • Pattern Detection - Identify recurring patterns in agent behaviors and LLM outputs
  • Performance Metrics - Monitor agent effectiveness with success rates, response times, costs
  • User Feedback Integration - Collect and analyze user feedback on agent responses
  • Learning Recommendations - Generate actionable improvement suggestions
  • Fine-Tuning Export - Export interaction data for model fine-tuning
  • Analytics & Reporting - JSON-based insights and metrics
  • Framework Integration - Works with Openclaw and LangChain

Installation

# Core package
pip install socratic-learning

# With Socratic Agents integration
pip install socratic-learning[agents]

# With all optional dependencies
pip install socratic-learning[all]

# For development
pip install socratic-learning[dev]

Quick Start

from socratic_learning import LearningManager
from socratic_agents import SocraticCounselor

# Initialize learning manager
learning = LearningManager(storage="sqlite", db_path="learning.db")

# Create a tracking session
session_id = learning.create_session(
    user_id="user123",
    context={"environment": "production"}
)

# Track agent interactions
counselor = SocraticCounselor()
result = counselor.guide("recursion", level="beginner")

learning.track_interaction(
    session_id=session_id,
    agent_name="SocraticCounselor",
    input_data={"topic": "recursion", "level": "beginner"},
    output_data=result,
    model_name="claude-opus-4",
    provider="anthropic",
    input_tokens=150,
    output_tokens=500,
    duration_ms=1200.0,
)

# Add user feedback
learning.add_feedback(
    interaction_id=interaction.interaction_id,
    rating=5,
    feedback="Very helpful explanation!"
)

# Get metrics
metrics = learning.get_metrics(agent_name="SocraticCounselor")
print(f"Success rate: {metrics.success_rate}%")
print(f"Avg rating: {metrics.avg_rating}/5")

# Detect patterns
patterns = learning.detect_patterns(agent_name="SocraticCounselor")
for pattern in patterns:
    print(f"Pattern: {pattern.name} (confidence: {pattern.confidence})")

# Get recommendations
recommendations = learning.get_recommendations(agent_name="SocraticCounselor")
for rec in recommendations:
    print(f"Recommendation: {rec.title}")

# Export for fine-tuning
learning.export_for_finetuning(
    output_path="finetuning_data.jsonl",
    agent_name="SocraticCounselor",
    min_rating=4,
    format="openai"
)

Core Concepts

Interaction

Represents a single agent interaction with input, output, performance metrics, and optional user feedback.

Pattern

A detected recurring pattern in agent behaviors (e.g., error patterns, topic-specific behaviors).

Metric

Aggregated performance metrics (success rate, average response time, user satisfaction, costs).

Recommendation

An actionable improvement suggestion based on detected patterns and metrics.

Architecture

  • Core Models - Dataclass-based models with serialization
  • Storage Layer - Abstract interface with SQLite backend
  • Tracking - Interaction logger with session management
  • Analytics - Pattern detection and metrics collection
  • Integrations - Openclaw skills and LangChain tools

Documentation

  • Maturity Calculation System - Complete guide to the confidence-weighted maturity scoring system, including core algorithms, category definitions, and API reference
  • See examples/ for complete working examples

Testing

# Run all tests
pytest

# Run with coverage
pytest --cov=src/socratic_learning --cov-report=html

# Run specific test file
pytest tests/unit/test_models.py -v

Code Quality

# Format with Black
black src/ tests/

# Lint with Ruff
ruff check src/ tests/

# Type check with MyPy
mypy src/

License

MIT

Contributing

Contributions welcome! Please open an issue or submit a PR.

Support Development

If you find this package useful, consider supporting development:

Your support helps fund development of the entire Socratic ecosystem.

Status

Phase 1 - Core foundation complete (v0.1.0 development)

  • ✅ Core data models
  • ✅ SQLite storage
  • ✅ Unit tests
  • 🚀 Phase 2-6 planned

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

socratic_learning-0.1.5.tar.gz (54.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

socratic_learning-0.1.5-py3-none-any.whl (67.0 kB view details)

Uploaded Python 3

File details

Details for the file socratic_learning-0.1.5.tar.gz.

File metadata

  • Download URL: socratic_learning-0.1.5.tar.gz
  • Upload date:
  • Size: 54.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for socratic_learning-0.1.5.tar.gz
Algorithm Hash digest
SHA256 e4fb47aac2d6669a8eb98506a2f6a0b6168febd427414b38ef2a2195a57d9bb4
MD5 7354661c31d0db34daa5e43bc8a3fe03
BLAKE2b-256 1b27941ddc6ef630cdd2f9d7eed6b6dfea501eca5e1207c41bafb7e059ff60af

See more details on using hashes here.

File details

Details for the file socratic_learning-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for socratic_learning-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 4612b0b3d97d4996230e1be8d8b49ada6bd890d0e28be03dc947f7ac7322a1a1
MD5 5fd8f666f71d4c624984370d218a6e69
BLAKE2b-256 e2f9b38992653c96d31a9e266a3faaefe670f92a80bea59da2bd4139bd49dd72

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page