Effiziente Tool‑Entdeckung für LLM‑Agenten: Von Search zu Discovery
Key Takeaway
Die herkömmliche „Tool‑Search“-Strategie bei LLM‑Agents reicht nicht aus; stattdessen sollte ein Mechanismus für die Selbst‑Entdeckung und effiziente Ladung von Tool‑Definitionen entwickelt werden, um Speicherbudget und Kontext‑Erreichbarkeit zu optimieren.
Summary
Tool‑Definitionen im LLM‑Kontext: APIs senden zu jeder Anfrage sowohl ein System‑Prompt als auch eine Liste von Tool‑Definitionen. Jede Definition besteht aus name, description und inputSchema. Große, komplexe Tools können bis zu 1.000 Tokens benötigen; 20 Tools summieren sich auf 20.000 Tokens bei einem 200.000‑Token‑Kontext. Externe Plattformen (MCPs) wie GitHub, Notion, Linear, Postgres tragen zusätzlich große Mengen an Tool‑Definitionen (bis zu 20.000 Tokens).
Problem des Kontext‑Betriebs: Bereits 30 % des Kontextfensters können von Tool‑Definitionen verbraucht werden, bevor konkrete Befehle eingegeben sind. Deferring (Verzögerung des Ladens) klingt zunächst sinnvoll, führt jedoch zu anderen Problemen.
Search‑Tool vs. Discovery‑Ansatz: Das integrierte search_tool von Claude kann nach Tool‑Namen und Beschreibungen durchsuchen, aber ist oft zu allgemein und lädt später noch viel Kontext. Durch Aufteilung in search_tool und load_tool wird die Ladung auf den Moment reduziert, wenn ein Tool tatsächlich gebraucht wird. Trotz dieser Aufteilung ignoriert das Modell häufig, dass es nach bestimmten Tools suchen soll, oder erkennt nicht, warum es ein bestimmtes Tool wählen sollte, besonders bei Tools mit ähnlichen Funktionen (z. B. grep vs. finder).
Aktuelle Experimente: Generierung kurzer “Preambles” oder Tabellen für Tools, um dem Modell über deren Existenz zu informieren. Implementierung von Hooks, die Tool‑Definitionen deterministisch bei Erkennung bestimmter Schlüsselwörter einbinden. Betrachtung von MCPs als „Skills“, um die Tool‑Ladung noch genauer auf Benutzerbedarf abzustimmen.
Herausforderungen und offene Fragen: Wie kann ein Modell selbstständig verfügbare Tools entdecken, wenn es keine prägnante Beschreibung hat? Wie werden Overlap‑Situationen (Tools mit ähnlichen Aufgaben) effizient geregelt, um unnötige Modellverwirrung zu vermeiden? Welcher Ansatz minimiert gleichzeitig Latenz, Speicherverbrauch und Fehlbedeutungen der Tool‑Nutzung?
Related queries
Wie können LLM‑Agenten Tool‑Definitionen effizient selbst entdecken und laden?
Was sind effektive Möglichkeiten, Tool‑Überlappungen (z. B. grep vs. finder) zu handhaben?
Wie kann man kurze Tool‑Preambles für ein Sprachmodell generieren, um Kontextkosten zu senken?
Quelle: https://nicolaygerold.com/posts/tool-search-should-not-be-just-search-but-discovery
