Mein OpenClaw-Setup: Weniger Prompt-Gepäck, klarere Aufgaben
Ich mag Werkzeuge, die mir Arbeit abnehmen. Ich mag es weniger, wenn ich anschließend drei Stunden damit verbringe, ihren Organisationsplan zu pflegen. Mein agentisches OpenClaw-Setup bewegt sich ziemlich genau zwischen diesen beiden Polen: Ein Agent für den normalen Austausch, einer für konkrete technische Projekte und einige Spezialisten mit bewusst begrenzten Aufgaben. Das klingt aufgeräumter, als es sich dann im Alltag wirklich anfühlt.
In diesem Artikel zeige ich, wie ich die Rollen aufteile, welche Modelle und Thinking-Stufen (Einstellungen für den Denkaufwand des Modells) ich aktuell verwende und warum ein gutes Briefing oft wichtiger ist als die nächste Agenten-Hierarchie. Dazu gehören auch die Stellen, an denen meine Erwartungen und die tatsächliche Laufzeit am liebsten aneinander vorbeireden. Vieles davon lässt sich auch ohne meine Rollenaufteilung nutzen: Gezielte Briefings, überschaubarer Kontext und eine klare Verantwortung bis zum geprüften Ergebnis.
Ein Chatfenster ist noch kein Team
Ich nutze OpenClaw als Grundlage für ein Setup, in dem mehrere Agenten unterschiedliche Aufgaben übernehmen können. OpenClaw verbindet dabei Modelle mit Werkzeugen, Arbeitsverzeichnissen und laufenden Gesprächen. Ein Agent ist hier also nicht einfach ein anderes Modell: Auch seine Anweisungen, sein Kontext und seine verfügbaren Werkzeuge gehören zur Rolle.
Der Einstieg ist main:
Dort landen Gespräche, Ideen, Fragen und kleine Arbeiten.
Wenn ich eine überschaubare Änderung möchte und der Kontext schon da ist, kann main sie direkt erledigen.
Dafür muss nicht erst eine virtuelle Projektleitung ein Meeting einberufen.
Bei zusammenhängenden technischen Projekten kommt builder ins Spiel.
Gemeint sind Aufgaben, bei denen mehrere Schritte aufeinander aufbauen:
Einen Fehler eingrenzen, eine Änderung umsetzen, passende Tests durchführen und das Ergebnis bewerten.
builder koordiniert dieses Paket und kann dafür gezielt Spezialisten einsetzen.
Das ist keine Pflichtstation für jede Aufgabe.
main kann beispielsweise eine abgegrenzte Recherche direkt delegieren.
Umgekehrt muss builder nicht jede kleine Änderung weiterreichen, wenn er sie mit weniger Gesamtaufwand selbst erledigen kann.
Direkt spreche ich dabei nur mit main und builder, jeweils in eigenen Gesprächen.
Die beiden kommunizieren in meinem Setup nicht direkt miteinander:
Für ein technisches Projekt spreche ich builder selbst an.
Nötigen Kontext aus einem vorherigen Gespräch mit main bringe ich mit.
Die übrigen Agenten arbeiten im Hintergrund:
main oder builder wählen anhand meiner Delegationsregeln einen passenden Spezialisten, formulieren dessen Auftrag und sammeln das Ergebnis wieder ein.
Ich muss die einzelnen Einsätze also nicht von Hand verteilen.
Die wichtigste Frage lautet für mich deshalb nicht: „Welcher Agent könnte das theoretisch auch?“ Sondern: „Wer kann das Ergebnis verantwortlich zu Ende bringen, ohne dass ich unterwegs ein halbes Transkript durchreichen muss?“
Wer bei mir was macht
Die Rollen sollen vor allem verständlich sein. Ich will ihre Aufgaben auch ohne Organigramm erklären können.
Meine direkten Ansprechpartner
-
mainist mein Einstieg für Chat, Ideen, kleine Arbeiten und direkte Delegation. -
builderist mein direkter Ansprechpartner für zusammenhängende technische Projekte und koordiniert die dazugehörigen Arbeitspakete.
Spezialisten im Hintergrund
-
mini_coderbearbeitet begrenzte Untersuchungen oder Änderungen, besonders wenn vorhandene Muster eine klare Richtung vorgeben. -
coderübernimmt eng gekoppelte, schwierigere Implementierungen und größere Refactorings. -
researchersucht externe Fakten und Primärquellen und benennt Unsicherheiten. Er implementiert nicht. -
terraprüft normalerweise Browseransichten, visuelle Ergebnisse und echte Nutzerflüsse. -
architectkann bei tatsächlichen Architekturentscheidungen beraten, führt aber keine Implementierung aus und dient auch nicht als Ausweichmodell für andere Rollen.
Die Grenze zwischen mini_coder und coder hängt nicht an der Anzahl betroffener Dateien.
Auch unbekannter Code oder ein einfaches Refactoring über mehrere Dateien können beim günstigeren Luna gut aufgehoben sein.
Entscheidend ist ein klar abgegrenzter Auftrag:
Das größere Modell formuliert das Briefing für das kleinere und gibt die nötigen Fakten und vorhandenen Muster mit.
Eine erkennbar komplexe Änderung hingegen sollen main oder builder direkt an coder geben.
Auch terra muss nicht nach jeder Änderung den Browser öffnen.
Wenn eine Änderung keinen relevanten Nutzerfluss berührt, kann ein anderer Check sinnvoller sein.
Ein Fund von terra löst zudem nicht automatisch eine Kette aus, in der erst coder und danach wieder terra antreten müssen.
Die Prüfungen ergeben sich aus der Aufgabe, nicht aus einem festen Ritual.
Für ein Projektpaket soll es einen verantwortlichen Koordinator geben.
Wenn ich ein technisches Paket mit builder bearbeite, koordiniert er die Arbeit.
main führt dasselbe Paket nicht parallel.
Spezialisten delegieren in meinem Setup nicht selbst weiter.
In meinem Setup begrenze ich die Parallelität auf höchstens zwei Spezialisten, damit Übergaben und Ergebnisse überschaubar bleiben.
Unabhängig voneinander bearbeitbare Aufgaben dürfen parallel laufen.
Sobald dieselben Dateien bearbeitet werden oder ein Schritt das Ergebnis des vorherigen braucht, wird es seriell.
Parallelität ist nur dann ein Gewinn, wenn der koordinierende Agent hinterher nicht zwei widersprüchliche Änderungen entwirren muss.
Modelle und Thinking: eine Arbeitshypothese
Aktuell ist meine Konfiguration wie folgt aufgeteilt:
Hauptagenten
| Rolle | Modell | Thinking |
|---|---|---|
|
GPT-6.1-Sol |
low |
|
GPT-6.1-Sol |
medium |
Spezialisten
| Rolle | Modell | Thinking |
|---|---|---|
|
GPT-6.1-Sol |
low |
|
GPT-6-Luna |
low |
|
GPT-6-Luna |
low |
|
GPT-6.1-Terra |
low |
|
GPT-6-Astra |
medium |
Das sind konfigurierte Werte beziehungsweise Defaults. Einzelne Aufträge können davon abweichen. Die Auswahl ist meine Arbeitshypothese, kein wissenschaftlicher Modellvergleich: Ich habe keine belastbaren Benchmarks oder Budgetangaben, die ich hier auf eine Nachkommastelle aufblasen könnte.
Die Überlegung dahinter:
Sol übernimmt den breiten Austausch, die technische Koordination und schwierige Implementierung.
Luna soll bei klar begrenzten Aufgaben ausreichen, ohne dafür jedes Mal das größere Modell einzusetzen.
Beim researcher zählen vor allem passende Quellen und nachvollziehbare Befunde.
Bei mini_coder ein verständlicher Auftrag und vorhandene Implementierungsmuster.
Ob sich diese Zuordnung lohnt, entscheidet sich am Ergebnis inklusive nötiger Korrekturen, nicht am Modellnamen allein.
terra soll dort eingesetzt werden, wo visuelle Wahrnehmung und Browserinteraktion konkret helfen.
Ob das für einen Auftrag zutrifft, entscheiden main oder builder anhand der Delegationsregeln.
Das teure Astra bleibt bei architect der Architekturberatung vorbehalten:
Alternativen, Grenzen und Abwägungen.
Für operative Arbeit setze ich die günstigeren Modelle ein.
builder bekommt medium, weil dort häufiger Entscheidungen über Reihenfolge, Abhängigkeiten und Zusammenführung anfallen.
coder läuft auf low, obwohl er bei schwierigeren Implementierungen zum Einsatz kommt.
Braucht ein konkreter Auftrag mehr Denkarbeit, passe ich die Einstellung an und prüfe das Ergebnis.
Wichtig: builder und coder verwenden hier dasselbe Modell.
Wenn builder an coder delegiert, wechselt er damit also nicht in eine günstigere Modellklasse.
Der Vorteil liegt in einer klareren Zuständigkeit und weniger Kontextballast, sofern das Briefing die nötigen Informationen mitgibt.
Wie sich Thinking konkret einstellen lässt, hängt von Modell und Laufzeit ab. Mehr Thinking ersetzt weder einen brauchbaren Auftrag noch eine Prüfung des Ergebnisses. Bei einer klaren, kleinen Änderung kann zusätzlicher Aufwand unnötig sein. Bei einer kniffligen Entscheidung kann er helfen.
Den ersten Entwurf dieses Artikels hat übrigens auf meinen Wunsch terra geschrieben.
Anschließend hat builder ihn mit Rückmeldungen von terra und architect sowie meinen Anmerkungen geprüft und überarbeitet.
Bootstrapping und das unsichtbare Gepäck im Prompt
Bevor ein Modell meine Nachricht bearbeitet, stellt OpenClaw den Kontext für den jeweiligen Agenten zusammen. Zum Bootstrap gehören dabei die ausgewählten Workspace-Dateien, die grundlegende Anweisungen, Rollenbeschreibung und Hintergrundwissen liefern. Dieser vorbereitete Kontext ergänzt meine Nachricht.
Vereinfacht sieht der Ablauf so aus:
Meine Nachricht an main oder builder
|
v
OpenClaw stellt den Modellkontext zusammen
- System- und Laufzeitregeln
- Bootstrap: Ausgewählte Workspace-Dateien
- verfügbare Werkzeuge und bisheriges Gespräch
- meine aktuelle Nachricht
|
v
Modell bearbeitet die Aufgabe
-> bei Bedarf: Werkzeugaufruf und dessen Ergebnis
-> bei Delegation: Eigener Kontext + Briefing
für den Spezialisten; Ergebnis zurück zum Koordinator
|
v
main oder builder bewertet das Ergebnis und antwortet
Werkzeugaufrufe und Delegation können weitere Modellaufrufe auslösen. Auch bei einer späteren Nachricht wird der Kontext erneut zusammengestellt, gegebenenfalls mit einer Zusammenfassung des bisherigen Gesprächs.
Wenn ich einem Agenten eine Frage stelle, reist also häufig mehr mit als mein letzter Satz. Je nach Laufzeit können folgende Bestandteile dazukommen:
-
System- und Laufzeitregeln,
-
Workspace-Dateien wie
AGENTS.md,SOUL.md,IDENTITY.md,USER.mdoderMEMORY.md, -
Beschreibungen verfügbarer Werkzeuge und Skills,
-
der konkrete Aufgabenbrief und Projektregeln,
-
Gesprächsverlauf, Zusammenfassungen und bisherige Toolausgaben.
Das Gepäck ist nicht grundsätzlich schlecht. Ein Agent braucht Kontext. Ohne Projektregeln oder relevante Entscheidungen produziert er unter Umständen etwas, das nur auf den ersten Blick passt. Aber viel Kontext bedeutet nicht automatisch guter Kontext. Widersprüchliche Regeln, veraltete Befunde und lange Logs können die entscheidende Information verdecken.
Wenn ich einem Modell gefühlt mit jeder Nachricht einen halben Roman ins Gesicht werfe, habe ich vielleicht viel Material dabei und trotzdem nicht die Antwort auf die eigentliche Frage. Ein großes Kontextfenster ist für mich eine Reserve, kein Füllziel.
Ich halte deshalb die rollenspezifischen Workspaces und die jeweilige Toolauswahl möglichst schlank. Ein Unteragent bekommt einen gezielten Aufgabenbrief statt pauschal den gesamten Chat als Roman: Relevante Fakten, Pfade und Quellen sowie bereits getroffene Entscheidungen samt Begründung. Was der delegierende Agent mit mir besprochen hat, weiss ein frisch gestarteter Spezialist nicht automatisch.
Pass auf, was du dir wünschst
Früher ließ ich die Spezialisten immer wieder die AGENTS.md und die Projektdokumentation durcharbeiten, obwohl der delegierende Agent die nötigen Informationen bereits erarbeitet hatte.
Den Wiederholungsaufwand hatte ich selbst verursacht: Ich hatte die Regeln in der AGENTS.md von builder unbewusst so formuliert, dass sie genau dieses Verhalten verlangten.
Heute sollen main oder builder diese Regeln und Befunde mit Quellenbezug verdichten und weitergeben.
Relevante Projektanweisungen und betroffenen Code prüfen die Spezialisten weiterhin
Fehlende, geänderte oder widersprüchliche Informationen laden sie gezielt nach.
So erspare ich ihnen vermeidbare Wiederholung.
Für ein Follow-up schickt der koordinierende Agent nach Möglichkeit nur die Änderungen gegenüber dem bisherigen Auftrag:
Was hat sich geändert, welcher Befund ist neu, was soll jetzt passieren?
Das setzt voraus, dass der bisherige Auftragsstand noch verfügbar ist.
Fehlt er nach einem Kontextverlust, muss der Koordinator zuerst das relevante Ziel, die Entscheidungen und Einschränkungen wieder zusammenstellen.
Solange ein Paket offen ist oder eine Korrektur zum bisherigen Ergebnis gehört, bleibt derselbe Spezialist zuständig.
Ist das Paket abgeschlossen und später kommt eine neue, unabhängige Aufgabe, sollen main oder builder dafür eine frische Spezialisten-Session starten.
So bleibt der Zusammenhang erhalten, ohne dass ein Agent zum Dauerlager für alles wird.
Ein schlanker Prompt ist allerdings kein Selbstzweck.
Wichtige Grenzen und Projektkonventionen dürfen nicht verschwinden, nur weil man damit ein paar Token spart.
Die wöchentliche OpenAI-Quota schrumpft schließlich auch dann, wenn unklare Regeln in der AGENTS.md vermeidbare Korrekturschleifen auslösen.
Sag genauer, was du dir wünschst
Als hypothetisches Beispiel nehme ich ein Formular, das eine Einstellung speichern soll. Nach dem Neuladen erscheint allerdings wieder der alte Wert. Die Browseroberfläche zeigt eine erfolgreiche Aktion, während der erwartete Zustand nicht bestehen bleibt.
Ein schlechter Auftrag wäre: „Mach das Formular kaputtfrei.“ Ein brauchbarer Auftrag könnte so aussehen:
Untersuche, warum die Einstellung nach dem Speichern und Neuladen nicht erhalten bleibt. Ergebnis soll eine gezielte Korrektur inklusive passender Tests sein. Die relevanten Einstiegspunkte sind die Formular-Komponente, der zugehörige API-Endpunkt und die bestehende Persistenzschicht. Nutze die vorhandenen Muster; ändere keine anderen Einstellungen und führe keine Migration durch. Prüfe den Fehlerpfad sowie das erfolgreiche Speichern. Falls eine Änderung am Datenmodell oder ein externer Eingriff nötig wird, melde den konkreten Befund vor der Umsetzung.
Dazu gehören im echten Auftrag natürlich die tatsächlichen Pfade und bereits bekannten Fakten. Wenn schon ein reproduzierbarer Request oder eine Fehlermeldung vorliegt, gehören sie ins Briefing. Zwei Agenten unabhängig dieselbe Ausgangslage suchen zu lassen, ist noch keine produktive Parallelisierung.
builder kann die Implementierung samt Tests an einen passenden Spezialisten geben.
Ist bereits bekannt, dass mehrere eng gekoppelte Teile schwierig umzubauen sind, geht der Auftrag direkt an coder.
Zeichnet sich eine kleine Änderung entlang eines bestehenden Musters ab, kann mini_coder passen.
Ich möchte dabei nicht fünf Übergaben für fünf Zeilen Code. Umsetzung und zugehörige Tests bilden oft ein nützliches Paket. Separate Recherche oder Browserprüfung kommen hinzu, wenn sie einen konkreten Mehrwert haben.
Ein gutes Ergebnis enthält nicht nur „fertig“, sondern die geänderten Stellen, ausgeführte Prüfungen samt Ergebnis und offene Grenzen. Der delegierende Agent sammelt diesen Abschluss ein und bewertet ihn. „Accepted“ oder „queued“ heißt erst einmal nur, dass ein Auftrag angenommen oder eingereiht wurde, nicht dass er erfolgreich beendet ist.
Ein grüner Haken beim Build ist ebenfalls kein Beweis, dass der Nutzerfluss funktioniert. Er kann bestehen, während Browser-Routing, CORS oder Persistenz im tatsächlichen Ablauf Probleme machen. Für mein Beispiel gehört deshalb eine echte Nutzeraktion dazu: Speichern, neu laden und den sichtbaren Zustand prüfen. Was nicht getestet wurde, sollte im Ergebnis weder als bestanden auftauchen noch verschwiegen werden.
Wo es kaputtgehen kann
Ein Spezialist ist fertig, aber im Chat passiert nichts mehr.
Ich frage nach, und erst dann sammelt builder das längst vorliegende Ergebnis ein.
Solche Hänger habe ich mit meinem Setup erlebt.
Aus Nutzersicht ist das ziemlich lästig: Ich wollte Arbeit abgeben und muss nun selbst daran erinnern, dass sie auch abgeschlossen wird.
Die Rollen auf dem Papier sind der einfache Teil.
Spannender wird es bei Toolverträgen und Abschlusswegen.
In meinem Alltag mit OpenClaw haben sich geänderte Schnittstellen und unklare Rückmeldungswege als Stolperstellen erwiesen.
Deshalb sollen main und builder prüfen, wie ein delegierter Auftrag seine Fertigstellung meldet, statt sich blind auf eine irgendwann eintreffende Rückmeldung zu verlassen.
Entscheidend ist, welchen Abschlussweg der konkrete Auftrag hat und ob sein Ergebnis tatsächlich eingesammelt wurde.
Ähnlich verhält es sich mit Rechten. Welche Tools ein Unteragent nutzen kann, hängt nicht nur von seinem Profil ab, sondern auch von den Rechten, die der Elternkontext mitbringt. Eine eingeschränkte Toolauswahl ist zudem nicht automatisch eine Sandbox: Eine verfügbare Shell kann weitreichende Möglichkeiten haben. Ein kurzer Rollentext macht daraus noch keine technische Isolation.
Konfigurationsänderungen können ebenfalls zu falschen Erwartungen führen. Ein laufender Turn kann noch eine ältere Tooloberfläche sehen, obwohl die Konfiguration inzwischen geändert wurde. Wenn ein Tool anders aussieht als erwartet, ist „aber ich habe es doch gerade angepasst“ keine besonders hilfreiche Fehlersuche. Man muss prüfen, was in der konkreten Sitzung tatsächlich verfügbar ist.
Be fast, break things …
OpenClaw entwickelt sich schnell. Das ist spannend, bedeutet im Alltag aber auch, dass einmal funktionierende Annahmen über Schnittstellen, Rechte und Abschlussmeldungen nicht dauerhaft gelten müssen. Diese Stolperstellen erlebe ich mit meinem Setup immer wieder.
Am OpenClaw-Code stören mich im Alltag vor allem uneinheitliche Muster und Änderungen, die einen Beispielpfad reparieren und an anderer Stelle etwas kaputtmachen. Dabei wirkt es auf mich öfter so, als seien die betroffenen Abläufe nicht ausreichend unter Alltagsbedingungen getestet worden.
Konkrete Regeln, aber kein Prompt-Rezept
In meinem eigenen OpenClaw-Setup gab es daneben ein hausgemachtes Problem:
Zu viele Regeln.
Für jeden beobachteten Ausrutscher lässt sich eine neue Anweisung formulieren.
Irgendwann verwalten die Agenten mehr Ausnahmen, als sie Aufgaben erledigen.
Nicht jeder einzelne Ausrutscher braucht deshalb einen neuen Absatz in der AGENTS.md.
Wenn mehrere Regeln dasselbe Problem umkreisen, fasse ich sie lieber zu einer klaren Anweisung zusammen.
Regeln, deren ursprünglicher Anlass nicht mehr besteht, können wieder raus.
Kurz:
Gelegentlich muss ausgemistet werden.
Die AGENTS.md ist bei mir keine vollständige Bedienungsanleitung für jeden denkbaren Fall.
Sie beschreibt vor allem Zuständigkeiten und Arbeitsweisen.
Ein paar Beispiele aus den Regeln von main und builder, hier auf Deutsch zusammengefasst:
Erledige eine überschaubare Aufgabe direkt, wenn das weniger Gesamtaufwand verursacht als eine Übergabe. Andernfalls wähle den günstigsten zuverlässig geeigneten Spezialisten.
Ein Briefing enthält das autorisierte Ziel, Ausschlüsse, gesicherte Fakten und Annahmen, relevante Pfade und Quellen sowie die nötigen Prüfungen und Grenzen.
Nutze bereits vorliegende Befunde weiter. Lies Dokumentation erneut, wenn Informationen fehlen, sich der Stand geändert hat oder Widersprüche bestehen, nicht bloß weil ein neuer Arbeitsschritt beginnt.
Bündle Umsetzung, nötige Korrekturen und Validierung zu einem sinnvollen Paket. Eine angenommene oder gestartete Aufgabe ist noch kein abgeschlossenes Ergebnis.
Innerhalb dieses Rahmens entscheiden main und builder, welcher Spezialist passt und welche Prüfung tatsächlich nötig ist.
Projektbezogene Details gehören dagegen in die jeweilige Projektdokumentation und in den konkreten Auftrag, nicht dauerhaft in jede Rollenbeschreibung.
Beim Formulieren solcher Regeln und Prompts kann ich mir wiederum von einem Agenten helfen lassen. Ich beschreibe in meinen eigenen Worten, was ich erreichen möchte und wo es bisher hakt, und lasse daraus einen verständlichen Auftrag oder eine knappe Anweisung machen. Wer spricht schließlich besser LLM als ein LLM? Die Ziele gebe weiterhin ich vor. Der Agent hilft mir, sie passend zu formulieren.
Neues Thema, frischer Kontext
Nicht nur Regeln sammeln sich an, auch Gespräche wachsen.
Nach längerer Arbeit mit builder stecken im Kontext Entscheidungen, Zwischenstände und Ausnahmen, die für dieses eine Problem sinnvoll waren.
Wechsle ich danach zu einer unabhängigen Aufgabe, können diese Altlasten die neue Arbeit unnötig beeinflussen.
Dieser schleichende Kontextzuwachs, Context Creep, fällt nicht unbedingt sofort auf.
Für ein neues Thema starte ich deshalb lieber eine neue Session. Benötigte Projektregeln und relevante Entscheidungen nehme ich gezielt mit. Der Rest darf im alten Gespräch bleiben. Eine laufende Umsetzung oder ihre Korrekturen halte ich dagegen zusammen, bis das Paket abgeschlossen ist.
Nicht nur Features bauen
Die Rollenaufteilung lässt sich auch für andere Aufgaben nutzen. Ich kann den Agenten etwa seine eigenen Arbeitsabläufe untersuchen lassen oder mit ihm prüfen, ob eine neu gemeldete Sicherheitslücke meine Projekte betrifft. Zwei Beispiele aus meinem Alltag:
Selbstoptimierung
Auch mein Agenten-Setup ist nicht irgendwann einfach fertig. Im Alltag zeigt sich, welche Abläufe funktionieren und wo ich mir unnötige Umwege eingebaut habe. Ein Rückblick auf abgeschlossene Sessions kann helfen, solche Muster zu erkennen und die Zusammenarbeit gezielt zu verbessern.
Für diesen Rückblick würde ich möglichst ein leistungsfähiges Frontier-Modell verwenden. Es muss längere Abläufe einordnen und zwischen einem schlechten Briefing, einer Modellgrenze und einem externen Problem unterscheiden können.
Ein Auftrag dafür könnte so lauten:
Analysiere die letzten abgeschlossenen Sessions, soweit du auf sie zugreifen kannst. Wo wurden Informationen mehrfach gelesen, Aufgaben unnötig weitergereicht oder erfolgreiche Prüfungen ohne neuen Anlass wiederholt? Wo entstanden vermeidbare Korrekturschleifen? Belege deine Befunde mit konkreten Stellen und unterscheide Prozessprobleme, Modellgrenzen und externe Blockaden. Schlage wenige gezielte Verbesserungen vor, gegebenenfalls als konkrete Änderungen an der AGENTS.md. Ändere zunächst nichts.
Interessant sind dabei die tatsächlichen Abläufe, nicht nur die Regeln auf dem Papier. Vielleicht ist ein Briefing zu knapp und erzeugt Rückfragen. Vielleicht enthält es zu viel Vorgeschichte. Vielleicht wurde eine Aufgabe sauber delegiert und scheiterte schlicht an einem nicht erreichbaren Dienst. Vielleicht fehlen dem Spezialisten wichtige Projektregeln im Kontext. Nicht jeder Fehlschlag lässt sich mit einer weiteren Anweisung reparieren. Manchmal hilft gerade das Weglassen einer Anweisung!
Fehlen Sessionverläufe oder Nutzungsdaten, muss die Analyse diese Grenze benennen.
Aus einer kürzeren AGENTS.md allein folgt noch keine gemessene Ersparnis.
Vorschläge schaue ich mir deshalb erst an und übernehme gezielt, was ein konkretes Problem löst.
Sonst produziert die Effizienzprüfung am Ende bloß das nächste Paket Prompt-Gepäck.
Security-Check: Bin ich betroffen?
Als eine Sicherheitslücke im Brotli-Decoder gemeldet wurde, habe ich builder meine lokalen Projekte und die Container auf meinem Homeserver prüfen lassen.
Zuerst ging es nur um Bestandsaufnahme:
Welche Versionen sind installiert, welche Laufzeiten bringen Brotli mit, und wo wird tatsächlich dekomprimiert?
Eine Bibliothek zu finden ist schnell erledigt. Herauszufinden, ob der betroffene Codepfad genutzt wird, ist die interessantere Arbeit.
Dabei kamen konkrete Update-Befunde heraus, aber auch wichtige Unterschiede:
Im untersuchten Code eines Python-Projekts wurde Brotli beispielsweise nur zum Komprimieren verwendet.
Bei einigen Containern blieben Teile der Prüfung offen.
Einen widersprüchlichen Zwischenbefund ließ builder nochmals direkt prüfen und korrigierte ihn im Ergebnis.
Erst nach der Bestandsaufnahme gab ich die Updates frei.
builder ging die betroffenen Komponenten schrittweise an und prüfte danach Versionen und Dienststatus.
So wurde aus einer allgemeinen Sicherheitsmeldung eine überschaubare Liste konkreter Arbeiten.
Offene Prüfpunkte gehörten dabei genauso ins Ergebnis wie gefundene Probleme.
Direkt danach ließ ich wegen einer PHP-Sicherheitslücke prüfen, ob auf meinem Homeserver überhaupt noch ein Container PHP nutzt.
builder untersuchte dafür Binaries, Paketlisten und laufende Prozesse.
Bei Containern ohne Shell zusätzlich das Dateisystem.
In den 22 laufenden Containern und einem gestoppten Container fand sich kein PHP.
Ich hatte dabei vor allem Pi-hole im Verdacht, meine Erinnerung stammte aber noch aus der Zeit vor Version 6.
Auch so kann eine Prüfung enden:
Kein Update nötig, dafür eine veraltete Annahme weniger.
Fazit
Mit meinem Setup versuche ich, alltägliche Arbeit sauber aufzuteilen:
main bleibt der direkte Einstieg, builder koordiniert zusammenhängende technische Pakete und Spezialisten bekommen begrenzte Aufträge mit einem klaren Ergebnis.
Die Modellwahl und Thinking-Stufen sind dabei Einstellungen, die sich im Alltag bewähren müssen, keine Qualitätsgarantie. Besonders viel bringt mir, das Prompt-Gepäck bewusst zu halten und möglichst nur dort zusätzliche Agenten einzusetzen, wo die Übergabe ihren Preis wert ist.
Wenn eine kleine Änderung direkt erledigt werden kann, darf sie klein bleiben. Wenn ein komplexer Nutzerfluss betroffen ist, reicht ein grüner Build dagegen nicht als Beruhigungspille. Mein Ziel ist nicht möglichst viel Agentenverkehr. Mein Ziel ist, dass am Ende die Arbeit erledigt ist, möglichst effizient und kostengünstig, und ich noch verstehe, was passiert ist.
Passende Schulungen zum Einsatz von KI-Agenten in der Softwareentwicklung: