Zum Hauptinhalt springen

Fünf Arten von “Planung” in der KI-Tooling-Landschaft

Das Wort “Planung” ist überladen. Heute existieren mindestens fünf unterschiedliche Ansätze, und sie lösen verschiedene Probleme:
AnsatzPlanformatAusführungGenehmigungKernwert
Implizite ModellplanungInterne Chain-of-ThoughtEinzelner InferenzdurchlaufKeineDas Modell durchdenkt Schritte selbstständig
Claude Code PlanmodusMarkdown-DokumentSeriellMensch überprüft vor AusführungEinigung auf Ansatz vor Code-Änderungen
Claude Code TeamsAufgabenliste mit AbhängigkeitskantenParallel (Multi-Agent)Mensch genehmigt Plan, dann autonomDynamischer Agent-Pool + parallele Ausführung
Kiro spec-driven devStrukturierte Spezifikation (Anforderungen + Design + Aufgaben)SeriellMensch überprüft SpezifikationNachverfolgbare Anforderungen, Akzeptanzkriterien
FIM One DAGJSON-AbhängigkeitsgraphParallel (einzelner Orchestrator)Automatisch (PlanAnalyzer)Parallele Ausführung + Laufzeit-Scheduling
Die ersten beiden sind Design-Zeit-Planung — sie erzeugen einen Plan vor Arbeitsbeginn, und ein Mensch (oder das Modell selbst) folgt ihm Schritt für Schritt. Die letzten drei führen Laufzeit-Planung ein — Ausführungsgraphen werden programmgesteuert generiert und geplant, mit unabhängigen Branches, die parallel laufen. Der Unterschied liegt darin, wer ausführt: Claude Code Teams startet autonome Agenten; FIM One DAG verteilt Schritte innerhalb eines einzelnen Orchestrators. Diese Ansätze sind keine Konkurrenten; sie sind komplementäre Schichten. Eine Kiro-ähnliche Spezifikation kann definieren, was gebaut werden soll, während ein FIM One DAG wie die Unteraufgaben parallel ausgeführt werden, planen kann. Claude Code’s Planmodus stellt sicher, dass ein Mensch dem Ansatz zustimmt; FIM One’s PlanAnalyzer überprüft das Ergebnis automatisch.

Dreischichtige Verschachtelung: Die Vollleistungs-Architektur

Sowohl Claude Code Teams als auch FIM One DAG zeigen in voller Kapazität eine dreischichtige verschachtelte Architektur:
  • Layer 1 — Human Gate: Der Benutzer überprüft den Plan und genehmigt ihn vor Beginn der Ausführung.
  • Layer 2 — DAG-Orchestrierung: Der genehmigte Plan wird in Aufgaben mit Abhängigkeitskanten zerlegt. Unabhängige Aufgaben laufen parallel; nachgelagerte Aufgaben warten auf die Auflösung ihrer Blocker.
  • Layer 3 — ReAct-Innenschleife: Jede Aufgabe wird von einem Agenten ausgeführt, der einen vollständigen ReAct-Zyklus durchläuft (Perceive → Reason → Act → Observe), mit Fähigkeit zu mehrstufigem Reasoning, Tool-Nutzung und autonomem Retry.
Die Kernidee: Claude Code Teams und FIM One DAG implementieren die gleichen drei Schichten, nur mit unterschiedlicher Layer-2-Mechanik — Message-Passing vs. Abhängigkeitskanten-Auflösung.

Full-Power Runtime: FIM One vs Claude Code Teams

Beide sind echte Agenten — die Kernschleife ist identisch: Wahrnehmen → Reasoning → Handeln → Feedback. Der Unterschied liegt darin, wie sie parallele Arbeit mit voller Kapazität orchestrieren.
DimensionClaude Code TeamsFIM One DAG
ParallelmodellLeader spawnt SubAgenten, weist Aufgaben über Nachrichten zuTopologische Sortierung parallelisiert unabhängige Schritte automatisch
AufgabengraphTaskList mit blockedBy / blocks Kanten (dynamischer DAG)Statischer JSON DAG mit depends_on Kanten
KoordinationExplizite Nachrichtenübergabe (SendMessage / Broadcast)Implizite Abhängigkeitskanten — keine Nachrichten, nur Datenfluss
Agenten-LebenszyklusDynamischer Pool — Agenten bei Bedarf erzeugt, beendet wenn fertigFeste Schritt-Executoren — ein LLM-Aufruf pro Schritt
Feedback & KorrekturJeder SubAgent versucht autonom erneut; Leader weist bei Fehler neu zuPlanAnalyzer bewertet Ergebnisse → Re-Planning-Schleife (bis zu 3 Runden)
Menschliche BeteiligungPlan-Modus-Genehmigung, dann autonome AusführungVollautomatisch — PlanAnalyzer entscheidet über Bestätigung/Neuplanung
KontextverwaltungJeder SubAgent erhält isoliertes Kontextfenster (keine Kreuzkontamination)Gemeinsamer DbMemory + LLM Compact über alle Schritte
Token-ÖkonomieN Agenten × Token pro Agent — Zeit↓ Token↑ (multiplikativer Kostenfaktor)Sequenziell oder flache Parallelität — niedrigere Gesamttoken
SkalierungsmusterMehr SubAgenten hinzufügen (horizontal, nachrichtengekoppelt)Mehr DAG-Branches hinzufügen (horizontal, abhängigkeitsgekoppelt)
Am besten geeignet fürVielfältige, lose verwandte Aufgaben (Recherche + Code + Test)Strukturierte Workflows mit klaren Datenabhängigkeiten

