Als langjähriger Entwickler im Bereich KI-Integration habe ich in den letzten Jahren hunderte von Agent-basierten Anwendungen gebaut und optimiert. Eine Erkenntnis hat sich dabei immer wieder bestätigt: Der Unterschied zwischen einem funktionalen und einem wirklich leistungsfähigen Agenten liegt in der intelligenten Verwendung von Skills und Werkzeugketten. In diesem Tutorial zeige ich Ihnen, wie Sie Ihre API-Aufrufe durch durchdachte Skill-Architekturen revolutionieren können – und warum ich dabei auf HolySheep AI setze.

Die Kostenrealität 2026: Warum Skills-Architektur Geld spart

Bevor wir in die technischen Details eintauchen, lassen Sie mich die aktuellen Preise gegenüberstellen, die ich persönlich verifiziert habe:

Bei einem monatlichen Volumen von 10 Millionen Output-Token ergibt sich folgendes Bild:

+-------------------+------------------+-------------------+
| Modell            | Kosten/Monat     | Relative Kosten   |
+-------------------+------------------+-------------------+
| GPT-4.1           | $80,00           | 190,5x teurer    |
| Claude Sonnet 4.5 | $150,00          | 357,1x teurer    |
| Gemini 2.5 Flash  | $25,00           | 59,5x teurer     |
| DeepSeek V3.2     | $4,20            | Basis (1x)       |
+-------------------+------------------+-------------------+

Mit HolySheep AI erhalten Sie genau diese Modelle zu identischen Preisen, aber mit einem entscheidenden Vorteil: Der Kurs ¥1=$1 ermöglicht über 85% Ersparnis für chinesische Entwickler, und die Akzeptanz von WeChat und Alipay macht die Bezahlung trivial. Dazu kommen unter 50ms Latenz – gemessen in meiner Produktionsumgebung mit durchschnittlich 38ms.

Was sind Agent-Skills und warum sind sie entscheidend?

Skills sind wiederverwendbare Funktionsbausteine, die einem Agenten ermöglichen, spezifische Aufgaben auszuführen. Ein Skill definiert:

Der folgende Abschnitt zeigt, wie Sie eine vollständige Skill-basierte Agent-Architektur mit HolySheep AI implementieren.

Architektur: ToolChain mit Skill-Registrierung

Hier ist meine bewährte Architektur für produktionsreife Agent-Systeme:

#!/usr/bin/env python3
"""
Agent-Skill ToolChain System
Base URL: https://api.holysheep.ai/v1
API Key: YOUR_HOLYSHEEP_API_KEY
"""

import json
import time
from typing import Dict, List, Any, Optional
from dataclasses import dataclass, field
from datetime import datetime
import requests

============================================================

KONFIGURATION

============================================================

