Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De vorige pagina liet zien hoe het verpakken van een LLM in een agent u een permanente identiteit, instructies en sessiebeheer biedt. Maar zelfs met al dat, kan de agent alleen inhoud genereren (tekst, afbeeldingen, enzovoort) - de aandelenkoers van vandaag kan niet worden opgezocht, een e-mail wordt verzonden of een query op uw database wordt uitgevoerd. Het antwoordt op de kennis die tijdens de training is ingebakken en welke context u in de prompt opgeeft.
Tools overbruggen deze kloof. Ze geven de agent de mogelijkheid om te handelen , om de trainingsgegevens te overschrijden en te communiceren met de echte wereld. Het toevoegen van hulpprogramma's is de meest impactvolle stap die u kunt uitvoeren om een agent echt nuttig te maken.
Wanneer te gebruiken
Voeg hulpprogramma's toe aan uw agent wanneer:
- De agent moet toegang hebben tot real-time of externe gegevens — live prijzen, weer, databaserecords, zoekresultaten — die niet in de trainingsdata van het model zijn opgenomen.
- De agent moet acties ondernemen ( e-mailberichten verzenden, tickets maken, API's aanroepen, bestanden schrijven) in plaats van alleen inhoud te produceren.
Overwegingen
| Consideratie | Details |
|---|---|
| Latentie | Elke hulpmiddelenaanroep voegt een rondreis toe: het model genereert een toolaanvraag, uw code voert deze uit en het resultaat wordt teruggestuurd voordat het model verder kan gaan. Een multitool maakt dit complex. |
| Tokenoverhead | Hulpprogrammadefinities (namen, beschrijvingen, parameterschema's) worden opgenomen in elke prompt. Meer hulpprogramma's betekent dat er minder tokens beschikbaar zijn voor de gespreksgeschiedenis en het antwoord van het model. |
| Complexiteit van foutopsporing | Als er iets misgaat, kan de oorzaak zijn in de selectie van het model, de argumenten die het heeft gekozen of de uitvoering van het hulpprogramma. Je bent bezig met het debuggen van logica en code samen. |
| Reliability | Het model kan hulpprogramma's onjuist aanroepen, onjuiste argumenten doorgeven of een hulpprogramma aanroepen wanneer dat niet het geval is. Goede beschrijvingen en goedkeuring van hulpprogramma's beperken dit, maar verwijder deze niet. |
Waarom agents hulpprogramma's nodig hebben
Zoals beschreven in DE grondbeginselen van LLM, wordt een LLM getraind voor het genereren van tokens, inclusief een speciale gestructureerde indeling die een toolaanroep vertegenwoordigt. Maar het model zelf voert nooit iets uit. Het is uw toepassing (of Agent Framework) die de uitvoer van het model parseert, de werkelijke functie uitvoert en het resultaat weer invoert.
Dit betekent dat hulpprogramma's niet wijzigen wat het model is : ze wijzigen wat uw agent kan doen. Zonder hulpprogramma's is een agent een conversationalist. Met hulpprogramma's wordt het een operator.
Overweeg een reisboekingsagent. Zonder hulpprogramma's kan het vluchten bespreken en itineraries voorstellen op basis van algemene kennis. Met hulpprogramma's kan het volgende:
- Zoek naar een vlucht-API voor realtime beschikbaarheid en prijzen
- Een vlucht boeken namens de gebruiker
Voor elk van deze acties is een hulpprogramma vereist: een stukje code dat de agent kan aanroepen om te communiceren met de buitenwereld.
Hoe de tool-aanroep lus werkt
Wanneer u een agent hulpmiddelen geeft, beheert Agent Framework automatisch een lus voor het aanroepen van hulpmiddelen:
┌──────────────────────────────────────────────────────┐
│ User: "What's the weather in Seattle?" │
└──────────────┬───────────────────────────────────────┘
▼
┌──────────────────────────────────────────────────────┐
│ Agent sends messages + tool definitions to LLM │
└──────────────┬───────────────────────────────────────┘
▼
┌───────────────┐
│ LLM responds │
└───┬───────┬───┘
│ │
Tool call? No ──────────────────────────┐
│ │
▼ ▼
┌─────────────────────────────┐ ┌─────────────────────────────┐
│ Agent Framework executes │ │ Final response: │
│ the tool (e.g., │ │ "It's cloudy in Seattle │
│ get_weather("Seattle")) │ │ with a high of 15°C." │
└──────────────┬──────────────┘ └─────────────────────────────┘
│
▼
┌─────────────────────────────┐
│ Agent sends tool result │
│ back to the LLM │
└──────────────┬──────────────┘
│
└──────► (back to "LLM responds")
Belangrijkste punten:
- U hoeft de lus niet te schrijven. Agent Framework verwerkt het detecteren van hulpprogramma-aanroepen in het antwoord van het model, het uitvoeren van de hulpprogramma's en het teruggeven van resultaten. U definieert de hulpprogramma's; het framework organiseert de rest.
- Meerdere gereedschapsoproepen per beurt. Het model kan verschillende hulpprogramma's aanroepen (mogelijk parallel) voordat er een definitief antwoord wordt geproduceerd, of ketenhulpprogramma's waarbij de uitvoer van het ene hulpprogramma de volgende informeert.
- Het model bepaalt wanneer hulpprogramma's moeten worden aangeroepen. Op basis van de aanvraag van de gebruiker en de beschrijvingen van de hulpprogramma's die u opgeeft, beoordeelt het model of een hulpprogramma nodig is. Goede beschrijvingen van hulpprogramma's leiden tot betere selectie van hulpprogramma's.
Aanbeveling
Zie stap 2: Tools toevoegen in de zelfstudie 'Aan de slag' voor een praktische doorloop voor het toevoegen van uw eerste tool en om deze lus in actie te zien.
Typen gereedschappen
Agent Framework ondersteunt verschillende categorieën hulpprogramma's. Het kiezen van de juiste is afhankelijk van wat je wilt dat de agent doet en waar de functionaliteit zich bevindt.
Functiehulpmiddelen
Functiehulpprogramma's zijn aangepaste functies die u schrijft en registreert bij de agent. Ze worden uitgevoerd in uw proces, waardoor u volledige controle hebt over de logica, beveiligingsgrenzen en foutafhandeling.
Functiehulpprogramma's gebruiken wanneer:
- U hebt aangepaste bedrijfslogica die de agent moet aanroepen (een query uitvoeren op een database, een interne API aanroepen, een berekening uitvoeren)
- U hebt het hulpprogramma nodig om in uw omgeving uit te voeren met toegang tot uw resources
- U wilt typeveiligheid tijdens compileertijd en testbaarheid
Functiehulpprogramma's zijn het meest voorkomende en flexibele hulpprogrammatype. De meeste agents beginnen hier.
MCP-hulpprogramma's (Model Context Protocol)
MCP is een open standaard die definieert hoe toepassingen hulpprogramma's voor LLM's bieden. In plaats van zelf hulpprogrammalogica te schrijven, maakt u verbinding met een MCP-server die een set hulpprogramma's beschikbaar maakt via een standaardprotocol, vergelijkbaar met de manier waarop een REST API eindpunten beschikbaar maakt.
Agent Framework ondersteunt twee varianten:
| Smaak | Wat het is | Wanneer gebruikt u het? |
|---|---|---|
| Gehost MCP-hulpprogramma's | MCP-servers gehost en beheerd door Microsoft Foundry of andere providers | U wilt kant-en-klare toegang tot algemene mogelijkheden (bijvoorbeeld zoeken naar bestanden, code-uitvoering) zonder infrastructuur te beheren |
| Lokale MCP-hulpprogramma's | MCP-servers die u zelf uitvoert of waarmee u verbinding maakt vanaf elke provider | U hebt een aangepaste of externe MCP-server of u hebt hulpprogramma's nodig die in uw eigen omgeving worden uitgevoerd |
Gebruik MCP-hulpprogramma's wanneer:
- Een vooraf gebouwde MCP-server biedt al de mogelijkheid die u nodig hebt
- U wilt hulpprogramma's voor meerdere agents of toepassingen opnieuw gebruiken via een gedeelde server
- U integreert met een service van derden die een MCP-eindpunt beschikbaar maakt
Door provider gehoste hulpprogramma's
Sommige providers bieden ingebouwde hulpprogramma's die worden uitgevoerd op de infrastructuur van de provider. Er is geen lokale code vereist. Deze omvatten:
| Tool | Wat het doet |
|---|---|
| Code-interpreter | Code wordt uitgevoerd in een sandbox-omgeving op de infrastructuur van de provider |
| Bestand Zoeken | Zoekt door bestanden die u uploadt naar de provider |
| Zoeken op internet | Zoekt op internet naar realtime informatie |
Gebruik door de provider gehoste hulpprogramma's wanneer:
- U hebt mogelijkheden nodig, zoals het uitvoeren van code of webzoekopdrachten zonder het hulpprogramma zelf te bouwen of te hosten
- De provider biedt al een beheerde versie die voldoet aan uw vereisten
Opmerking
De beschikbaarheid van door de provider gehoste hulpprogramma's verschilt per provider. Zie het overzicht van hulpprogramma's voor de volledige providerondersteuningsmatrix.
Opmerking
Sommige LLM-providers kunnen gehoste hulpprogramma's uitvoeren op hun infrastructuur tijdens deductie, zoals de Antwoorden-API door OpenAI. U kunt deze deductieservices beschouwen als semi-agentische services die deductie combineren met de uitvoering van hulpprogramma's. Het verandert niet hoe het onderliggende model werkt, maar betekent wel dat de uitvoering van het hulpprogramma kan plaatsvinden als onderdeel van de reactiegeneratie van de service. Deze services kunnen geen lokale hulpprogramma's uitvoeren, die moeten worden uitgevoerd op uw eigen infrastructuur.
Het juiste hulpprogrammatype kiezen
| Vraag | Aanbeveling |
|---|---|
| Heb ik aangepaste bedrijfslogica? | Functiehulpprogramma's : uw eigen functies schrijven en registreren |
| Is er een MCP-server die al doet wat ik nodig heb? | MCP-hulpprogramma's : maak er verbinding mee in plaats van helemaal opnieuw te bouwen, zoals de GitHub MCP-server |
| Heb ik code-uitvoering, bestand zoeken of zoeken op internet nodig? | Door de provider gehoste hulpprogramma's : controleer of uw provider deze ondersteunt |
| Heb ik hulpprogramma's uit meerdere categorieën nodig? | Combineer ze : agents kunnen functiehulpprogramma's, MCP-hulpprogramma's en door de provider gehoste hulpprogramma's tegelijkertijd gebruiken |
Beschrijvingen van hulpprogramma's zijn belangrijk
Het model selecteert hulpprogramma's op basis van hun namen en beschrijvingen. Een vage beschrijving leidt tot slechte selectie van hulpprogramma's: het model kan het verkeerde hulpmiddel aanroepen, een hulpprogramma overslaan dat moet worden gebruikt of onjuiste argumenten doorgeven.
Beschrijvingen van schrijfhulpprogramma's op dezelfde manier als u een API-document zou schrijven: zeg wat het hulpprogramma doet, wat elke parameter betekent en wat deze retourneert. Hoe duidelijker de beschrijving, hoe beter het oordeel van het model.
Aanbeveling
Hulpprogrammadefinities (namen, beschrijvingen, parameterschema's) worden opgenomen in de prompt en verbruiken tokens in het contextvenster. Als u veel hulpprogramma's registreert, kan de overhead aanzienlijk zijn. Registreer alleen de hulpprogramma's die de agent daadwerkelijk nodig heeft.
Goedkeuring van hulpprogramma' s: human-in-the-loop
Sommige acties zijn gevoelig: geld overdragen, records verwijderen, e-mailberichten verzenden. Mogelijk wilt u niet dat de agent deze hulpprogramma's autonoom uitvoert. Met goedkeuring van hulpprogramma's kunt u menselijke bevestiging vereisen voordat een hulpprogramma wordt uitgevoerd.
Wanneer een tool is gemarkeerd als vereist goedkeuring, wordt de agent onderbroken voordat de uitvoering plaatsvindt en wordt een antwoord geretourneerd dat aangeeft dat goedkeuring nodig is. Uw toepassing is verantwoordelijk voor het presenteren hiervan aan de gebruiker en het doorgeven van hun beslissing.
Dit patroon wordt vaak human-in-the-loop genoemd en is essentieel voor het bouwen van betrouwbare agents die gevolgacties verwerken.
Veelvoorkomende valkuilen
| Pitfall | Begeleiding |
|---|---|
| Te veel hulpprogramma's | Elke hulpprogrammadefinitie verbruikt tokens. Registreer alleen de hulpprogramma's die relevant zijn voor het doel van de agent. |
| Vage beschrijvingen | 'Doet dingen met gegevens' helpt het model niet. Wees specifiek: 'Query's uitvoeren op de inventarisdatabase voor de beschikbaarheid van producten per SKU.' |
| Geen foutafhandeling | Hulpprogramma's kunnen mislukken (netwerkfouten, ongeldige invoer). Retourneer duidelijke foutberichten, zodat het model kan reden geven over wat er fout is gegaan en probeer het opnieuw of informeer de gebruiker. |
| Te veel permissieve hulpprogramma's | Een hulpprogramma dat elke SQL-query kan uitvoeren, is een beveiligingsrisico. Stel tools in voor specifieke, goed gedefinieerde operaties. |
| Goedkeuring ontbreekt voor gevoelige acties | Als een hulpprogramma onomkeerbare wijzigingen kan aanbrengen, voeg toolgoedkeuring toe om menselijke betrokkenheid te waarborgen. |
Speciale vermelding: Code Interpreter Tool
Zoals besproken in LLM Fundamentals, kunnen LLM's fouten maken in nauwkeurige berekeningen en formele logica. Dit komt doordat LLM's antwoordentoken per token genereren op basis van patroonkoppeling . Ze berekenen niet daadwerkelijk. Een LLM die wordt gevraagd om twee grote getallen te vermenigvuldigen, voert geen rekenkundige bewerkingen uit; het voorspelt hoe het antwoord eruitziet op basis van trainingsgegevens. Dit werkt verrassend vaak, maar mislukt onvoorspelbaar in edge-gevallen.
Code Interpreter lost dit op door de agent code te laten schrijven en uit te voeren in een sandboxomgeving. In plaats van het antwoord te raden, schrijft het model een Python script waarmee het precies wordt berekend, wordt uitgevoerd en wordt het geverifieerde resultaat in het antwoord gebruikt.
Opmerking
Het model kan telkens wanneer het wordt gevraagd om hetzelfde probleem op te lossen een iets ander script schrijven, maar de resultaten moeten meestal consistent zijn.
Waarschuwing
Code Interpreter is geen vervanging voor zorgvuldige redenering door mensen. Controleer altijd het werk van de agent en controleer de resultaten onafhankelijk wanneer dat nodig is.
Geef uw agent de Code Interpreter wanneer dat nodig is.
- Voer nauwkeurige berekeningen uit : financiële modellering, statistische analyse, eenheidsconversies, waarbij een geschatte schatting niet acceptabel is.
- Gegevens transformeren of analyseren : CSV's parseren, rijen aggregeren, grafieken genereren of gestructureerde gegevens hervormen.
- Bestanden verwerken : geüploade documenten lezen, inhoud extraheren, indelingen converteren of nieuwe bestanden genereren.
- Valideer een eigen redenering : schrijf testcode om een logische claim te verifiëren voordat u deze aan de gebruiker presenteert.
Aanbeveling
Code-interpreter kan een door de provider gehost hulpprogramma zijn: de code wordt uitgevoerd op de infrastructuur van de provider in een sandbox, niet in uw omgeving. Dit maakt het veilig om te gebruiken zonder dat u zich zorgen hoeft te maken over willekeurige code die wordt uitgevoerd op uw servers. Zie de naslaginformatie voor de code-interpreter voor informatie over de installatie.
Volgende stappen
Zodra uw agent hulpprogramma's heeft, is de volgende stap het leren over vaardigheden : draagbare pakketten met instructies, referentiemateriaal en scripts die agents domeinexpertise geven die ze op aanvraag kunnen laden.
Ga dieper in:
- Overzicht van hulpprogramma's : alle hulpprogrammatypen en ondersteuningsmatrix voor providers
- Functiehulpprogramma's — gedetailleerde naslaginformatie over functiehulpmiddelen
- Hosted MCP Tools — Microsoft Foundry MCP-servers en andere providers
- Lokale MCP-hulpprogramma's — aangepaste MCP-servers
- Goedkeuring van hulpprogramma's - human-in-the-loop voor hulpprogramma's
- Stap 2: Hulpmiddelen toevoegen — praktische handleiding