AIDive

In pi: Das 92.000-Sterne-Toolkit für deinen eigenen Agenten

Von AIDive · Veröffentlicht am

Coding-Agents

Dein Agent ist eine Blackbox

Claude Code, Codex und Gemini CLI sind Agent-Harnesses, die jemand anders entworfen hat — und verbringst du deinen Arbeitstag in einem davon, lebst du mit dieser Design-Entscheidung. Willst du ein Verhalten ändern, ein Tool ergänzen, eine Permission-Regel anpassen? Du wartest, bis der Hersteller liefert. Du kennst den Inhalt des System-Prompts nicht, siehst die Schleife nicht, die die Tools ausführt, und kannst nichts davon ändern — obwohl diese Tools längst der Hauptarbeitsplatz tausender Entwickler sind.

Ein Open-Source-Projekt geht den genau umgekehrten Weg: pi, ein Toolkit, das die Einzelteile liefert, um den eigenen Agenten zu bauen, vom Modell-Connector bis zur Oberfläche. Es holte im ersten Jahr 92.000 GitHub-Sterne und liefert etwa jede Woche ein Release. Dieser Artikel behandelt, was pi wirklich in der Box liefert, wie man mit seinem SDK den eigenen Agenten baut, und ein ehrliches Urteil gegen die fertigen Harnesses.

Was ein Harness wirklich ist

Ein Harness ist die gesamte Maschinerie rund um ein Sprachmodell, die daraus einen funktionierenden Agenten macht. Ein Modell allein kann nur eins: Text lesen und Text erzeugen. Es liest keine Dateien, führt keinen einzigen Befehl aus, und erinnert sich von einer Session zur nächsten an nichts. Alles andere ist der Harness — der System-Prompt, der das Modell rahmt, die Tools, die ihm zur Verfügung stehen, die Schleife, die Tool-Aufrufe ausführt und Ergebnisse zurückgibt, und die Oberfläche in deinem Terminal.

Der Harness entscheidet auch die Details, die im Alltag zählen: wie der Verlauf komprimiert wird, wenn der Kontext überläuft, wie ein Tool-Fehler ans Modell zurückgeht, was geloggt wird und was nicht. Claude Code ist ein Harness. Codex auch. Wenn dich ein Agent beeindruckt, geht ein Großteil des Verdienstes an diese Maschinerie, nicht ans Modell — setz dasselbe Modell in zwei verschiedene Harnesses ein, und du bekommst zwei Agenten, die auf ganz unterschiedlichem Niveau sind.

pi, gebaut von Earendil Works, zerlegt diese Maschinerie in wiederverwendbare Bausteine. Du kannst den Coding-Agenten so nutzen, wie er ist, oder dir die Bausteine einzeln nehmen und selbst bauen. Die zweite Option ist die, die uns interessiert.

Im pi-Toolkit

pi ist ein Monorepo — ein einziges Repository, das fünf separat veröffentlichte Pakete beherbergt — und jedes Paket deckt eine Etage des Harness ab:

Paket Was es macht
pi-ai Einheitliche API zu OpenAI, Anthropic, Google und dem Rest: Response-Streaming, Reasoning-Blöcke mit ihren Denkstufen, dynamische Erkennung der Modelle jedes Anbieters. Lab-Wechsel durch ein geändertes Argument.
pi-agent-core Die Agent-Schleife selbst: Conversation-State, plus der Zyklus, der die Nachricht sendet, Tool-Aufrufe liest, sie ausführt und Ergebnisse zurückgibt, bis die Aufgabe fertig ist. Die kniffligen Fälle — ein fehlschlagendes Tool, eine abbrechende Antwort, parallele Aufrufe — sind bereits abgedeckt.
pi-tui Terminal-Rendering-Bibliothek mit differenziellem Rendering: zeichnet nur neu, was sich auf dem Bildschirm ändert.
pi-coding-agent Der komplette Coding-Agent, zusammengesetzt aus den obigen Bausteinen — der Beweis, dass das Toolkit für ein fertiges Produkt reicht.
pi-telemetry Eigene Nutzungsmetriken einbinden, ohne Anbieter-Lock-in.

Die Agent-Schleife ist genau das Teil, das man von Grund auf schlecht schreiben würde; sie sauber zu bauen sind Wochen Arbeit, die man sich mit einem Import spart. Das Team wendet das gleiche Rezept auch anderswo an: ein eigenes Repository, pi-chat, nutzt dieselben Bausteine für Konversationsautomation.

