Files
kaizen-agentic/src/kaizen_agentic/core.py
tegwick 8f5c0a7cc6 Add complete Kaizen Agentic framework foundation
- Essential project files: .gitignore, pyproject.toml, README.md
- Documentation framework: CHANGELOG.md, CONTRIBUTING.md, TODO.md, CLAUDE.md
- 15 specialized agent definitions for comprehensive development workflow
- Core source code structure with optimization framework
- Testing infrastructure with example tests
- Proper Python package structure following PythonVibes standards

This establishes the complete foundation for the AI agent development framework
with agent-driven workflows, continuous improvement principles, and comprehensive
development infrastructure.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-19 02:07:53 +02:00

62 lines
1.8 KiB
Python

"""
Core agent infrastructure for the Kaizen Agentic framework.
This module provides the foundational classes for creating and managing
AI agents with continuous improvement capabilities.
"""
from typing import Dict, Any, Optional
from dataclasses import dataclass
from abc import ABC, abstractmethod
@dataclass
class AgentConfig:
"""Configuration for an AI agent."""
name: str
description: str
model: str = "inherit"
instructions: Optional[str] = None
metadata: Optional[Dict[str, Any]] = None
def __post_init__(self):
if self.metadata is None:
self.metadata = {}
class Agent(ABC):
"""Base class for AI agents in the Kaizen framework."""
def __init__(self, config: AgentConfig):
self.config = config
self.performance_history = []
self.optimization_data = {}
@abstractmethod
def execute(
self, task: str, context: Optional[Dict[str, Any]] = None
) -> Dict[str, Any]:
"""Execute a task and return results with performance metrics."""
pass
def record_performance(self, metrics: Dict[str, Any]) -> None:
"""Record performance metrics for kaizen analysis."""
self.performance_history.append(metrics)
def get_optimization_data(self) -> Dict[str, Any]:
"""Get data for optimization analysis."""
return {
"performance_history": self.performance_history,
"config": self.config,
"optimization_data": self.optimization_data,
}
def update_configuration(self, updates: Dict[str, Any]) -> None:
"""Update agent configuration based on optimization insights."""
for key, value in updates.items():
if hasattr(self.config, key):
setattr(self.config, key, value)
else:
self.config.metadata[key] = value