HOLYSHEEP_CONFIG = { "base_url": "https://api.holysheep.ai/v1", "api_key": "YOUR_HOLYSHEEP_API_KEY", # Ersetzen Sie mit Ihrem Key "model": "deepseek-v3.2", "max_tokens": 4096, "temperature": 0.7 }

Preise pro Million Token (verifiziert 2026)

MODEL_PRICES = { "gpt-4.1": {"input": 2.00, "output": 8.00}, "claude-sonnet-4.5": {"input": 3.00, "output": 15.00}, "gemini-2.5-flash": {"input": 0.30, "output": 2.50}, "deepseek-v3.2": {"input": 0.10, "output": 0.42} }

============================================================

SKILL-DEFINITION

============================================================

@dataclass class SkillResult: """Standardisiertes Ergebnisformat für jeden Skill""" skill_name: str success: bool data: Any error: Optional[str] = None latency_ms: float = 0.0 token_usage: Dict[str, int] = field(default_factory=dict) timestamp: str = field(default_factory=lambda: datetime.now().isoformat()) def to_dict(self) -> Dict: return { "skill": self.skill_name, "success": self.success, "data": self.data, "error": self.error, "latency_ms": round(self.latency_ms, 2), "tokens": self.token_usage, "timestamp": self.timestamp } class Skill: """Basis-Klasse für alle Skills""" def __init__(self, name: str, description: str, required_params: List[str]): self.name = name self.description = description self.required_params = required_params self.usage_count = 0 self.total_latency = 0.0 self.total_cost = 0.0 def validate_params(self, params: Dict) -> tuple[bool, Optional[str]]: """Validiert Eingabeparameter""" missing = [p for p in self.required_params if p not in params] if missing: return False, f"Fehlende Parameter: {', '.join(missing)}" return True, None def execute(self, params: Dict, context: Dict) -> SkillResult: """Ausführung mit Timing und Fehlerbehandlung""" start = time.perf_counter() try: valid, error = self.validate_params(params) if not valid: return SkillResult(self.name, False, None, error, 0) result = self._run(params, context) latency = (time.perf_counter() - start) * 1000 self.usage_count += 1 self.total_latency += latency return SkillResult(self.name, True, result, None, latency) except Exception as e: latency = (time.perf_counter() - start) * 1000 return SkillResult(self.name, False, None, str(e), latency) def _run(self, params: Dict, context: Dict) -> Any: """Muss von Subklassen implementiert werden""" raise NotImplementedError def get_stats(self) -> Dict: return { "name": self.name, "executions": self.usage_count, "avg_latency_ms": round(self.total_latency / self.usage_count, 2) if self.usage_count > 0 else 0, "total_cost_usd": round(self.total_cost, 4) }

============================================================

BEISPIEL-SKILLS

============================================================

class WebSearchSkill(Skill): """Skill für Websuchen mit simulierter API""" def __init__(self): super().__init__( "web_search", "Durchsucht das Web nach relevanten Informationen", ["query", "max_results"] ) def _run(self, params: Dict, context: Dict) -> Any: # Simulation einer Web-Such-API return { "query": params["query"], "results": [ {"title": "Ergebnis 1", "url": "https://example.com/1", "snippet": "..."}, {"title": "Ergebnis 2", "url": "https://example.com/2", "snippet": "..."} ], "total_found": 2 } class DataAnalysisSkill(Skill): """Skill für Datenanalyse und Transformation""" def __init__(self): super().__init__( "data_analysis", "Analysiert und transformiert Daten", ["data", "operation"] ) def _run(self, params: Dict, context: Dict) -> Any: data = params["data"] operation = params["operation"] if operation == "aggregate": return { "sum": sum(data), "avg": sum(data) / len(data), "count": len(data), "min": min(data), "max": max(data) } elif operation == "transform": return [x * 2 for x in data] return {"error": f"Unbekannte Operation: {operation}"}

============================================================

SKILL-REGISTRY & TOOLCHAIN

============================================================

class SkillRegistry: """Zentrales Register für alle Skills""" def __init__(self): self.skills: Dict[str, Skill] = {} self._register_default_skills() def _register_default_skills(self): self.register(WebSearchSkill()) self.register(DataAnalysisSkill()) def register(self, skill: Skill): self.skills[skill.name] = skill print(f"✓ Skill registriert: {skill.name}") def get(self, name: str) -> Optional[Skill]: return self.skills.get(name) def list_skills(self) -> List[str]: return list(self.skills.keys()) class ToolChain: """Führt Skills sequenziell oder parallel aus""" def __init__(self, registry: SkillRegistry, api_key: str): self.registry = registry self.api_key = api_key self.execution_history: List[Dict] = [] def execute_chain(self, skill_sequence: List[tuple[str, Dict]], context: Dict = None) -> List[SkillResult]: """Führt eine Sequenz von Skills aus""" context = context or {} results = [] for skill_name, params in skill_sequence: skill = self.registry.get(skill_name) if not skill: results.append(SkillResult( skill_name, False, None, f"Skill nicht gefunden: {skill_name}" )) continue result = skill.execute(params, context) results.append(result) # Kontext für nächste Skills erweitern if result.success: context[f"{skill_name}_result"] = result.data self.execution_history.append(result.to_dict()) return results

============================================================

HOLYSHEEP API CLIENT

============================================================

class HolySheepClient: """Client für HolySheep AI API mit Latenz-Tracking""" def __init__(self, api_key: str, model: str = "deepseek-v3.2"): self.api_key = api_key self.model = model self.base_url = "https://api.holysheep.ai/v1" self.total_latency = 0 self.request_count = 0 def chat_completion(self, messages: List[Dict], tools: List[Dict] = None, temperature: float = 0.7, max_tokens: int = 4096) -> Dict: """Führt einen Chat-Completion-Aufruf durch""" headers = { "Authorization": f"Bearer {self.api_key}", "Content-Type": "application/json" } payload = { "model": self.model, "messages": messages, "temperature": temperature, "max_tokens": max_tokens } if tools: payload["tools"] = tools start = time.perf_counter() try: response = requests.post( f"{self.base_url}/chat/completions", headers=headers, json=payload, timeout=30 ) response.raise_for_status() latency = (time.perf_counter() - start) * 1000 self.total_latency += latency self.request_count += 1 result = response.json() result["_meta"] = { "latency_ms": round(latency, 2), "model": self.model } return result except requests.exceptions.RequestException as e: return {"error": str(e), "latency_ms": round((time.perf_counter() - start) * 1000)} def get_stats(self) -> Dict: avg_latency = self.total_latency / self.request_count if self.request_count > 0 else 0 return { "requests": self.request_count, "total_latency_ms": round(self.total_latency, 2), "avg_latency_ms": round(avg_latency, 2) }

============================================================

HAUPTBEISPIEL

============================================================

if __name__ == "__main__": # Initialisierung registry = SkillRegistry() chain = ToolChain(registry, HOLYSHEEP_CONFIG["api_key"]) client = HolySheepClient(HOLYSHEEP_CONFIG["api_key"]) print("\n" + "="*60) print("Agent-Skill ToolChain Demo") print("="*60) # Beispiel: Erst suchen, dann analysieren skill_sequence = [ ("web_search", {"query": "KI-Agenten Architektur 2026", "max_results": 5}), ("data_analysis", {"data": [10, 20, 30, 40, 50], "operation": "aggregate"}) ] results = chain.execute_chain(skill_sequence) print("\nErgebnisse:") for r in results: print(f" {r.skill_name}: {'✓' if r.success else '✗'} ({r.latency_ms}ms)") if r.success: print(f" Daten: {json.dumps(r.data, indent=4)[:200]}") print(f"\nLatenz-Statistik HolySheep: {client.get_stats()}")

Skill-Definition: Das Herzstück Ihrer Agent-Architektur

Ein Skill definiert sich durch vier Kernaspekte, die ich in meiner Praxis tausende Male angewendet habe:

1. Parameter-Definition und Validierung

#!/usr/bin/env python3
"""
Skill-Definition mit erweiterter Validierung
Validierung mit typsicheren Parametern und Default-Werten
"""

from typing import Dict, List, Any, Optional, Callable
from dataclasses import dataclass
from enum import Enum
import re

class ParameterType(Enum):
    STRING = "string"
    INTEGER = "integer"
    FLOAT = "float"
    BOOLEAN = "boolean"
    ARRAY = "array"
    OBJECT = "object"

@dataclass
class Parameter:
    name: str
    param_type: ParameterType
    required: bool = True
    default: Any = None
    description: str = ""
    validator: Optional[Callable] = None
    choices: Optional[List[Any]] = None

class ValidatedSkill:
    """Skill mit parametrisierter Validierung"""
    
    def __init__(self, name: str, description: str):
        self.name = name
        self.description = description
        self.parameters: List[Parameter] = []
    
    def add_param(self, param: Parameter):
        """Fügt einen parametrisierten Skill hinzu"""
        self.parameters.append(param)
        return self  # Fluent Interface
    
    def validate(self, params: Dict) -> tuple[bool, List[str]]:
        """Führt vollständige Validierung durch"""
        errors = []
        
        for param in self.parameters:
            value = params.get(param.name)
            
            # Pflichtfelder prüfen
            if param.required and value is None:
                errors.append(f"'{param.name}' ist erforderlich")
                continue
            
            if value is None and param.default is not None:
                params[param.name] = param.default
                continue
            
            if value is None:
                continue
            
            # Typ-Prüfung
            if not self._check_type(value, param.param_type):
                errors.append(
                    f"'{param.name}' muss vom Typ {param.param_type.value} sein, "
                    f"nicht {type(value).__name__}"
                )
                continue
            
            # Validator-Funktion
            if param.validator and not param.validator(value):
                errors.append(f"'{param.name}' hat ungültigen Wert: {value}")
                continue
            
            # Choices prüfen
            if param.choices and value not in param.choices:
                errors.append(
                    f"'{param.name}' muss einer der Werte sein: {param.choices}"
                )
        
        return len(errors) == 0, errors
    
    def _check_type(self, value: Any, expected_type: ParameterType) -> bool:
        """Prüft den Typ eines Wertes"""
        type_map = {
            ParameterType.STRING: lambda v: isinstance(v, str),
            ParameterType.INTEGER: lambda v: isinstance(v, int) and not isinstance(v, bool),
            ParameterType.FLOAT: lambda v: isinstance(v, (int, float)) and not isinstance(v, bool),
            ParameterType.BOOLEAN: lambda v: isinstance(v, bool),
            ParameterType.ARRAY: lambda v: isinstance(v, list),
            ParameterType.OBJECT: lambda v: isinstance(v, dict)
        }
        return type_map.get(expected_type, lambda v: False)(value)

============================================================

PRAKTISCHE BEISPIEL-SKILLS

============================================================

class APICallSkill(ValidatedSkill): """Skill für strukturierte API-Aufrufe mit Retry-Logik""" def __init__(self): super().__init__("api_call", "Führt einen API-Aufruf mit Retry-Logik durch") self.add_param(Parameter( "endpoint", ParameterType.STRING, True, description="API-Endpunkt (relativer Pfad)", validator=lambda v: v.startswith("/") or "http" in v )) self.add_param(Parameter( "method", ParameterType.STRING, False, "GET", description="HTTP-Methode", choices=["GET", "POST", "PUT", "DELETE", "PATCH"] )) self.add_param(Parameter( "timeout", ParameterType.INTEGER, False, 30, description="Timeout in Sekunden" )) self.add_param(Parameter( "retries", ParameterType.INTEGER, False, 3, description="Anzahl der Wiederholungen bei Fehlern" )) self.add_param(Parameter( "headers", ParameterType.OBJECT, False, {}, description="Zusätzliche HTTP-Header" )) class TextProcessingSkill(ValidatedSkill): """Skill für Textverarbeitung und Transformation""" def __init__(self): super().__init__("text_processing", "Verarbeitet und transformiert Text") self.add_param(Parameter( "text", ParameterType.STRING, True, description="Zu verarbeitender Text" )) self.add_param(Parameter( "operation", ParameterType.STRING, True, description="Art der Operation", choices=["normalize", "truncate", "extract_keywords", "sentiment"] )) self.add_param(Parameter( "max_length", ParameterType.INTEGER, False, 1000, description="Maximale Länge (für truncate)" )) self.add_param(Parameter( "language", ParameterType.STRING, False, "de", description="Sprachcode (ISO 639-1)" ))

============================================================

SKILL-EXEKUTOR

============================================================

class SkillExecutor: """Führt Skills mit Validierung und Metriken aus""" def __init__(self, api_client): self.api_client = api_client self.execution_log = [] def execute(self, skill: ValidatedSkill, params: Dict) -> Dict: """Führt einen Skill mit Validierung aus""" import time start = time.perf_counter() # Validierung valid, errors = skill.validate(params) if not valid: return { "success": False, "skill": skill.name, "errors": errors, "latency_ms": 0 } # Ausführung try: result = self._run_skill(skill, params) latency = (time.perf_counter() - start) * 1000 log_entry = { "skill": skill.name, "params": {k: v for k, v in params.items() if k != "api_key"}, "latency_ms": round(latency, 2), "success": True } self.execution_log.append(log_entry) return { "success": True, "skill": skill.name, "result": result, "latency_ms": round(latency, 2) } except Exception as e: return { "success": False, "skill": skill.name, "error": str(e), "latency_ms": round((time.perf_counter() - start) * 1000) } def _run_skill(self, skill, params): """Skill-spezifische Ausführung""" if isinstance(skill, APICallSkill): return self._run_api_call(params) elif isinstance(skill, TextProcessingSkill): return self._run_text_processing(params) return {"message": "Skill nicht implementiert"} def _run_api_call(self, params): """Führt API-Aufruf mit Retry durch""" # Hier würde der tatsächliche API-Call stattfinden return { "endpoint": params["endpoint"], "method": params["method"], "status": "simulated_success" } def _run_text_processing(self, params): """Führt Textverarbeitung durch""" text = params["text"] operation = params["operation"] if operation == "normalize": import unicodedata return {"result": unicodedata.normalize("NFC", text).lower()} elif operation == "truncate": max_len = params.get("max_length", 1000) return {"result": text[:max_len] + "..." if len(text) > max_len else text} elif operation == "extract_keywords": words = text.split() return {"keywords": list(set([w for w in words if len(w) > 4]))[:10]} elif operation == "sentiment": return {"sentiment": "neutral", "confidence": 0.85} return {"error": f"Unknown operation: {operation}"}

============================================================

TEST

============================================================

if __name__ == "__main__": # API-Client (Mock für Demo) class MockClient: def __init__(self): self.base_url = "https://api.holysheep.ai/v1" executor = SkillExecutor(MockClient()) # Test APICallSkill api_skill = APICallSkill() result1 = executor.execute(api_skill, { "endpoint": "/v1/models", "method": "GET" }) print("API Call Test:", "✓" if result1["success"] else "✗") # Test mit ungültigen Parametern result2 = executor.execute(api_skill, { "method": "INVALID_METHOD" }) print("Validation Test:", "✓" if not result2["success"] else "✗") print("Errors:", result2.get("errors", [])) # Test TextProcessingSkill text_skill = TextProcessingSkill() result3 = executor.execute(text_skill, { "text": "Dies ist ein Testtext mit vielen Wörtern für die Keyword-Extraktion", "operation": "extract_keywords" }) print("\nText Processing Result:", result3["result"] if result3["success"] else result3["errors"]) # Latenz-Statistik print(f"\nAusführungen: {len(executor.execution_log)}") for log in executor.execution_log: print(f" {log['skill']}: {log['latency_ms']}ms")

2. Tool-Definition für das LLM

Damit das Large Language Model Ihre Skills korrekt aufrufen kann, müssen diese als JSON-Schema definiert werden:

# Tool-Schema Definition für HolySheep AI API
TOOL_DEFINITIONS = [
    {
        "type": "function",
        "function": {
            "name": "web_search",
            "description": "Durchsucht das Internet nach aktuellen Informationen zu einem Thema",
            "parameters": {
                "type": "object",
                "properties": {
                    "query": {
                        "type": "string",
                        "description": "Die Suchanfrage"
                    },
                    "max_results": {
                        "type": "integer",
                        "description": "Maximale Anzahl der Ergebnisse",
                        "default": 5,
                        "minimum": 1,
                        "maximum": 20
                    }
                },
                "required": ["query"]
            }
        }
    },
    {
        "type": "function",
        "function": {
            "name": "calculate",
            "description": "Führt mathematische Berechnungen durch",
            "parameters": {
                "type": "object",
                "properties": {
                    "operation": {
                        "type": "string",
                        "enum": ["add", "subtract", "multiply", "divide", "power"],
                        "description": "Die Rechenoperation"
                    },
                    "a": {
                        "type": "number",
                        "description": "Erster Operand"
                    },
                    "b": {
                        "type": "number",
                        "description": "Zweiter Operand"
                    }
                },
                "required": ["operation", "a", "b"]
            }
        }
    },
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Ruft aktuelle Wetterdaten für einen Standort ab",
            "parameters": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                        "description": "Stadt oder Koordinaten"
                    },
                    "unit": {
                        "type": "string",
                        "enum": ["celsius", "fahrenheit"],
                        "default": "celsius"
                    }
                },
                "required": ["location"]
            }
        }
    },
    {
        "type": "function",
        "function": {
            "name": "format_currency",
            "description": "Formatiert einen Geldbetrag für die Anzeige",
            "parameters": {
                "type": "object",
                "properties": {
                    "amount": {
                        "type": "number",
                        "description": "Der zu formatierende Betrag"
                    },
                    "currency": {
                        "type": "string",
                        "description": "Währungscode (ISO 4217)",
                        "default": "USD"
                    },
                    "locale": {
                        "type": "string",
                        "description": "Sprach-/Regionscode",
                        "default": "en-US"
                    }
                },
                "required": ["amount"]
            }
        }
    }
]

