Ein L2-System ist ein Workflow, dessen Struktur im Code fixiert ist und dessen Lücken bei jedem Schritt von einem LLM gefüllt werden. Der Kontrollfluss ist deterministisch — du kannst ihn lesen, zeichnen, über ihn nachdenken, ohne ihn auszuführen. Der Nicht-Determinismus lebt innerhalb einzelner Knotenaufrufe, nicht im Pfad zwischen ihnen. Anthropics „Building Effective Agents“ rahmt dies als den Tausch zwischen Handlungsspielraum und Vorhersehbarkeit: Je weniger Entscheidungen das LLM darüber treffen darf, welcher Knoten als Nächstes läuft, desto zuverlässiger das System als Ganzes.
Die vier Primitive — sequenziell, Routing, parallel, Loop — komponieren zu den Varianten, die dir in großen Systemen wiederbegegnen. Orchestrator-Workers ist ein Routing-Pattern mit einem Join. Map-reduce ist parallel-mit-Aggregator. Evaluator-Optimizer ist eine Schleife mit einem Generator und einem Kritiker. Das Vokabular unterscheidet sich zwischen Frameworks; die Topologie nicht.
Du wächst aus L2 heraus, wenn sich die nächste Verzweigung nicht als Schalter ausdrücken lässt — wenn welcher Agent sprechen soll selbst die Entscheidung ist, die das System treffen muss. An diesem Punkt werden die Kanten des Workflows zu zahlreich oder zu kontextabhängig, um sie aufzuzählen, und der natürliche Schritt ist zu L3, wo ein Koordinator das Routing zur Laufzeit entscheidet, statt dass du es zur Autorenzeit entscheidest.
Das Pattern, das man hier am ehesten für L3 hält, ist Orchestrator-Workers: Es hat einen zentralen Knoten, der delegiert, und liest sich daher wie Multi-Agent. Es bleibt L2, weil der Orchestrator eine von dir verfasste Kontrollstruktur ist — die Form „zerlegen → auffächern → aggregieren“ steht fest im Code, und die Worker sind kurzlebige, aufgabengebundene Aufrufe. Sein L3-Zwilling, der Supervisor, hält dauerhafte Spezialisten-Agenten und lässt einen Koordinator-Agenten das Routing zur Laufzeit entscheiden: gleiche Silhouette, andere Sprosse.