Die Zahlen zeigen, dass die Formel funktioniert:

Metrik Wert
GitHub-Sterne 92.123
Forks 11.400
Commits 5.700+
Lizenz MIT
Releases in den ersten zwei Augustwochen 2026 3 (v0.84.2 am 14. August)

Die MIT-Lizenz bedeutet, dass du pi nutzen, ändern und ohne Einschränkung weitergeben darfst, auch in einem kommerziellen Produkt. pi ist kein Framework mehr unter vielen: es ist ein kompletter Harness, ausgeliefert in Einzelteilen, gepflegt in stetigem Tempo.

Die CLI in der Praxis

Die pi-CLI ist der fertig zusammengesetzte Coding-Agent, den du bekommst, bevor du überhaupt Code anfasst, und hier fängst du an. Die Installation ist eine Zeile, und ihr --ignore-scripts-Flag ist kein Detail: es verhindert, dass deine Abhängigkeiten ihre Install-Skripte ausführen — eine der meistmissbrauchten Angriffsflächen auf npm. Starte pi, verbinde deinen Anbieter mit dem Login-Befehl, und du hast einen Coding-Agenten direkt hier im Terminal. Die Statusleiste zeigt den aktuellen Ordner, die Session, verbrauchte Tokens und die Kosten in Echtzeit — du siehst jede Anfrage bepreist in dem Moment, in dem sie raus geht, statt die Rechnung erst am Monatsende zu entdecken.

Slash-Befehle decken den Alltag ab: model zum Modellwechsel mitten im Lauf, compact fasst den Verlauf zusammen, wenn der Kontext wächst, export zieht die Konversation heraus, settings für den Rest. Eine Markdown-Datei im Prompts-Ordner wird zu einem Befehl, den man per Namen auslöst.

pis wahre Signatur ist die Session-Verwaltung. Jede Konversation wird als JSONL im Home-Ordner gespeichert, nach Projekt sortiert — und der Verlauf ist tatsächlich ein Baum, keine Linie. Du kannst zu jedem Punkt einer Konversation zurückkehren und mit fork einen anderen Weg einschlagen, dann mit tree zwischen Branches wechseln. Ein misslungener Prompt kostet nichts mehr: zurück zum Knoten davor, nochmal versuchen, ohne den anderen Zweig zu verlieren. Da alles lokal gespeichert wird, bringt dich resume zurück in jede vergangene Session, selbst Wochen später. Weder Claude Code noch Codex bieten eine Verlaufsnavigation in dieser Form.

Standardmäßig bekommt das Modell nur vier Tools: read, write, edit und bash. Das ist sehr wenig im Vergleich zu den Agenten am Markt, und das ist Absicht (dazu weiter unten mehr). Die Konfiguration folgt derselben Logik: eine globale Settings-Datei im Home-Ordner, eine pro Projekt, die sie überschreibt, und ein Trust-System, das nachfragt, bevor es die lokalen Einstellungen eines erstmals geöffneten Ordners anwendet. Beim Umstieg lädt pi automatisch bestehende AGENTS.md- oder CLAUDE.md-Dateien als Kontext, sodass vorhandene Anweisungen ohne Umschreiben funktionieren.

Wir bauen unseren eigenen Agenten

Einen Agenten mit pis SDK zu bauen, beginnt mit einem einzigen Import: createAgentSession, dem man eine Model-Runtime und einen Session-Manager übergibt, liefert einen funktionierenden Agenten. Der Session-Manager ist die Wahl der Persistenz — im Speicher für ein Wegwerfskript, oder auf Platte, um Konversationen von Lauf zu Lauf wiederzufinden.

Wir haben es an einem lokalen Projekt getestet. Unser Skript fragt, was im aktuellen Ordner liegt; der Agent ruft sein read-Tool auf, liest den Ordner und antwortet. Das ist die volle Schleife, von uns geschrieben, in etwa zehn Zeilen TypeScript. Sessions, die das SDK erzeugt, haben dieselbe Baumstruktur wie die der CLI — jede Nachricht hängt an ihrem Elternteil — sodass Verlaufsverzweigung auch im eigenen Code funktioniert.