Real-World Benchmark: v0.5 RAG System

Claude Code Teams built FIM One’s entire v0.5 RAG subsystem in a single session:
  • 8 phases: Embedding → Reranker → Loaders → Chunking → VectorStore → Retrieval → KB Backend → Frontend + Docs
  • 46 tests passing, frontend build clean
  • Wall time: ~5 minutes
  • Token cost: ~100k tokens per Agenten-Aufgabe × 8+ tasks ≈ 800k+ total tokens
  • Dependency edges: Phase 5 depends on Phase 4 + 1b; Phase 6 depends on Phase 5 + 2 + 3 — a genuine DAG
This demonstrates the core trade-off: time parallelism at the cost of token multiplication. Claude Code Teams trades compute dollars for developer hours.

Konvergenz, nicht Konkurrenz

Die Grenze zwischen „Team-Zusammenarbeit” und „Pipeline-Planung” verschwimmt:
  • Claude Code Teams’ blockedBy/blocks IST ein DAG — Aufgaben haben explizite Abhängigkeitskanten, und der Leader verteilt neu freigegebene Aufgaben, wenn Vorgänger abgeschlossen sind. Dies ist topologische Planung mit zusätzlichen Schritten (Nachrichten).
  • FIM One’s DAG könnte von Agent-Autonomie profitieren — statt einzelner LLM-Aufrufe pro Schritt würde es, wenn jeder Schritt eine vollständige ReAct-Schleife ausführt, komplexe Teilaufgaben besser bewältigen.
Fazit: Gleiche Agent-Essenz, konvergierende parallele Philosophien. Claude Code folgt einem Team-Zusammenarbeit-Modell — ein Leader delegiert an Worker, die sich über Nachrichten austauschen. FIM One folgt einem Pipeline-Planungs-Modell — ein DAG-Executor verteilt Schritte basierend auf Abhängigkeitsauflösung. In der Praxis implementieren beide abhängigkeitsgesteuerte parallele Ausführung; der Unterschied liegt im Koordinations-Overhead (Nachrichten vs. Kanten) und der Token-Ökonomie (isolierte Kontexte vs. gemeinsamer Speicher). Die optimale Architektur kombiniert wahrscheinlich beide: DAG-Planung für strukturierte Pipelines, Agent-Pools für Aufgaben, die autonome mehrstufige Reasoning benötigen.

Strukturierte Ausgabeverschlechterung

Alle strukturierten LLM-Aufruforte in der DAG-Pipeline (Planner, Analyzer, Tool Selection) verwenden ein einheitliches structured_llm_call()-Dienstprogramm, das eine 3-stufige Verschlechterungskette implementiert:
StufeBedingungFunktionsweise
Native FCllm.abilities["tool_call"]Erzwingt einen virtuellen Tool-Aufruf; extrahiert aus tool_calls[0].arguments
JSON Modellm.abilities["json_mode"]Setzt response_format={"type":"json_object"}; analysiert mit extract_json()
Klartextimmer verfügbarAnalysiert Freiforminhalt mit extract_json(), dann optional regex_fallback()
Jede textbasierte Stufe versucht einmal mit einer Umformatierungsaufforderung erneut, bevor sie zur nächsten Stufe übergeht. Das Ergebnis ist ein StructuredCallResult, das den analysierten Wert, die erfolgreiche Extraktionsstufe und die kumulierte Token-Nutzung enthält. Dieses Design bedeutet, dass die gleiche Aufforderung zuverlässig über GPT-4 (native FC), Claude (JSON Mode) und lokale Modelle (Klartext) funktioniert, mit konsistenter Fehlerbehandlung und Wiederholungslogik an einer Stelle statt verstreut über vier Aufruforte.