Naar inhoud
Phronesis v0.1.0 alpha is beschikbaarLees de aankondiging
Phronesis

Open source · Apache 2.0 · Python 3.11+

Praktische wijsheid voor AI-agentsystemen.

Phronesis (φρόνησις): voor Aristoteles, praktische wijsheid — het vermogen om goed te beraadslagen en met oordeel te handelen in concrete situaties. Een LLM heeft episteme (kennis). Een agent heeft phronesis nodig.

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?")

Waarom Phronesis

Een agent is geen chatbot met tools.

LLM's weten dingen — dat is episteme. Maar agents moeten beslissen en handelen met oordeel in concrete situaties. Dat is phronesis. De meeste agent-frameworks behandelen agents als verbeterde chatbots geplakt aan een tool-use-loop. Phronesis behandelt ze als beraadslagende systemen met expliciete contracten: getypeerde invoer, gedeclareerde effecten, begrensd geheugen, benoemde uitvoeringspatronen.

Bestaande frameworks dwingen een keuze af. Aan de ene kant schrijf je willekeurige besturingsstroom als code: maximale expressiviteit, en een multi-agentsysteem dat niemand zes maanden later kan debuggen. Aan de andere kant wordt alles beschreven in YAML of grafenbouwers: in één oogopslag leesbaar, onmogelijk zodra je iets niet-triviaals nodig hebt. Phronesis scheidt declaratieve specificatie van runtime-uitvoering. Agents, tools, geheugen en pipelines zijn getypeerde, onveranderlijke, JSON-serialiseerbare specs. Uitvoeringspatronen komen uit een gesloten, welomschreven catalogus — expressiviteit zonder chaos.

Elke run is observable via OpenTelemetry, elke spec is versioneerbaar, elk contract is een runtime-check, geen commentaar in een prompt. Dat is het verschil tussen een framework dat demo's produceert en een dat systemen produceert die je kunt opereren.

Code-tour

De API in vier snippets.

Echte Python. Echte vorm. Het framework hieronder is in vroege alpha — de oppervlakte zal groeien, maar het ontwerp blijft zo strak.

Een agent bindt een model, tools en geheugen onder één declaratieve 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.",
)

Patronen

Ontworpen voor de agentvormen die terugkeren.

Dit zijn patronen die het framework vandaag ondersteunt. Geen case studies — we hebben nog geen productiegebruikers om op te claimen, en we doen niet alsof.
  • Onderzoeksagents

    Agents die informatie verzamelen, erover redeneren en antwoorden synthetiseren met citaten.

  • Documentagents

    Agents die documenten lezen, structureren en bewerken met expliciet geheugen van wat ze gezien hebben.

  • Multi-agent pipelines

    Pipelines die gespecialiseerde agents samenstellen via overdrachten, debat of consensus.

  • Tool-gebruikende assistenten

    Agents die getypeerde tools en MCP-servers aanroepen onder expliciete veiligheidscontracten.

Principes

Zes keuzes, overal toegepast.

  • Compositie boven overerving

    Agents worden geconfigureerd uit onderdelen — model, tools, geheugen, prompts — niet via subklassen. Je stelt samen; je overschrijft niet.

  • Async eerst

    Streaming, concurrency en annulering zijn basisaannames. Er is geen synchrone schaduw-API om te onderhouden.

  • Sterk getypeerd

    Pydantic v2 overal. Types zijn geen documentatie — het zijn runtime-contracten die het framework afdwingt.

  • Onveranderlijke specs, veranderlijke runs

    Definities zijn JSON-serialiseerbaar en reproduceerbaar. Uitvoeringsstaat leeft apart, observable en bevraagbaar.

  • Observability ingebouwd

    OpenTelemetry-spans voor elke agent-run, tool-aanroep en pipeline-stap — vanaf de eerste commit, niet er achteraf opgeschroefd.

  • Gesloten catalogus van uitvoeringspatronen

    Sequence, Parallel, ReActLoop, Consensus, Debate, Handoff. Benoemde modi waarover je kunt redeneren — geen willekeurige besturingsstroom.

Wat zit erin

Een klein, principieel oppervlak.

Het framework is opzettelijk smal. Elke laag verdient zijn plek door een systeem veiliger te maken om te bedienen of door code zes maanden later eenvoudiger leesbaar te maken.

Kern

De primitieven waarmee elke agent wordt gebouwd.

  • Agents
  • Tools
  • MCP-integratie
  • Prompts
  • Capabilities

Staat en context

Hoe agents onthouden en wat ze delen.

  • Geheugen (episodisch, semantisch, werk-, gedeeld)
  • Contextbeheer
  • Sessies

Orkestratie

Hoe agents samen systemen vormen.

  • Pipelines
  • Uitvoeringsmodi
  • Inter-agentcommunicatie
  • Beleid
  • Observability

Installeren

Eén commando. Python 3.11 of nieuwer.

$pip install phronesis-framework

Projectstatus

Phronesis bevindt zich in vroege alpha.

De API zal veranderen. We werken openbaar om een framework te bouwen dat agentsystemen serieus neemt — getypeerd, samenstelbaar, observable. Geen productie-claims, geen verzonnen case studies, geen enterprise-poorten. Alleen de code en een eerlijke toewijding aan het ontwerp.

Feedback, ideeën en bijdragen zijn welkom via GitHub Discussions en Issues. De roadmap, de ruwe randjes en de open vragen staan allemaal in de repository.