Bei den Custom Tools wird es interessant. defineTool nimmt einen Namen, eine Beschreibung, ein typisiertes Parameter-Schema und eine Execute-Funktion, und das Tool erscheint dem Modell genau wie read oder bash. Wir schrieben eins, das die Videoliste des Kanals abfragt, übergeben in customTools, und der Agent rief es von allein ab der ersten passenden Frage auf. Es ist im Grunde derselbe Mechanismus wie ein MCP-Server, nur dass alles in der eigenen Datei lebt — ohne separaten Prozess, ohne Protokoll dazwischen. Weil das Parameter-Schema typisiert ist, vervollständigt der Editor die Argumente automatisch, und der Agent bekommt bereits validierte Eingaben.

Man kontrolliert auch das Modell, die Denkstufe (von ganz aus bis maximal), die genaue Liste der Tools, die das Modell sieht, und sogar den ganzen System-Prompt über einen Resource-Loader, wenn man bei null anfangen will. Für die Anzeige gibt session.subscribe jedes Event zurück — gestreamten Text, Tool-Aufrufe, Fehler — die man umleiten kann, wohin man will: ein Terminal, ein Messaging-Bot, oder eine CI-Pipeline, die Pull Requests kommentiert. An einem Nachmittag wird man vom Nutzer eines Agenten zu jemandem, der einen geschrieben hat, und weiß endlich, was bei jeder Runde der Schleife passiert.

Erweitern ohne Forken

Die pi-CLI wird über vier Mechanismen angepasst, alle in normalen Ordnern im eigenen Projekt oder Home-Verzeichnis:

  • Extensions — TypeScript-Module, die Tools, Slash-Befehle, Tastenkürzel oder UI-Elemente registrieren. Die Datei landet im Extensions-Ordner und lädt beim Start. Dort würde man zum Beispiel eine Permission-Wache schreiben: eine Extension, die Bash-Befehle abfängt und vor gefährlichen um Bestätigung bittet.
  • Skills — Fähigkeitspakete nach dem Agent-Skills-Standard, demselben, den Anthropic populär machte, sodass bestehende Skills unverändert wiederverwendbar sind.
  • Prompts — wiederverwendbare Prompts als reine Markdown-Dateien.
  • Themes — laden sofort neu, während die CLI läuft.

All das installiert sich wie jedes andere Paket: pi install nimmt ein npm-Paket oder ein Git-Repository, und ein Befehl aktualisiert alles. Die Docs fassen die Philosophie in einem Satz zusammen: pi an die eigenen Workflows anpassen, nicht umgekehrt, ohne zu forken oder das Innere zu patchen.

Das ist das Gegenteil der großen Harnesses. Während Claude Code Sub-Agents, Plan-Modus und Permissions im Produkt liefert, lässt pi das bewusst weg, zum Bauen als Extension oder Installieren aus der Community. Die Wette ist klar: ein minimaler Kern, der sich kaum bewegt, und die gesamte Anpassung lebt auf der eigenen Seite, in Dateien, die man mit dem Projekt versioniert.

Die echte Grenze

pis Transparenz zahlt sich in Arbeit aus, und dieser Preis hat drei Teile.

Erst die Guardrails: standardmäßig gibt es keine eingebauten Permission-Prompts, der Agent kann also einen Bash-Befehl ausführen, ohne zu fragen. Die offiziellen Docs stehen dazu und schlagen drei Isolationsmuster vor, Docker inklusive — aber diese vor dem Loslassen des Agenten auf einer wichtigen Maschine einzurichten, liegt in der eigenen Verantwortung.

Dann die Reife: das ist v0.84, nicht 1.0, mit rund hundert offenen Issues und einigen noch als experimentell markierten APIs, wie dem Remote-Session-Client, der erst in den letzten Wochen dazukam. Was heute funktioniert, kann beim nächsten Release brechen; das ist der normale Preis eines Projekts, das so schnell voranschreitet.

Und schließlich die Zeit. Jeder Komfort, den Claude Code ab Werk mitbringt — Plan-Modus, Sub-Agents, feingranulare Permissions — ist hier ein Projekt, das man selbst baut, oder ein Community-Paket, dem man hinterherjagt in der Hoffnung, dass es gepflegt bleibt. Das Extension-Ökosystem ist ein Jahr alt: man findet weniger fertige Pakete als Lücken zu füllen. Schon die Installation zeigt, wie viel Wachsamkeit das braucht, mit ihrem --ignore-scripts-Flag, und dieses Niveau muss über die gesamte Kette gehalten werden. Wer heute Abend noch Code liefern will, für den bremst pi erst aus, bevor es beschleunigt — den Haupt-Harness diese Woche allein wegen dieses Videos zu ersetzen, lohnt sich nicht.