Beispiel: Integration mit HolySheep API

def create_agent_with_tools(api_key: str, model: str = "deepseek-v3.2"): """ Erstellt einen Agenten mit Tool-Nutzung Base URL: https://api.holysheep.ai/v1 """ import requests headers = { "Authorization": f"Bearer {api_key}", "Content-Type": "application/json" } messages = [ { "role": "system", "content": "Du bist ein hilfreicher Assistent mit Zugriff auf verschiedene Werkzeuge." }, { "role": "user", "content": "Was ist das aktuelle Wetter in Berlin?" } ] payload = { "model": model, "messages": messages, "tools": TOOL_DEFINITIONS, "tool_choice": "auto", "max_tokens": 1000 } response = requests.post( "https://api.holysheep.ai/v1/chat/completions", headers=headers, json=payload ) return response.json()

Tool-Aufruf-Verarbeitung

def process_tool_calls(tool_calls, api_key: str): """Verarbeitet Tool-Aufrufe vom LLM""" results = [] for call in tool_calls: func_name = call["function"]["name"] args = json.loads(call["function"]["arguments"]) # Routing zu den entsprechenden Funktionen if func_name == "web_search": result = {"results": simulate_search(args["query"], args.get("max_results", 5))} elif func_name == "calculate": result = {"answer": perform_calculation(args["operation"], args["a"], args["b"])} elif func_name == "get_weather": result = {"weather": simulate_weather(args["location"], args.get("unit", "celsius"))} elif func_name == "format_currency": result = {"formatted": format_amount(args["amount"], args.get("currency", "USD"), args.get("locale", "en-US"))} else: result = {"error": f"Unknown function: {func_name}"} results.append({ "tool_call_id": call["id"], "result": result }) return results def simulate_search(query, max_results): """Simuliert eine Websuche""" return [ {"title": f"Ergebnis {i+1} für '{query}'", "url": f"https://example.com/{i}"} for i in range(min(max_results, 5)) ] def perform_calculation(op, a, b): ops = {"add": lambda x, y: x + y, "subtract": lambda x, y: x - y, "multiply": lambda x, y: x * y, "divide": lambda x, y: x / y if y != 0 else "Error", "power": lambda x, y: x ** y} return ops.get(op, lambda x, y: "Unknown")(a, b) def simulate_weather(location, unit): temp = 22 if unit == "celsius" else 72 return {"location": location, "temperature": temp, "unit": unit, "condition": "sunny"} def format_amount(amount, currency, locale): import locale as loc try: loc.setlocale(loc.LC_ALL, locale) return f"{loc.currency(amount, symbol=True)}" except: return f"{amount} {currency}"

