Das Design von Tool-Schemas schränkt einen privaten KI-Agenten ein, indem es begrenzt, welche Parameter und Aktionsformen vor der Ausführung zu gültigen Tool-Aufrufen werden können.
Ein Modell kann weiterhin falsch schlussfolgern, aber typisierte Felder, erforderliche Ziele, Aufzählungen und Validierungen reduzieren, was dieser Fehler ausdrücken kann, bevor Berechtigungs- und Freigabeebenen entscheiden, ob die Aktion ausgeführt werden darf.
Ein Tool-Schema definiert die Form einer zulässigen Anfrage
Ein Agententool besteht nicht nur aus einem Namen und einer Beschreibung. Sein Schema legt fest, welche Felder angegeben werden können, welche Typen sie verwenden und welche Kombinationen strukturell zulässig sind.
Die aktuelle MCP-Spezifikation verlangt ein mit JSON Schema definiertes inputSchema. Dadurch erhält die Laufzeitumgebung einen maschinenlesbaren Vertrag, statt sich ausschließlich auf natürliche Sprache zu verlassen. Das Model Context Protocol definiert Tools mit einem Eingabeschema, wodurch die akzeptierte Argumentstruktur vor der Ausführung eines Tool-Aufrufs eindeutig festgelegt ist; siehe MCP-Eingabeschemas für Tools.
Auf einem Heimserver kann dies ein eng begrenztes Neustart-Tool von einer vagen administrativen Shell unterscheiden.
Ein Aufruf, der keine beliebigen Befehle ausdrücken kann, hat bereits eine kleinere Angriffsfläche.
Pflichtfelder verhindern unvollständige Aktionen
Erforderliche Eigenschaften zwingen das Modell, die für einen Vorgang nötigen Informationen bereitzustellen. Ein Tool zum Verschieben von Dateien kann sowohl Quelle als auch Ziel verlangen; ein Container-Tool kann ein Ziel und eine Aktion erfordern.
MCP folgt den Validierungssemantiken von JSON Schema und unterstützt dadurch erforderliche Eigenschaften sowie Typbeschränkungen. Die JSON-Schema-Validierung definiert erforderliche Eigenschaften und weitere strukturelle Zusicherungen, mit denen unvollständige Anfragen abgelehnt werden können. Sie unterstützt damit die Einschränkungsebene im Validierungsvokabular von JSON Schema.
So muss der Anwendungscode keine fehlenden Ziele erraten oder gefährliche Standardwerte übernehmen. Das Fehlen einer Angabe führt zu einem Validierungsfehler statt zu einer impliziten Aktion.
Aufzählungen und Wertebereiche entfernen Aktionen, die das Modell nicht ausdrücken kann
Ein Schema kann ein Feld auf eine Aufzählung oder einen begrenzten Wertebereich beschränken. Wenn die Aktion nur Neustarten, Stoppen und Starten erlaubt, kann „Löschen“ dieses Feld nicht passieren.
MCP verlangt, dass Tool-Argumente dem Eingabeschema des Tools entsprechen. Strukturelle Einschränkungen sind stärker als eine Beschreibung, die lediglich sagt, was normalerweise geschehen sollte. OpenAPI-Schemas können Aufzählungswerte, numerische Grenzen und typisierte Eigenschaften ausdrücken. Sie zeigen damit, wie ein Tool ungültige Aktionen durch OpenAPI-Schema-Definitionen unausdrückbar machen kann.
Zu Hause kann derselbe Mechanismus Thermostatwerte, Aufbewahrungstage, Dienstnamen oder Backup-Ziele begrenzen, sodass das Aktionsvokabular eindeutig bleibt.
Beschreibungen unterstützen die Auswahl, aber die Validierung setzt die Struktur durch
Beschreibungen in natürlicher Sprache helfen dem Modell, ein Tool auszuwählen und Felder zu interpretieren. Sie setzen jedoch nicht dieselbe Grenze durch wie ein Validator, der vertragswidrige Aufrufe ablehnt.
MCP beschreibt Tool-Beschreibungen als menschenlesbaren Hinweis zum Verständnis durch das Modell, während inputSchema den formalen Parametervertrag bereitstellt. Die Tool-Nutzung von Anthropic stützt sich auf deklarierte Tool-Parameter, um vom Modell erzeugte Aufrufe zu steuern. Die Anleitung durch das Modell unterscheidet sich jedoch weiterhin von der Laufzeitvalidierung, wie in den Anthropic-Tool-Use-Schemas erläutert.
Dies unterscheidet das Thema vom ZimaSpace-Artikel darüber, dass die Tool-Auswahl bei zu vielen verfügbaren Tools unzuverlässig wird. Auswahlunsicherheit entsteht, bevor ein Tool ausgewählt wird; Schemaeinschränkungen gelten für den vorgeschlagenen Aufruf selbst.
Die Schema-Validierung gewährt keine Berechtigung
Eine strukturell gültige Anfrage kann dennoch unbefugt sein. Das Schema kann restart(container=postgres) erlauben, während der Aufrufer nur zum Neustarten eines Mediencontainers berechtigt ist.
MCP behandelt die Nutzung von Tools als Interaktion mit externen Systemen und empfiehlt Sicherheits- und Freigabekontrollen rund um deren Aufruf. Die Schema-Korrektheit ist nur eine Ebene und kein vollständiges Berechtigungssystem. Auch das Function Calling von Google Gemini verwendet strukturierte Funktionsdeklarationen, während die Autorisierung außerhalb des Schemas selbst bleibt. Diese Trennung wird durch Gemini-Schemas für Function Calling unterstützt.
Diese Grenze knüpft an die Grenzen des Tool-Umfangs eines privaten KI-Agenten von ZimaSpace an: Das Schema schränkt darstellbare Parameter ein, während Umfang und Fähigkeiten bestimmen, welche gültigen Vorgänge tatsächlich autorisiert sind.
Kleinere Schemas lassen sich leichter testen und prüfen
Ein umfangreiches Tool mit vielen optionalen Feldern erzeugt zahlreiche gültige Kombinationen.
Durch die Einschränkung von Tools sinkt die Zahl der Verhaltensweisen, die bei der Evaluierung abgedeckt werden müssen.
JSON Schema unterstützt Objekteigenschaften, erforderliche Mitglieder und die Kontrolle zusätzlicher Eigenschaften. Dadurch können unerwartete Felder abgelehnt werden, statt sie stillschweigend zu akzeptieren. Pydantic kann aus typisierten Modellen maschinenlesbare Schemas erzeugen und veranschaulicht damit, warum kleinere, explizite Schemas in der Pydantic-JSON-Schema-Erzeugung leichter zu validieren und zu testen sind.
Tests können anschließend zulässige Aktionen, ungültige Kombinationen, Grenzwerte und das Ablehnungsverhalten vollständig erfassen, bevor das Modell mit Dateien, Containern, Geräten oder Backup-Systemen verbunden wird.
Tech- & KI-Zentrum
Mehr zum Lesen

Laufzeitstatus vs. dauerhafter Status in Home Assistant: Was muss einen Neustart überstehen?
Home Assistant speichert nicht jeden aktuellen Wert dauerhaft; Konfiguration, Register, ausgewählte wiederhergestellte Zustände, Verlauf und Bereitstellungsdaten erfüllen beim Neustart unterschiedliche Aufgaben.

Wie authentifiziert Home Assistant lokale und entfernte Sitzungen?
Lokale und Remote-Home-Assistant-Sitzungen verwenden dasselbe serverseitige Identitätsmodell. Der Fernzugriff ändert die Route und die TLS-Grenze, nicht den grundlegenden Token-Ablauf.

Warum können Home-Assistant-Verlaufsabfragen langsamer werden, wenn die Recorder-Daten wachsen?
Das Wachstum des Recorders kann die Kosten von Verlaufsabfragen erhöhen, wenn der angeforderte Zeitraum mehr Zeilen umfasst, Cache-Fehlversuche zunehmen oder die Verarbeitung von Speicher...

