Tool-Definitionen und angesammelte tool_result-Blöcke verbrauchen dein Kontextfenster. Langlaufende Agenten mit vielen Tools oder vielen Turns können den verfügbaren Kontext erschöpfen, bevor die Aufgabe abgeschlossen ist. Vier Ansätze gehen dieses Problem an verschiedenen Stellen der Pipeline an.
Jeder Ansatz zielt auf eine andere Quelle von Kontextdruck ab. Wähle denjenigen, der dazu passt, wohin deine Tokens fließen.
| Ansatz | Was reduziert wird | Wann es passt | Mehr erfahren |
|---|---|---|---|
| Tool-Suche | Vorab geladene Tool-Definitionen | Große Toolsets (20+ Tools), bei denen die meisten Tools nicht in jedem Turn benötigt werden | Tool-Search-Tool |
| Programmatischer Tool-Aufruf | tool_result-Roundtrips | Ketten von Tool-Aufrufen, die als einzelnes Skript ausgeführt werden können | Programmatischer Tool-Aufruf |
| Prompt-Caching | Token-Kosten wiederholter Tool-Definitionen | Stabile Toolsets über viele Anfragen hinweg | Tool-Nutzung mit Prompt-Caching |
| Kontextbearbeitung | Alte tool_result-Blöcke im Verlauf | Lange Konversationen, in denen frühe Ergebnisse nicht mehr relevant sind | Kontextbearbeitung |
Die Tool-Suche hält Tool-Definitionen aus dem Kontextfenster heraus, bis Claude danach fragt. Anstatt 50 Tool-Schemas vorab zu senden, sendest du ein einzelnes tool_search-Tool und lässt Claude den Rest bei Bedarf entdecken. Dies tauscht eine geringe zusätzliche Latenz (ein zusätzlicher Turn, um ein Tool nachzuschlagen) gegen eine große Reduzierung der grundlegenden Kontextnutzung ein.
Der programmatische Tool-Aufruf fasst eine Sequenz von Tool-Aufrufen in einen einzigen Codeblock zusammen, den Claude schreibt und der in Anthropics Code-Ausführungs-Sandbox läuft. Statt fünf Roundtrips von tool_use und tool_result gibt Claude ein Skript aus, das alle fünf Funktionen innerhalb der Sandbox aufruft. Die Zwischenergebnisse gelangen nie in den Konversationsverlauf.
Prompt-Caching reduziert nicht die Anzahl der Tokens im Kontext, aber es reduziert, was du bei nachfolgenden Anfragen dafür bezahlst. Wenn deine Tool-Definitionen stabil sind, cache sie einmal und verwende das gecachte Präfix über Tausende von Anfragen hinweg wieder. Dies ist die richtige Wahl, wenn das Toolset groß, aber fest ist.
Die Kontextbearbeitung entfernt alte tool_result-Blöcke aus dem Konversationsverlauf, sobald sie ihren Zweck erfüllt haben. Eine lange Agenten-Schleife könnte Hunderte von Zwischenergebnissen produzieren, die zu ihrer Zeit nützlich waren, aber jetzt nur noch Ballast sind. Mit der Kontextbearbeitung kannst du sie entfernen, ohne die Konversation neu zu starten.
Diese Ansätze lassen sich kombinieren. Ein langlaufender Agent könnte die Tool-Suche verwenden, um das Toolset schlank zu halten, Prompt-Caching, um die Kosten der verbleibenden Definitionen zu amortisieren, und Kontextbearbeitung, um veraltete Ergebnisse zu entfernen, während die Konversation wächst. Jeder Ansatz löst einen anderen Teil des Problems, daher gibt es keinen Konflikt, wenn du sie zusammen verwendest.
Ein sinnvoller Ausgangspunkt für einen Agenten mit hohem Volumen:
Lade Tool-Definitionen bei Bedarf statt vorab.
Fasse Tool-Aufruf-Ketten in ein einzelnes ausführbares Skript zusammen.
Cache Tool-Definitionen über Anfragen hinweg, um Token-Kosten zu senken.
Entferne veraltete Tool-Ergebnisse aus langlaufenden Konversationen.
Was this page helpful?