Een taalmodel produceert tekst. Het kan uit zichzelf geen agenda raadplegen, geen contact registreren en niet de status van een bestelling nakijken. Een toolaanroep, tool calling of function calling in het Engels, geeft het die mogelijkheid binnen een kader: het model kan de uitvoering van een precieze actie vragen, met gestructureerde parameters, en het systeem voert ze uit en stuurt het resultaat terug.
Hoe het werkt
Het mechanisme volgt altijd hetzelfde schema:
- De declaratie: het systeem beschrijft de beschikbare tools aan het model. Per tool een naam, een beschrijving in gewone taal en de lijst van verwachte parameters, beschreven in een standaardformaat dat JSON Schema heet
- De beslissing: bij het lezen van het gesprek oordeelt het model dat een tool nuttig is. In plaats van een antwoord te schrijven, stuurt het een gestructureerde vraag terug: "roep de tool contact_registreren aan met naam = Sophie Martin, e-mail = ..."
- De uitvoering: het systeem controleert de vraag, voert de actie uit en haalt het resultaat op
- Het vervolg: het resultaat gaat terug naar het model, dat zijn antwoord aan de bezoeker schrijft en er rekening mee houdt
Het essentiële punt is de derde stap. Het model vraagt alleen; het is de code van de toepassing die beslist om al dan niet uit te voeren, de parameters controleert en een spoor bijhoudt.
Waar het vandaan komt
OpenAI introduceerde function calling in juni 2023 in zijn interface voor ontwikkelaars. De andere grote modelleveranciers boden snel gelijkaardige mechanismen aan, onder verwante namen. Dankzij die mogelijkheid konden assistenten die antwoorden evolueren naar assistenten die handelen, en ze vormt de basis van AI-agenten.
Wat u met tools kunt doen
In een bedrijfsassistent dienen tools vooral om:
- Gestructureerde informatie te verzamelen: de contactgegevens van een bezoeker of de elementen van een offerteaanvraag registreren
- Door te geven: de overname door een mens vragen, met een samenvatting van de situatie
- Actuele informatie te raadplegen: een voorraad, een beschikbaarheid, de status van een dossier in bedrijfssoftware
- Een ander systeem te verwittigen: een webhook sturen naar een CRM of opvolgingstool
- Een leemte te melden: noteren dat een vraag onbeantwoord bleef, zodat het team de documenten aanvult
De veiligheidsregels
Een model tools geven, betekent het macht geven. Enkele principes beperken de risico's:
- Declareren, niet improviseren. Het model kan alleen tools aanroepen die beschreven werden. Het kan er geen verzinnen
- Parameters controleren. Het systeem controleert dat de gevraagde waarden het gedeclareerde schema en de bedrijfsregels respecteren voor het uitvoert
- Bevoegdheden beperken. Een publieke assistent mag een beschikbaarheid lezen of een vraag registreren; hij zou geen terugbetaling mogen toekennen of gegevens verwijderen
- Lezen en schrijven onderscheiden. Informatie raadplegen is minder riskant dan ze wijzigen. Schrijfacties verdienen strengere regels, of zelfs een menselijke bevestiging
- Elke aanroep loggen. Wie vroeg wat, met welke parameters, met welk resultaat. Dat logboek dient om te controleren, te corrigeren en verantwoording af te leggen
- Uitgaande oproepen beveiligen. Een tool die een webadres aanroept, moet interne of niet voorziene adressen weigeren, zodat een gesprek niet kan dienen om een privésysteem te bereiken
Die regels horen bij de vangrails van de assistent. Ze maken misbruikpogingen veel minder gevaarlijk: ook als een bezoeker erin slaagt een ongewenste actie te laten "vragen", weigert het systeem ze uit te voeren.
De grenzen
- Het model kan zich in de tool vergissen of een parameter slecht invullen. Duidelijke beschrijvingen en tests beperken die fouten
- Een trage tool vertraagt het gesprek. De bezoeker wacht tijdens de aanroep
- De gegevens die de tool terugstuurt, komen in het gesprek. Stuurt de tool te veel informatie terug, of onnodige persoonsgegevens, dan dreigt het model ze te herhalen. Beperk wat hij terugstuurt
- Elke tool is een koppeling om te onderhouden. Verandert de bedrijfssoftware, dan moet de tool volgen
Zijn tools van bij de start nodig?
Voor een kmo zelden. Een assistent die op basis van documenten antwoordt, contactgegevens verzamelt en overdraagt, dekt de meeste behoeften. Tools om bedrijfssoftware te raadplegen, zijn zinvol wanneer een frequente vraag afhangt van informatie die elke dag verandert en die geen document actueel kan houden.
Toolaanroepen in KernChat
In KernChat zijn acties gedeclareerde regels, geen code die voor elke klant geschreven wordt. Het model ziet elke actie als een tool beschreven in JSON Schema; de server voert ze uit met een generieke uitvoerder en elke uitvoering wordt in een logboek bewaard. De gangbare acties zijn ingebouwd: een contact verzamelen, een commerciële aanvraag aanmaken, overname door het team vragen, een onbeantwoorde vraag melden, een gegeven onthouden. De organisatie kan er andere declareren, zoals een webhook aanroepen of een externe dienst raadplegen, waarvan de adressen vóór elke aanroep gecontroleerd worden.