Subagents
Erfahre, wie Bob subagents verwendet, um fokussierte, in sich geschlossene Aufgaben in isolierten Kontexten zu bearbeiten, ohne die Hauptkonversation zu belasten.
Was sind subagents?
Ein subagent ist ein unabhängiger Agent, den Bob spawnen kann, um eine fokussierte, in sich geschlossene Aufgabe zu bearbeiten. Er läuft in einem eigenen, isolierten context window, führt die zugewiesene Arbeit aus und gibt eine Zusammenfassung der Ergebnisse an die Hauptkonversation zurück.
Subagents sind nützlich für Arbeiten, die sonst große Mengen irrelevanter Inhalte zur laufenden Konversation hinzufügen würden – zum Beispiel, wenn ein Abschnitt einer Codebasis eingehend untersucht werden soll, um bestimmte Informationen zu sammeln, bevor Bob mit der Hauptaufgabe weitermacht.
Wie subagents funktionieren
Wenn Bob einen subagent spawnt:
- Es wird ein neuer, unabhängiger Agent mit eigenem context window erstellt.
- Bob übergibt ihm eine Beschreibung der fokussierten Aufgabe, die auszuführen ist.
- Du wirst aufgefordert, den spawn zu genehmigen, bevor er beginnt. Bob wartet, bis du bestätigst.
- Der subagent führt die Aufgabe mit seinen verfügbaren Tools aus.
- Der subagent gibt eine Zusammenfassung seiner Ergebnisse an Bob zurück.
- Bob nutzt diese Zusammenfassung, um die Hauptkonversation fortzusetzen.
Der subagent läuft getrennt von der Hauptkonversation. Er teilt weder Status, Dateien noch Tool-Ergebnisse mit Bob, außer Bob übergibt sie explizit in der Beschreibung.
Subagent-Typen
Es gibt zwei subagent-Typen, die jeweils für unterschiedliche Aufgaben geeignet sind:
| Typ | Beschreibung | Am besten geeignet für |
|---|---|---|
explore | Schreibgeschützte Codebase-Erkundung, läuft auf einem leichteren Modell | Suchen und Zusammenfassen von Code, Finden relevanter Dateien, Strukturverständnis |
general | Vollständiger Tool-Zugriff, läuft auf dem Standard-Modell | Beliebige in sich geschlossene Aufgaben, die Lesen, Schreiben oder Befehle erfordern |
Kontext und Konversationsverlauf
Standardmäßig sieht ein subagent den Verlauf der übergeordneten Konversation nicht. Dadurch bleibt sein Kontext schlank und auf die jeweilige Aufgabe fokussiert.
Wenn ein subagent frühere Entscheidungen, Einschränkungen oder Präferenzen aus der Konversation kennen muss, kann Bob fork_context: true setzen, um den Konversationsverlauf an den subagent weiterzugeben.
Modusbeschränkungen
Der Modus, in dem du arbeitest, bestimmt, welche subagent-Typen Bob spawnen darf. Einige Modi erlauben alle subagent-Typen; andere beschränken das Spawnen auf bestimmte Typen oder verbieten es ganz. Falls ein subagent-spawn durch den aktiven Modus nicht erlaubt ist, erledigt Bob die Arbeit direkt ohne Spawnen.
Wann Bob subagents verwendet
Bob verwendet subagents sparsam. Die Standardvorgabe ist immer, die Arbeit direkt ohne Spawnen eines subagents zu erledigen. Ein subagent wird nur in Betracht gezogen, wenn alle der folgenden Bedingungen erfüllt sind:
- Die Aufgabe ist klar in sich geschlossen und es wird nur eine Zusammenfassung benötigt.
- Sie würde der Hauptkonversation erhebliche irrelevante Inhalte hinzufügen.
- Sie kann nicht mit einem oder zwei direkten Tool-Aufrufen erledigt werden.
Bob verwendet keine subagents für:
- Einfache Datei-Lesevorgänge oder schnelle Suchen.
- Einzelne Tool-Operationen.
- Aufgaben, bei denen der relevante Kontext bereits verfügbar ist.
Subagents vs. subtasks
Subagents und subtasks sind verwandte, aber unterschiedliche Konzepte:
| Subagent | Subtask | |
|---|---|---|
| Sichtbarkeit | Läuft still im Hintergrund | Erscheint in der UI mit eigenem Breadcrumb und Konversation |
| Interaktion | Nicht interaktiv – gibt nur eine Zusammenfassung zurück | Vollständig interaktiv – du kannst den Fortschritt verfolgen und die Konversation fortsetzen |
| Zweck | Informationen sammeln oder isolierte Arbeit erledigen, ohne den Hauptkontext zu belasten | Arbeit bearbeiten, die komplex genug ist, um von dediziertem Tracking und einem separaten Thread zu profitieren |
| Ausgabe | Zusammenfassung wird an Bob zurückgegeben | Unabhängiger Konversationsthread |
Verwende subagents für Hintergrundinformationssammlung. Verwende subtasks für komplexe Arbeit, die von Sichtbarkeit und einer dedizierten Konversation profitiert.
Verhalten von subagents anpassen
Du kannst steuern, worauf sich ein subagent konzentriert, wie er seine Ausgabe formatiert und welche Tools er verwenden darf, indem du eine Agent-Persona-Datei in .bob/agents/ erstellst. Persona-Dateien geben einem subagent eine definierte Rolle und bestimmte Einschränkungen – zum Beispiel einen Code-Reviewer, der eine nach Schweregrad sortierte Fundtabelle erstellt und explizit angewiesen wird, keine Korrekturen vorzuschlagen.
Setup-Anweisungen und Beispiele findest du unter Agent-Personas.
Modi
Modi sind spezialisierte Personas, die das Verhalten von Bob auf deine spezifischen Aufgaben abstimmen. Jeder Modus bietet unterschiedliche Funktionen und Zugriffsebenen, um dir zu helfen, bestimmte Ziele effizienter zu erreichen.
Skills
Erstelle wiederverwendbare Anweisungssets für spezialisierte Workflows. Definiere benutzerdefinierte Workflows, füge unterstützende Dateien hinzu und bringe Bob spezialisierte Aufgaben für konsistente Ergebnisse bei.