In der KI-Branche ist derzeit ein Muster beliebt: Ein Sprachmodell erhält Werkzeuge und entscheidet selbst, was es aufruft. In Demos funktioniert es hervorragend. Im Produktivbetrieb bricht es auseinander.
Bei Atlas Verified hat unser KI-Agent Zugriff auf über 100 spezialisierte Werkzeuge – behördliche Compliance-Datenbanken, Schiffsverfolgungs-APIs, Sanktionsprüfdienste, Handelsdatenanbieter, Containerverfolgungssysteme und mehr. Jedes Werkzeug existiert, weil ein Compliance-Experte diesen konkreten Datenpunkt für eine Verifizierungsentscheidung benötigt. Die technische Herausforderung ist nicht, die Werkzeuge zu entwickeln. Sie ist sicherzustellen, dass jedes Mal die richtigen Werkzeuge in der richtigen Reihenfolge mit den richtigen Eingaben aufgerufen werden.
Dieser Beitrag erklärt praktische Probleme der Werkzeugorchestrierung im großen Maßstab und die technischen Muster, die wir zu ihrer Lösung entwickelt haben.
Das Problem der Werkzeugexplosion
Bei 5 Werkzeugen ist die Auswahl trivial. Das Modell liest ihre Beschreibungen, wählt das passende und ruft es auf. Doch jenseits von 20, 50, 100 Werkzeugen geht etwas schief.
Zuerst gibt es das Kontextfensterproblem. Jedes Werkzeug benötigt Beschreibung, Parameterschema und Nutzungshinweise im Systemprompt. Bei 100+ Werkzeugen werden Zehntausende Tokens verbraucht, noch bevor die Nutzerfrage in den Kontext gelangt. Das Modell verbringt mehr Zeit mit Werkzeugdokumentation als mit dem Nachdenken über das Problem.
Zweitens gibt es das Problem der Auswahlgenauigkeit. Sprachmodelle wählen gut zwischen wenigen klar unterschiedlichen Optionen, aber schlecht zwischen Dutzenden ähnlich klingenden Werkzeugen. Bei mehreren Werkzeugen mit überlappenden Namen für Sanktions- und sonstige Prüfungen wählt das Modell oft das falsche oder ruft mehrere mit überlappenden Daten auf.
Drittens gibt es das Kosten- und Latenzproblem. Jede Werkzeugbeschreibung im Prompt kostet Tokens. Jeder unnötige Aufruf kostet API-Anfragen an externe Dienste, die häufig pro Anfrage bezahlt werden. Ein Agent, der 8 Werkzeuge aufruft, obwohl 3 reichen, ist teuer und langsam.
Warum statische Weiterleitung nicht funktioniert
Die naive Lösung ist statische Weiterleitung: Muster in der Nutzerfrage erkennen und vorab festgelegte Werkzeugsätze aufrufen. „Dieses Unternehmen prüfen“ löst Sanktionsprüfung aus. „Diesen Container verfolgen“ löst Schiffsverfolgung aus. „Dieses Zertifikat verifizieren“ löst USDA-Abfrage aus.
In der Praxis scheitert das sofort. Betrachten Sie die Frage: „Können Sie dieses Bio-Zertifikat aus Indien verifizieren?“ Ein statischer Router könnte eine USDA-Biodatenbankabfrage auslösen – sinnvoll. Doch ein Compliance-Experte möchte auch wissen: Ist die Zertifizierungsstelle sanktioniert? Bestehen FDA-Importwarnungen für dieses Produkt aus diesem Land? Steht der Exporteur auf Listen gesperrter Geschäftspartner? Gibt es Handelsanomalien auf der angegebenen Route?
Eine einzige Nutzerfrage kann berechtigterweise fünf oder mehr Werkzeuge aus völlig unterschiedlichen Bereichen erfordern. Statische Weiterleitung übersieht entweder wichtige Prüfungen oder löst übermäßig alles aus – und bringt uns zurück zu Kosten- und Genauigkeitsproblemen.
Kontext ist enorm wichtig. „Erzählen Sie mir von diesem Unternehmen“ bedeutet völlig Unterschiedliches, je nachdem, ob der Nutzer ein Konnossement, ein Bio-Zertifikat betrachtet oder allgemein recherchiert. Dieselbe Frage benötigt in jedem Kontext andere Werkzeuge.
Zweischichtige Architektur: Auswahl und Ausführung
Unsere Lösung trennt Werkzeugauswahl und Werkzeugausführung mit zwei unterschiedlichen Modellschichten.
Die Auswahlschicht nutzt ein schnelles, günstiges Modell. Seine einzige Aufgabe ist, Nutzerfrage, Gesprächskontext und eine kompakte Übersicht verfügbarer Werkzeuge zu betrachten und dann zu bestimmen, welche für diese konkrete Interaktion verfügbar sein sollen. Es ruft keine Werkzeuge auf – es entscheidet nur, auf welche das Ausführungsmodell Zugriff erhält.
Das Auswahlmodell sieht eine vereinfachte Darstellung jedes Werkzeugs: eine einzeilige Beschreibung, zurückgegebene Daten und Grenzen. Das ist wesentlich kompakter als vollständige Parameterschemata, sodass das Modell alle 100+ Werkzeuge ohne Kontextgrenzen bewerten kann. Typischerweise wählt es 8-12 für die aktuelle Frage relevante Werkzeuge aus.
Die Ausführungsschicht nutzt ein leistungsfähigeres Schlussfolgerungsmodell. Es erhält nur die gewählten Werkzeuge mit vollständigen Parameterschemata und Nutzungshinweisen. Weil es mit einer gezielten Auswahl statt dem gesamten Katalog arbeitet, entscheidet es besser, was in welcher Reihenfolge mit welchen Parametern aufzurufen ist.
Diese Trennung hat messbare Vorteile. Die Auswahl dauert einen Sekundenbruchteil und kostet wenig. Das Ausführungsmodell sieht einen klaren, fokussierten Kontext und macht weniger Fehler. Die Gesamtzahl der Werkzeugaufrufe je Interaktion sank nach Einführung dieser Architektur deutlich.
Fähigkeitsbasierte Filterung
Neben der zweischichtigen Auswahl deklariert jedes Werkzeug seine Fähigkeiten – die Aufgabentypen, die es ausführen kann. Ein Werkzeug kann etwa für Compliance-Prüfungen, Handelsinformationen, Dokumentenanalyse oder Sendungsverfolgung geeignet sein.
Sobald das System die Nutzerabsicht ermittelt, filtert es den Katalog auf Werkzeuge mit passenden Fähigkeiten. Das Auswahlmodell sieht für den aktuellen Aufgabentyp irrelevante Werkzeuge überhaupt nicht.
Das ist aus einem subtilen Grund wichtig: Sprachmodelle lassen sich beeinflussen. Steht ein Sanktionsprüfwerkzeug im Kontext, könnte das Modell eine Sanktionsprüfung durchführen, obwohl der Nutzer nur eine einfache Frage zu Versandrouten stellt. Durch Entfernen irrelevanter Werkzeuge vor der Auswahl beseitigen wir eine ganze Klasse unnötiger Aufrufe.
Qualitätsrückkopplung
Werkzeugauswahl ist nur die halbe Aufgabe. Die andere Hälfte ist sicherzustellen, dass Werkzeuge nützliche Ergebnisse liefern – und zu wissen, was zu tun ist, wenn sie es nicht tun.
Nach jeder Werkzeugausführung bewertet unser System die Ergebnisqualität. Häufige Fehlerbilder sind:
Leere Ergebnisse. Das Werkzeug lief erfolgreich, lieferte aber keine Daten. Das kann bedeuten, dass das Unternehmen in dieser Datenbank nicht existiert (ein gültiges, informatives Ergebnis), oder dass die Abfrage schlecht formuliert war (ein zu korrigierendes und erneut zu versuchendes Problem).
Treffer mit geringer Sicherheit. Eine unscharfe Namenssuche liefert Ergebnisse, deren Trefferbewertung aber unter dem Schwellenwert liegt. Das System muss entscheiden, ob es diese als potenzielle Treffer zeigt oder verwirft und eine andere Suchstrategie versucht.
Unzureichende Stichprobengröße. Eine Handelsdatenabfrage liefert Ergebnisse aus nur einer Quelle, obwohl mehrere Quellen für Zuverlässigkeit abgeglichen werden sollten. Das System erkennt diese Lücke und kann zusätzliche Aufrufe anstoßen, um sie zu schließen.
Scheitern Qualitätsprüfungen, gibt das System Hinweise in die Schlussfolgerungsschleife des Agenten zurück. Das ist keine einfache Wiederholung, sondern eine gezielte, die erklärt, was schiefging, und eine Neuformulierung der Abfrage vorschlägt.
Schrittweise Ergebnisbereitstellung
Handels-Compliance-Verifizierung ist grundsätzlich mehrstufig. Ein Nutzer lädt ein Konnossement hoch und bittet um Verifizierung. Der Agent muss den Versender mit Sanktionslisten abgleichen, die Bio-Zertifizierung verifizieren, die aktuelle Schiffsposition abfragen, FDA-Importwarnungen für den Rohstoff prüfen und die Zollklassifizierung validieren. Diese Prüfungen dauern unterschiedlich lange.
Statt Nutzer bis zum Abschluss aller Prüfungen ohne Anzeige warten zu lassen, liefern wir Ergebnisse schrittweise. Sobald ein Werkzeug antwortet, werden seine Ergebnisse formatiert und an die Oberfläche gesendet. Nutzer sehen erst Sanktionsergebnisse, dann Schiffsdaten, dann den Bio-Zertifizierungsstatus – jeweils als strukturierte Karte, sobald verfügbar.
Der abschließende Zusammenführungsschritt, der alle Ergebnisse in einer erläuternden Zusammenfassung verbindet, läuft erst nach Abschluss aller Werkzeuge.
Automatische Verifizierung: Den Kreis schließen
Wenn Dokumente unsere OCR-Pipeline durchlaufen, identifiziert das Extraktionssystem wichtige Datenpunkte – NOP-IDs, Unternehmensnamen, Schiffskennungen, Containernummern, Hafencodes, HS-Codes. Jeder dieser Datenpunkte ist konkreten Verifizierungswerkzeugen zugeordnet.
Statt auf die Nutzeraufforderung „Dieses Dokument verifizieren“ zu warten, berechnet das System Verifizierungshinweise vorab. Öffnet der Nutzer einen Dialog über ein Dokument, weiß der Agent bereits, welche Werkzeuge mit welchen Parametern aufzurufen sind. Das verkürzt die Verifizierungszeit erheblich: Der Agent muss nicht erst lesen, Entitäten erkennen und Prüfungen bestimmen. Ein ausführbarer Verifizierungsplan liegt schon bereit.
Die Grundsätze
Beim Aufbau dieses Systems haben sich mehrere Grundsätze herausgebildet, die unserer Ansicht nach allgemein für die Entwicklung von KI-Agenten gelten:
Auswahl und Ausführung trennen. Lassen Sie Ihr Schlussfolgerungsmodell nicht zugleich das Routingmodell sein. Nutzen Sie günstige, schnelle Modelle zur Klassifizierung und teure, leistungsfähige Modelle zum Schlussfolgern.
Auswahl verringern, Genauigkeit erhöhen. Ein Modell, das zwischen 10 gut passenden Werkzeugen wählt, übertrifft stets eines, das zwischen 100 wählt. Investieren Sie in Filterung vor der Auswahl.
Nach der Ausführung validieren, nicht nur davor. Werkzeugaufrufe scheitern auf unvorhersehbare Weise. Entwickeln Sie Qualitätsrückkopplungen, die schlechte Ergebnisse erkennen und Wiederholungen steuern.
Schrittweise liefern statt bündeln. Nutzer sollten Ergebnisse sehen, sobald sie eintreffen. Schrittweise Bereitstellung ist nicht nur eine Verbesserung der Nutzererfahrung – sie verändert grundlegend die Interaktion mit Verifizierungsdaten.
Die Absicht ausdrücklich machen. Lassen Sie das Modell nicht erschließen, was „gut“ bedeutet. Sagen Sie es ihm. Zielplanung verwandelt offene Erkundung in gezielte Verifizierung.
Der KI-Agent von Atlas Verified orchestriert 100+ spezialisierte Verifizierungswerkzeuge, um Handels-Compliance-Prüfungen in der globalen Lieferkette zu automatisieren.
