Zum Inhalt springen
Phronesis v0.1.0 Alpha ist verfügbarAnkündigung lesen
Phronesis

Open Source · Apache 2.0 · Python 3.11+

Praktische Weisheit für KI-Agentensysteme.

Phronesis (φρόνησις): für Aristoteles, praktische Weisheit — die Fähigkeit, gut zu deliberieren und in konkreten Situationen mit Urteilsvermögen zu handeln. Ein LLM verfügt über episteme (Wissen). Ein Agent benötigt phronesis.

hello_phronesis.py
from phronesis import Agent, anthropic

researcher = Agent(
    name="researcher",
    model=anthropic("claude-opus-4-7"),
    system_prompt="You investigate questions thoroughly and cite sources.",
)

answer = await researcher.run("What is phronesis in Aristotelian ethics?")

Warum Phronesis

Ein Agent ist kein Chatbot mit Tools.

LLMs wissen Dinge — das ist Episteme. Aber Agenten müssen entscheiden und handeln mit Urteilsvermögen in konkreten Situationen. Das ist Phronesis. Die meisten Agent-Frameworks behandeln Agenten als erweiterte Chatbots, die an eine Tool-Use-Schleife geklebt sind. Phronesis behandelt sie als deliberative Systeme mit expliziten Verträgen: typisierte Eingaben, deklarierte Effekte, begrenzter Speicher, benannte Ausführungsmuster.

Bestehende Frameworks erzwingen eine Wahl. Auf der einen Seite schreibt man beliebigen Kontrollfluss als Code: maximale Ausdrucksstärke und ein Multi-Agenten-System, das sechs Monate später niemand debuggen kann. Auf der anderen wird alles in YAML oder Graph-Buildern beschrieben: auf den ersten Blick lesbar, unmöglich, sobald etwas Nicht-Triviales nötig ist. Phronesis trennt deklarative Spezifikation von der Laufzeitausführung. Agenten, Tools, Speicher und Pipelines sind typisierte, unveränderliche, JSON-serialisierbare Specs. Ausführungsmuster stammen aus einem geschlossenen, klar definierten Katalog — Ausdrucksstärke ohne Chaos.

Jeder Lauf ist über OpenTelemetry beobachtbar, jede Spec ist versionierbar, jeder Vertrag ist eine Laufzeitprüfung, kein Kommentar in einem Prompt. Das ist der Unterschied zwischen einem Framework, das Demos produziert, und einem, das Systeme produziert, die man betreiben kann.

Code-Tour

Die API in vier Snippets.

Echtes Python. Echte Form. Das Framework unten befindet sich im frühen Alpha — die Oberfläche wird wachsen, aber das Design bleibt so schlank.

Ein Agent bindet ein Modell, Tools und Speicher unter einer einzigen deklarativen Spec.

agent.py
from phronesis import Agent, anthropic
from phronesis.memory import SemanticMemory

agent = Agent(
    name="assistant",
    model=anthropic("claude-opus-4-7"),
    tools=[search_web, read_file],
    memory=SemanticMemory(scope="session"),
    system_prompt="You are a careful research assistant.",
)

Muster

Entworfen für die wiederkehrenden Agent-Formen.

Dies sind Muster, die das Framework heute unterstützt. Es handelt sich nicht um Fallstudien — wir haben noch keine Produktionsnutzer zu beanspruchen, und wir werden nichts anderes vorgeben.
  • Recherche-Agenten

    Agenten, die Informationen sammeln, darüber schlussfolgern und Antworten mit Quellenangaben synthetisieren.

  • Dokument-Agenten

    Agenten, die Dokumente lesen, strukturieren und auf ihnen handeln, mit explizitem Gedächtnis dessen, was sie gesehen haben.

  • Multi-Agenten-Pipelines

    Pipelines, die spezialisierte Agenten durch Übergaben, Debatte oder Konsens komponieren.

  • Tool-nutzende Assistenten

    Agenten, die typisierte Tools und MCP-Server unter expliziten Sicherheitsverträgen aufrufen.

Prinzipien

Sechs Entscheidungen, überall angewandt.

  • Komposition statt Vererbung

    Agenten werden aus Teilen konfiguriert — Modell, Tools, Speicher, Prompts — nicht unterklassiert. Sie setzen zusammen; Sie überschreiben nicht.

  • Async zuerst

    Streaming, Nebenläufigkeit und Abbruch sind Grundannahmen. Es gibt keine synchrone Schatten-API zu pflegen.

  • Stark typisiert

    Pydantic v2 überall. Typen sind keine Dokumentation — sie sind Laufzeitverträge, die das Framework durchsetzt.

  • Unveränderliche Specs, veränderliche Läufe

    Definitionen sind JSON-serialisierbar und reproduzierbar. Ausführungszustand lebt getrennt, beobachtbar und abfragbar.

  • Observability eingebaut

    OpenTelemetry-Spans für jeden Agent-Lauf, Tool-Aufruf und jede Pipeline-Stufe — vom ersten Commit an, nicht nachträglich angeschraubt.

  • Geschlossener Katalog von Ausführungsmustern

    Sequence, Parallel, ReActLoop, Consensus, Debate, Handoff. Benannte Modi, über die man nachdenken kann — kein beliebiger Kontrollfluss.

Was drin ist

Eine kleine, prinzipientreue Oberfläche.

Das Framework ist absichtlich schmal. Jede Schicht verdient ihren Platz, indem sie ein System sicherer zu betreiben oder den Code sechs Monate später einfacher zu lesen macht.

Kern

Die Primitive, aus denen jeder Agent gebaut ist.

  • Agenten
  • Tools
  • MCP-Integration
  • Prompts
  • Fähigkeiten

Zustand und Kontext

Wie Agenten sich erinnern und was sie teilen.

  • Speicher (episodisch, semantisch, Arbeits-, gemeinsam)
  • Kontextverwaltung
  • Sitzungen

Orchestrierung

Wie Agenten sich zu Systemen komponieren.

  • Pipelines
  • Ausführungsmodi
  • Inter-Agenten-Kommunikation
  • Richtlinien
  • Observability

Installieren

Ein Befehl. Python 3.11 oder neuer.

$pip install phronesis-framework

Projektstatus

Phronesis befindet sich im frühen Alpha.

Die API wird sich ändern. Wir arbeiten öffentlich, um ein Framework zu bauen, das Agentensysteme ernst nimmt — typisiert, komponierbar, beobachtbar. Keine Produktionsbehauptungen, keine erfundenen Fallstudien, keine Enterprise-Schranken. Nur der Code und ein ehrliches Bekenntnis zu seinem Design.

Feedback, Ideen und Beiträge sind über GitHub Discussions und Issues willkommen. Die Roadmap, die rauen Kanten und die offenen Fragen sind alle im Repository.