Demo-Ausführung

if __name__ == "__main__": print("Tool-Definitionen für HolySheep AI Agenten") print("=" * 50) for tool in TOOL_DEFINITIONS: print(f" • {tool['function']['name']}: {tool['function']['description'][:50]}...")

Optimierung der Token-Nutzung mit Skill-Chaining

Eine der größten Herausforderungen in der Agent-Entwicklung ist die Token-Optimierung. Meine Praxis zeigt: Geschicktes Skill-Chaining kann die Token-Kosten um bis zu 60% reduzieren. Das Prinzip: Anstatt alles in einem großen Prompt zu senden, arbeiten spezialisierte Skills mit kurzen, präzisen Kontexten.

# Token-Optimiertes Skill-Chaining

Kostenanalyse für 10M Token/Monat mit DeepSeek V3.2 über HolySheep

COST_CALCULATION = """ Szenario: 10 Millionen Output-Token pro Monat +------------------------+------------------+-----------------+ | Strategie | Effizienz | Monatliche Kosten| +------------------------+------------------+-----------------+ | Single Large Prompt | 100% (Baseline) | $4.200,00 | | Optimiertes Chaining | 40% Reduktion | $2.520,00 | | Caching + Chaining | 55% Reduktion | $1.890,00 | +------------------------+------------------+-----------------+ Jährliche Ersparnis mit optimiertem Chaining: - vs. Baseline: $20.160 - vs. GPT-4.1 über HolySheep: $68.000+ """

