Hinzufügen von Tools zum Azure AI-Agent

Abgeschlossen

Tip

Weitere Details finden Sie auf der Registerkarte "Text und Bilder ".

Tools ermöglichen es Ihrem Agent, Maßnahmen zu ergreifen– APIs aufrufen, Code ausführen, Dateien durchsuchen oder mit externen Diensten interagieren. Ohne Tools kann ein Agent nur Text basierend auf dem generieren, was er bereits kennt. Mit Werkzeugen wird es fähig, auf die Welt einzuwirken.

Das Microsoft Agent Framework unterstützt zwei allgemeine Kategorien von Tools: vom Dienst bereitgestellte Tools, die vom Anbieter gehostet und verwaltet werden, sowie benutzerdefinierte Funktionstools, die Sie selbst schreiben und sich beim Agent registrieren.

Vom Dienst bereitgestellte Tools

Bei Verwendung des Foundry-Anbieters stehen ohne zusätzliche Implementierung eine Reihe von gehosteten Tools zur Verfügung. Sie aktivieren sie, indem Sie sie in die Agentkonfiguration einschließen – der Anbieter verarbeitet die tatsächliche Ausführung.

Zu den am häufigsten verwendeten von Diensten bereitgestellten Tools gehören:

Werkzeug Was es bewirkt
Codedolmetscher Führt Python Code in einer Sandkastenumgebung für Berechnungen und Datenanalysen aus.
Dateisuche Durchsucht und ruft Informationen aus hochgeladenen Dokumenten ab.
Websuche Ruft aktuelle Informationen aus dem Internet ab.
Gehostete MCP-Tools MCP-Server (Model Context Protocol), die direkt von der Anbieterlaufzeit aufgerufen werden
Azure KI-Suche Fragt einen Azure KI-Suche Index über eine Foundry-Verbindung ab
Foundry Toolboxes Benannte, versionsgesteuerte Bündel von gehosteten Toolkonfigurationen, die in einem Foundry-Projekt verwaltet werden

Note

Einige Tools – einschließlich Azure KI-Suche, Bing Grounding, SharePoint und andere – befinden sich in der Vorschau oder experimentell. Sie sind für Foundry-Agenten verfügbar, haben jedoch möglicherweise eingeschränkte Unterstützung für andere Anbieter.

Tools für benutzerdefinierte Funktionen

Mit benutzerdefinierten Funktionstools können Sie Ihren Agent mit jeder benötigten Logik erweitern – das Aufrufen interner APIs, abfragen von Datenbanken, Ausführen von Berechnungen oder alles andere, was eine Python Funktion tun kann.

Um eine Funktion als Tool zu registrieren, übergeben Sie sie während der Erstellung direkt an den Agent. Das Framework prüft die Signatur der Funktion und generiert ein Schema, das dem Modell angibt, was die Funktion tut, welche Parameter sie erwartet und was sie zurückgibt.

Damit das Modell ein Tool zuverlässig aufruft, muss Ihre Funktion klar beschrieben werden. Das Agent Framework unterstützt zwei Ansätze:

  • Geben Sie Anmerkungen mit Beschreibungen ein– verwenden Sie Python Annotated Typ mit einer Feldbeschreibung für jeden Parameter. Die Docstring-Funktion dient als Toolbeschreibung.
  • Der @tool Dekorateur – geben Sie explizit den Namen und die Beschreibung des Tools als Dekorateurargumente an, sodass Sie die volle Kontrolle darüber haben, was das Modell sieht. Sie können auch ein explizites Schema mithilfe eines Pydantischen Modells bereitstellen, wenn Sie präzise Kontrolle über die Eingabestruktur benötigen.

In beiden Fällen behandelt das Framework die Schemagenerierung und den Toolaufruf automatisch. Wenn das Modell bestimmt, dass ein Tool aufgerufen werden soll, führt das Framework die Funktion aus und gibt das Ergebnis wieder an das Modell zurück, bevor die endgültige Antwort generiert wird.

Hinzufügen mehrerer Tools

Sie können mehrere Tools mit einem einzigen Agent registrieren. Übergeben Sie eine Liste der Funktionen beim Erstellen des Agents, und das Modell wählt automatisch das am besten geeignete Tool für jeden Teil der Unterhaltung aus. Sie müssen keine Routinglogik schreiben – das Framework verarbeitet die Tool-Orchestrierung basierend auf dem Unterhaltungskontext und den von Ihnen bereitgestellten Toolbeschreibungen.

Toolgenehmigung

Für Szenarien, in denen Toolaufrufe vor der Ausführung eine menschliche Überprüfung erfordern sollten, unterstützt das Agent Framework ein Toolgenehmigungsmuster . Wenn der Genehmigungsmodus auf einem Tool aktiviert ist, wird der Agent vor dem Aufrufen dieser Funktion angehalten und fordert eine Bestätigung an. Dies ist nützlich für Aktionen, die irreversibel oder teuer sind oder sensible Daten betreffen. Das Genehmigungsverhalten kann für jedes Tool mithilfe des Parameters approval_mode im @tool-Decorator konfiguriert werden.

Verwenden eines Agents als Tool

Agents können kombiniert werden, indem ein Agent als Werkzeug für einen anderen verwendet wird. Sie konvertieren einen inneren Agent in ein Funktionstool und übergeben ihn an einen äußeren Agent, der dann bestimmte Aufgaben an ihn delegieren kann. Dies ermöglicht modulare Designs, bei denen spezialisierte Agenten bestimmte Domänen verarbeiten und einen koordinierenden Agenten Anfragen zwischen ihnen weiterleiten – ein Muster, das im Multi-Agent-Modul genauer untersucht wird.

Bewährte Methoden für benutzerdefinierte Tools

  • Klare Beschreibungen schreiben – die Fähigkeit des Modells, das richtige Tool auszuwählen, hängt vollständig von den von Ihnen bereitgestellten Beschreibungen ab. Achten Sie darauf, was die Funktion tut und wann sie verwendet werden soll.
  • Kommentieren Sie jeden Parameter– beschreiben Sie jede Eingabe, damit das Modell gültige Aufrufe erstellen kann, insbesondere, wenn Parameternamen allein nicht selbsterklärend sind.
  • Geben Sie aussagekräftige Daten zurück– Tools sollten strukturierte, interpretierte Ausgaben zurückgeben. Das Modell verwendet den Rückgabewert direkt beim Bilden seiner Antwort.
  • Tools fokussiert halten—jedes Tool sollte eine Sache gut machen. Das Kombinieren mehrerer Zuständigkeiten in eine einzelne Funktion erschwert es dem Modell, es richtig aufzurufen.
  • Behandeln Sie Fehler ordnungsgemäß. Wenn bei einem Tool eine unerwartete Eingabe auftritt oder ein externer Dienst fehlschlägt, geben Sie eine informative Fehlermeldung zurück, anstatt eine Ausnahme zu auslösen, sodass das Modell hilfreich reagieren kann.