Für wen sich pi wirklich lohnt

pi ist für Entwickler, die Produkte mit Agenten bauen, nicht nur mit einem einzelnen Agenten. Für sie ist es wohl gerade die beste Lerninvestition überhaupt: die CLI installieren, einen zwanzigzeiligen Agenten mit dem SDK schreiben, und ihm ein eigenes Tool geben. Wer das tut, versteht Claude Code besser als die meisten seiner Nutzer.

Wer heute nur einen produktiven Assistenten will, bleibt beim integrierten Harness und kommt zurück, wenn 1.0 die Guardrails liefert: pis Wert liegt im Verstehen und Kontrollieren, nicht im Sofortkomfort. Dazwischen gibt es einen risikofreien Mittelweg — Claude Code für die Arbeit behalten, und pi als Testbank nutzen, um zu verstehen, was das Haupttool verbirgt.

Die Kernbotschaft: Harnesses sind keine Blackboxen mehr. Die Teile liegen auf dem Tisch, dokumentiert, unter MIT-Lizenz. Beeindruckt oder nervt beim nächsten Mal ein Agent, weiß man genau, welches Teil man sich ansehen muss.

Quellen

Häufige Fragen

Was ist pi, das KI-Agent-Toolkit?
pi ist ein Open-Source-Monorepo von Earendil Works unter MIT-Lizenz, das einen KI-Agent-Harness in fünf wiederverwendbare Pakete zerlegt — pi-ai (einheitliche Modell-API), pi-agent-core (die Agent-Schleife), pi-tui (Terminal-Oberfläche), pi-coding-agent (ein vollständiger Coding-Agent) und pi-telemetry (Metriken). Man kann den Coding-Agenten so nutzen oder sich den eigenen aus den Bausteinen bauen.
Wie baue ich meinen eigenen KI-Agenten mit pi?
createAgentSession aus dem SDK importieren, eine Model-Runtime und einen Session-Manager übergeben (im Speicher oder auf Platte), und man hat eine funktionierende Agent-Schleife in etwa zehn Zeilen TypeScript. Eigene Fähigkeiten fügt man mit defineTool hinzu, das einen Namen, eine Beschreibung, ein typisiertes Parameter-Schema und eine Execute-Funktion nimmt.
Ersetzt pi Claude Code?
Noch nicht als tägliches Werkzeug: pi liefert bewusst ohne eingebaute Permission-Prompts, ohne Plan-Modus oder Sub-Agents, und bei v0.84 können sich APIs zwischen wöchentlichen Releases noch ändern. Der Wert heute liegt in Kontrolle und Verständnis — viele Entwickler behalten Claude Code für die Arbeit und nutzen pi als Testbank.
Was sind die fünf Pakete im pi-Monorepo?
pi-ai (eine API für OpenAI, Anthropic, Google und andere, mit Streaming und Reasoning-Stufen), pi-agent-core (Conversation-State und die Tool-Ausführungsschleife), pi-tui (differenzielles Terminal-Rendering), pi-coding-agent (der zusammengesetzte Coding-Agent) und pi-telemetry (anbieterunabhängige Nutzungsmetriken).
Wie handhabt pi Custom Tools im Vergleich zu MCP?
defineTool registriert ein Tool direkt im eigenen Code mit einem typisierten Parameter-Schema, sodass es dem Modell genau wie die eingebauten Tools read oder bash erscheint. Es ist derselbe Mechanismus wie ein MCP-Server, aber ohne separaten Prozess und ohne Protokollschicht, und das typisierte Schema liefert Editor-Autovervollständigung und bereits validierte Eingaben.
Ist pi produktionsreif?
pi ist bei v0.84 mit rund hundert offenen Issues und einigen noch experimentellen APIs, und standardmäßig kann der Agent Shell-Befehle ohne Nachfrage ausführen. Die Docs schlagen drei Isolationsmuster vor (Docker inklusive); wende eines an, bevor du pi auf einer wichtigen Maschine einsetzt.

Ähnliche Videos