Skip to main content

Socratic Learning

PyPI Downloads GitHub License

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

Part of Socrates AI Ecosystem

This package is a component of Socrates AI, a production-ready platform for building intelligent multi-agent systems with constitutional governance.

Use This Package Standalone:

pip install socratic-learning

Or As Part of Socrates Platform:

pip install socrates-ai  # Includes 37+ modules + all 11 packages

Integration Example:

See the Socrates ECOSYSTEM.md for detailed integration examples showing how to use socratic-learning with other Socratic packages.

Related packages you might use together:

More Information:


Release files for socratic-learning 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for socratic-learning 0.2.1
File Size Uploaded
socratic_learning-0.2.1.tar.gz 14.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for socratic-learning 0.2.1
File Interpreter ABI Platform
socratic_learning-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size:26.2 kB

Release files / socratic_learning-0.2.1.tar.gz

Download URL socratic_learning-0.2.1.tar.gz
Size 14.7 kB
Tags Source
SHA-256 checksum
How to use checksums
06d7ddeef149b3d90d6899486037bd55fe7fbee2130f69dbaf6fae42f95931c9
BLAKE2b-256 checksum
How to use checksums
f1d00d9da919a0fc38f699e3b83464399a3d4259c314842ea7787cb0488ee7b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / socratic_learning-0.2.1-py3-none-any.whl

Download URL socratic_learning-0.2.1-py3-none-any.whl
Size 11.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3409c30cd46adf4be9c920133beed950530ec7c8a1eb2c0b155d885e8d9d3144
BLAKE2b-256 checksum
How to use checksums
5bd7a19ad4429f4a0bf40ff334b0e23645950ad6f6043ada0c5f8e19b5a0ccf7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page