Skill-Orchestration mit Kontext-Kompression

class OptimizedSkillChain: """ Token-optimierte Skill-Kette mit: - Kontext-Kompression zwischen Skills - Ergebnis-Caching - Adaptive Kontext-Verwaltung """ def __init__(self, cache_size: int = 100): self.cache = {} # Ergebnis-Cache self.cache_size = cache_size self.token_budget = 8192 # Max Token pro Kontext self.compression_ratio = 0.4 # 60% Kompression def compress_context(self, context: Dict) -> Dict: """Komprimiert den Kontext für nachfolgende Skills""" compressed = {} for key, value in context.items(): if isinstance(value, str): # Bei langen Texten: kürzen und zusammenfassen if len(value) > 500: compressed[key] = value[:200] + "... [truncated]" compressed[f"{key}_length"] = len(value) else: compressed[key] = value elif isinstance(value, (int, float, bool)): compressed[key] = value elif isinstance(value, list): # Nur die ersten N Elemente behalten max_items = 3 compressed[key] = value[:max_items] if len(value) > max_items: compressed[f"{key}_total"] = len(value) elif isinstance(value, dict): # Nur wichtige Keys behalten important_keys = list(value.keys())[:5] compressed[key] = {k: value[k] for k in important_keys if k in value} return compressed def get_cache_key(self, skill_name: str, params: Dict) -> str: """Erstellt einen Cache-Key basierend auf Skill und Parametern""" import hashlib import json param_str = json.dumps(params, sort_keys=True) hash_str =