Hoe beperkt het ontwerp van toolschema’s de acties van een AI-agent voor thuisgebruik?

Eva Wong is de Technisch Schrijver en en vaste knutselaar bij ZimaSpace. Een levenslange geek met een passie voor homelabs en open-source software, zij is gespecialiseerd in het vertalen van complexe technische concepten naar toegankelijke, praktische handleidingen. Eva gelooft dat zelf-hosting leuk moet zijn, niet intimiderend. Met haar tutorials stelt ze de community in staat om hardware-setup te ontrafelen, van het bouwen van hun eerste NAS tot het beheersen van Docker-containers.

Het ontwerp van toolschema's beperkt een AI-agent voor thuis door te bepalen welke parameters en actievormen vóór uitvoering geldige toolaanroepen kunnen worden.

Een model kan nog steeds verkeerd redeneren, maar getypeerde velden, verplichte doelen, enumeraties en validatie beperken wat die fout kan uitdrukken voordat toestemmings- en goedkeuringslagen bepalen of de actie mag worden uitgevoerd.

Een toolschema definieert de vorm van een toegestane aanvraag

Een agenttool is niet alleen een naam en beschrijving. Het schema bepaalt welke velden kunnen worden aangeleverd, welke typen ze gebruiken en welke combinaties structureel acceptabel zijn.

De huidige MCP-specificatie vereist een inputSchema dat met JSON Schema is gedefinieerd. Dit geeft de runtime een machineleesbaar contract in plaats van alleen te vertrouwen op natuurlijke taal. Het Model Context Protocol definieert tools met een invoerschema, waardoor de geaccepteerde argumentstructuur expliciet is voordat een toolaanroep wordt uitgevoerd; zie MCP-invoerschema's voor tools.

Op een homeserver kan dit het verschil maken tussen een beperkte herstarttool en een vage administratieve shell.

Een aanroep die geen willekeurige opdrachten kan uitdrukken, heeft al een kleiner actieoppervlak.

Verplichte velden voorkomen onvolledige acties

Verplichte eigenschappen dwingen het model om de informatie aan te leveren die een bewerking nodig heeft. Een tool voor het verplaatsen van bestanden kan zowel een bron als een bestemming verplicht stellen; een container-tool kan een doel en actie vereisen.

MCP volgt de validatiesemantiek van JSON Schema, die verplichte eigenschappen en typebeperkingen ondersteunt. JSON Schema-validatie definieert verplichte eigenschappen en andere structurele beweringen waarmee onvolledige aanvragen kunnen worden afgewezen, ter ondersteuning van de beperkingslaag in het JSON Schema-validatiewoordenboek.

Zo hoeft toepassingscode niet te raden naar ontbrekende doelen of gevaarlijke standaardwaarden over te nemen. Ontbrekende informatie leidt tot een validatiefout in plaats van een impliciete actie.

Enumeraties en bereiken verwijderen acties die het model niet kan uitdrukken

Een schema kan een veld beperken tot een opgesomde reeks of een begrensd bereik. Als een actie alleen herstarten, stoppen en starten toestaat, kan verwijderen niet via dat veld worden doorgegeven.

MCP vereist dat toolargumenten aan het invoerschema van de tool voldoen. Structurele beperkingen zijn sterker dan een beschrijving die alleen zegt wat er doorgaans zou moeten gebeuren. OpenAPI-schema's kunnen opgesomde waarden, numerieke limieten en getypeerde eigenschappen uitdrukken. Dit illustreert hoe een tool ongeldige acties onuitdrukbaar kan maken via OpenAPI-schemadefinities.

Thuis kan hetzelfde mechanisme thermostaatwaarden, bewaartermijnen in dagen, servicenamen of back-updoelen begrenzen, zodat het actiewoordenboek expliciet blijft.

Beschrijvingen sturen de selectie, maar validatie handhaaft de structuur

Beschrijvingen in natuurlijke taal helpen het model een tool te kiezen en velden te interpreteren, maar ze leggen niet dezelfde grens op als een validator die aanroepen buiten het contract afwijst.

MCP beschrijft toolbeschrijvingen als een leesbare aanwijzing voor het begrip van het model, terwijl inputSchema het formele parametercontract levert. Het gebruik van tools in Anthropic steunt op gedeclareerde toolparameters om door het model gegenereerde aanroepen te sturen, maar begeleiding door het model verschilt nog steeds van runtimevalidatie, zoals wordt uitgelegd in Anthropic-schema's voor toolgebruik.

Dit onderscheidt het onderwerp van het artikel van ZimaSpace over toolselectie die onbetrouwbaar wordt wanneer er te veel tools beschikbaar zijn. Selectieambiguïteit ontstaat voordat een tool wordt gekozen; schemabeperkingen gelden voor de voorgestelde aanroep zelf.

Schemavalidatie verleent geen toestemming

Een structureel geldige aanvraag kan nog steeds onbevoegd zijn. Het schema kan restart(container=postgres) toestaan, terwijl de aanroeper alleen toestemming heeft om een mediacontainer te herstarten.

MCP beschouwt het gebruik van tools als interactie met externe systemen en beveelt beveiligings- en menselijke goedkeuringscontroles rond aanroepen aan. Correctheid van het schema is één laag, geen compleet machtigingssysteem. Google Gemini gebruikt voor het aanroepen van functies eveneens gestructureerde functiedeclaraties, terwijl autorisatie buiten het schema zelf valt; die scheiding ondersteunt Gemini-schema's voor het aanroepen van functies.

Deze grens sluit aan bij ZimaSpace's artikel over beperkingen van de toolreikwijdte van AI-agents voor thuis: een schema beperkt de parameters die kunnen worden uitgedrukt, terwijl reikwijdte en mogelijkheden bepalen welke geldige bewerkingen daadwerkelijk zijn toegestaan.

Kleinere schema's zijn eenvoudiger te testen en te controleren

Een brede tool met veel optionele velden creëert veel geldige combinaties.

Door tools te beperken, neemt het aantal gedragingen af dat tijdens evaluaties moet worden getest.

JSON Schema ondersteunt objecteigenschappen, verplichte leden en het beheren van extra eigenschappen, waardoor onverwachte velden kunnen worden afgewezen in plaats van stilzwijgend geaccepteerd. Pydantic kan machineleesbare schema's genereren vanuit getypeerde modellen. Dit illustreert waarom kleinere, expliciete schema's eenvoudiger te valideren en testen zijn in Pydantic JSON Schema-generatie.

Tests kunnen vervolgens toegestane acties, ongeldige combinaties, grenswaarden en afwijzingsgedrag opsommen voordat het model wordt verbonden met bestanden, containers, apparaten of back-upsystemen.

Tech & AI HUB

Meer om te lezen

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.