Strategie zur Zerlegung in Teilfragen
Teilen Sie komplexe Multi-Hop-Fragen in Teilfragen auf, beantworten Sie jede einzelne und synthetisieren Sie anschließend eine abschließende Antwort.
Strategie zur Zerlegung in Teilfragen ist eine kostenlose AI Agents-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des AI Agents-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.
Wenn Single-Hop nicht ausreicht
Manche Fragen erfordern mehrere Abfragen:
„Vergleichen Sie den Umsatz von Apple im Jahr 2022 mit dem von Microsoft im Jahr 2023.“
Eine einzige Ähnlichkeitssuche ruft nicht beide Fakten ab; Sie benötigen ZWEI Unterabfragen.
Zerlegung in Unterfragen
SubQuestionQueryEngine von LlamaIndex zerlegt eine Frage in Unterfragen, beantwortet jede einzelne und erstellt anschließend eine zusammengeführte Antwort:
from llama_index.core.query_engine import SubQuestionQueryEngine
from llama_index.core.tools import QueryEngineTool, ToolMetadata
query_engine_tools = [
QueryEngineTool(
query_engine=apple_index.as_query_engine(),
metadata=ToolMetadata(name='apple', description='Financial data for Apple Inc.')
),
QueryEngineTool(
query_engine=msft_index.as_query_engine(),
metadata=ToolMetadata(name='microsoft', description='Financial data for Microsoft Corp.')
)
]
engine = SubQuestionQueryEngine.from_defaults(query_engine_tools=query_engine_tools)
response = engine.query('Compare 2022 revenue of Apple vs 2023 revenue of Microsoft')So funktioniert es
- Das LLM analysiert die Frage
- Das LLM erstellt Unterfragen und weist jeder ein Tool zu
- Jede Unterfrage wird parallel ausgeführt
- Das LLM erstellt aus den Antworten auf die Unterfragen eine endgültige Antwort
Unterfragen anzeigen
Sie können die vom LLM erstellten Unterfragen anzeigen:
response = engine.query('Compare X and Y')
for sq in response.metadata.get('sub_qa', []):
print(sq.sub_q.sub_question, '->', sq.answer)Wann Sie Unterfragen verwenden sollten
- Vergleichsabfragen (X vs. Y)
- Aggregation aus mehreren Quellen
- Fragen mit mehreren voneinander unabhängigen Fakten
Wann Sie es NICHT verwenden sollten
- Einfache Fragen und Antworten – verursacht zusätzliche Latenz und Kosten
- Kontext aus einem einzigen Dokument
- Aufgaben ohne Nutzen durch Zerlegung
Routing mit LLM
SubQuestionQueryEngine lässt sich mit RouterQueryEngine kombinieren, um zunächst zu entscheiden, welche Indexsammlung überhaupt abgefragt werden soll:
from llama_index.core.query_engine import RouterQueryEngine
router = RouterQueryEngine.from_defaults(query_engine_tools=query_engine_tools)
# Routes 'apple revenue' to apple index, 'msft margins' to msft, etc.Unterfragen für Coding-Agenten
Für Agenten, die Code schreiben, sind Unterfragen eine Möglichkeit, die einzelnen Schritte zu planen:
„Eine REST-API erstellen“ → Unterfrage: Modelle entwerfen, Unterfrage: CRUD-Handler schreiben, Unterfrage: Authentifizierung hinzufügen.
Auswirkungen auf die Kosten
Unterfragen erzeugen N Unterabfragen statt einer. Jede davon umfasst einen LLM-Aufruf und einen Abruf. Planen Sie entsprechend – die Kosten sind 3- bis 4-mal höher als bei Single-Hop.
Im Vergleich zu ReAct
Unterfragen dienen der vorausgehenden Planung. ReAct (im nächsten Kurs) arbeitet Schritt für Schritt. Bei bekannten, gut zerlegbaren Abfragen sind Unterfragen schneller; bei explorativen Aufgaben passt sich ReAct besser an.
Kombination: ReAct + Unterfragen-Tools
Die flexibelste Variante: ein ReAct-Agent, bei dem Unterfragen-Engines als Tools dienen – jeder „Tool-Aufruf“ kann seinerseits in zahlreiche Unterabfragen zerlegt werden.
Qualität von Unterfragen evaluieren
Überprüfen Sie, ob das LLM sinnvolle Unterfragen erstellt. Eine schlechte Zerlegung lässt sich nur schwer debuggen, wenn Sie die Traces nicht untersuchen.
Anwendungsfall für Zerlegung
Für welche Art von Frage ist die Zerlegung in Unterfragen am nützlichsten?
Zusammenfassung
Die Zerlegung in Unterfragen verwandelt eine komplexe Abfrage in mehrere einfache – zu höheren Kosten, aber mit deutlich höherer Genauigkeit bei Vergleichsfragen und Fragen über mehrere Quellen.
Häufig gestellte Fragen
Ist die Lektion „Strategie zur Zerlegung in Teilfragen“ kostenlos?
Ja — der vollständige Text von „Strategie zur Zerlegung in Teilfragen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des AI Agents-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Strategie zur Zerlegung in Teilfragen“?
Teilen Sie komplexe Multi-Hop-Fragen in Teilfragen auf, beantworten Sie jede einzelne und synthetisieren Sie anschließend eine abschließende Antwort. Du übst AI Agents mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um AI Agents zu starten?
Keine Vorkenntnisse erforderlich. AI Agents auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Strategie zur Zerlegung in Teilfragen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser AI Agents-Lektion Code schreiben und ausführen?
Ja. Jede AI Agents-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Dokument-Loader und Parser
- Die Index-Hierarchie: Vektor, Baum, Schlüsselwort
- Query Engines und Antwortsynthese
- Strategie zur Zerlegung in Teilfragen