Bewertungen für WebMCP
Veröffentlicht am 19. Mai 2026
WebMCP unterstützt Agenten, die generative KI-Modelle verwenden. Wenn Sie ein System mit generativer KI testen möchten, müssen Ihre Tests probabilistische Ergebnisse unterstützen: Eine Eingabe kann zu Tausenden von Antworten mit unterschiedlicher Genauigkeit führen. Diese Testmethode wird als Bewertung bezeichnet.
Bevor Sie Tools in der Produktion freigeben, müssen Sie bestätigen, dass Agenten wissen, wann sie das Tool aufrufen, wie sie es ausführen und welche Antworten akzeptabel sind. Beheben Sie potenzielle Fehler, bevor sie auftreten.
Erstellen Sie Bewertungen, um die Touchpoints Ihres Systems mit einem Large Language Model (LLM) zu testen:
- Prüfen Sie anhand der Beschreibung und des Schemas, ob das Modell den Zweck Ihres Tools versteht.
- Prüfen Sie, ob das Modell das richtige Tool mit den richtigen Parametern auswählt, um die Nutzerabsicht zu unterstützen.
- Prüfen Sie, ob das Modell auf Informationen reagiert, die es erhalten hat, z. B. um ein anderes Tool aufzurufen.
- Prüfen Sie erfolgreiche User Journeys. Kann ein Agent die User Journey auf meiner Website mit den bereitgestellten Tools erfolgreich abschließen?
Sie sollten weiterhin klassische deterministische Tests für jede Systeminteraktion schreiben, bei der keine Kommunikation mit dem Modell stattfindet.
Fehlerszenarien
Entwickler sollten ihre Systeme testen, um Fehler zu vermeiden, bevor sie auftreten. Dazu müssen Sie wissen, wann das System ausfallen kann, sowohl allein als auch in Interaktion mit externen Faktoren. Bei WebMCP kann das Tool selbst ausfallen und Agenten können die Tools möglicherweise nicht wie erwartet verwenden.
WebMCP-Tools können ausfallen und der Agent kann bei der Verwendung von WebMCP-Tools Fehler verursachen. Angenommen, Ihr Nutzer möchte ein T-Shirt in den Warenkorb legen.
| Fehler | Beispiel | Fehlerbehebung |
|---|---|---|
| Der Agent kann das richtige Tool nicht auswählen oder ruft direkt das falsche Tool auf. |
Der Agent überspringt
|
|
| Der Agent ruft Tools in der falschen Reihenfolge auf. |
Der Agent ruft
|
|
| Der Agent ruft das Tool mit falschen Argumenten auf. |
Der Agent ruft
|
|
Was passiert, wenn der Nutzer sehen möchte, was sich im Warenkorb befindet?
| Fehler | Beispiel | Fehlerbehebung |
|---|---|---|
| Die Toolausgabe ist falsch oder das Tool übersieht etwas. | Der Nutzer bittet um
|
|
Schließlich kann ein Tool auf jede Weise ausfallen, auf die JavaScript ausfällt. Zur Fehlerbehebung sollten Sie Folgendes untersuchen:
- Verarbeitet der Toolcode alle potenziellen Laufzeitfehler und Ausnahmen korrekt?
- Wird der Fehler ordnungsgemäß an den Agenten und das Modell zurückgemeldet?
- Sind externe APIs oder Dienste, auf die sich das Tool verlässt, fehlerfrei?
- Ist die Fehlerstruktur klar genug, damit das Modell zwischen einem vorübergehenden Problem (Wiederholung) und einem kritischen Fehler unterscheiden kann?
Tools isoliert testen
Wenn ein Agent nicht weiß, welches Tool er für eine Anfrage wie „Ich möchte eine kleine Pizza“ aufrufen soll, hat er bei einer komplexen User Journey keine Chance.
Wenn Sie Tools isoliert testen, können Sie Ihre Schemas und Beschreibungen optimieren, bevor Sie eine Browsersimulation ausführen.
TIPP: Sie können einen WebMCP-Toolaufruf auslösen
using navigator.modelContext.executeTool(...).
Genauigkeit des Aufrufs messen
Sehen Sie sich unsere Demo an, den
WebMCP zaMaker.
Wenn der Nutzer „Ich möchte eine kleine Pizza“ eingibt, können Sie eine Modellantwort erwarten,
die die Absicht angibt, einen set_pizza_size-Aufruf mit dem
"size":"Small" Argument auszuführen.
Die Funktion expectedCall definiert die erwartete Funktion und das erwartete Argument. Mit diesem Ansatz wird bestätigt, dass der Agent anhand des bereitgestellten Schemas das richtige Tool auswählt, um die Nutzerabsicht zu unterstützen.
{
"messages": [
{
"role": "user",
"content": "I'd like a small pizza."
}
],
"expectedCall": [
{
"functionName": "set_pizza_size",
"arguments": { "size": "Small" }
}
]
}
expectedCall wird verwendet, um einen regelbasierten, deterministischen Test durchzuführen:
Sie können Ihre WebMCP-Tools an den Lebenszyklus einer Komponente binden. Das bedeutet, dass Sie testen müssen, wann der Status Ihrer Anwendung mit dem übereinstimmt, was WebMCP erwartet. Dazu müssen Sie eine vollständige Toolliste bereitstellen, die für den Status relevant ist, den Sie bewerten möchten. Ein Nutzer führt beispielsweise gemeinsam mit seinem Agenten eine Co-Browsing-Sitzung durch und öffnet WebMCP zaMaker.
Status der App
[
...
{
"name": "add_topping",
"description": "Add one or more toppings to the pizza",
...
},
{
"name": "set_pizza_size",
"description": "Set the pizza size directly.",
"inputSchema": {
"type": "object",
"properties": {
"size": {
"type": "string",
"enum": [
"Small",
"Medium",
"Large",
"Extra Large"
],
"description": "The specific size name."
},
}
}
},
{
"name": "set_pizza_style",
"description": "Set the style of the pizza (colors/theme)",
...
},
...
]
Erwarteter Aufruf
...
"expectedCall": [
{
"functionName": "set_pizza_size",
"arguments": { "size": "Small" }
}
]
...
Beim Öffnen stellt WebMCP die Tools add_topping, set_pizza_size und set_pizza_style bereit. Um eines dieser einzelnen Tools genau zu testen, sollten Sie alle Tools einbeziehen, um einen simulierten, vollständigen Status zu erstellen.
HINWEIS: Ein Agent hat möglicherweise Zugriff auf zusätzliche Tools, aber Sie können nur die von Ihnen bereitgestellten Tools bewerten.
Nachdem Sie nun wissen, dass der Agent das richtige Tool nach Bedarf aufruft, können Sie prüfen, ob der Toolaufruf die richtigen Parameter enthält und das Ergebnis wie erwartet ist. Es gibt zwei Schritte: deterministische Tests und probabilistische Tests.
Deterministische Tests ausführen
Da WebMCP-Tools mit JavaScript oder als HTML-Anmerkungen erstellt werden, können Sie deterministische Tests schreiben, um die folgenden Aufgaben auszuführen:
- Toollogik prüfen.
- Bestätigen, dass Abhängigkeiten korrekt aufgerufen wurden.
- Bestätigen, dass die Benutzeroberfläche wie erwartet aktualisiert wurde, zusammen mit allen anderen beabsichtigten Nebenwirkungen.
- Prüfen, ob die zurückgegebenen Informationen mit dem erwarteten Wert übereinstimmen.
- Testparameter validieren.
Wenn Ihr Tool beispielsweise eine Funktion SearchComponent verwendet, können Sie es testen, indem Sie ein Mock von SearchComponent übergeben. Denken Sie daran, die Umgebung zu simulieren, in der das Tool ausgeführt wird, um die bestmöglichen Ergebnisse zu erzielen. Dies ist dasselbe Verfahren, das Sie verwenden würden, wenn Sie einen anderen Test zur Application Integration schreiben.
Probabilistische Tests ausführen
Wenn Sie eine Modellausgabe benötigen, um die nächsten Tools korrekt aufzurufen, müssen Sie Bewertungen schreiben.
Nutzer können direkte Abfragen an das Modell senden, in denen sie speziell nach der Funktion des Tools fragen, oder eine mehrdeutige Abfrage, die impliziert, dass ein Tool verwendet werden sollte. „Füge meiner Pizza Pepperoni hinzu“ ist eine direkte Abfrage. „Ich möchte alles Fleisch auf meiner Pizza“ ist mehrdeutig und erfordert, dass das Modell versteht, dass es das Tool „add_topping“ benötigt und welche der Beläge als Fleisch definiert werden können.
Wenn Sie Datensätze für Ihre Bewertungen erstellen, fügen Sie sowohl direkte Abfragen ein, mit denen die Toolausführung getestet wird, als auch offene Abfragen, mit denen die Logik für die Modellbegründung und die Toolauswahl getestet wird.
Wenn Sie ein Café betreiben, können Sie Nutzer unterstützen, die ihren Agenten bitten, denselben Kaffee nachzubestellen, den sie letzten Monat bestellt haben. Erstellen Sie ein Tool zum Suchen nach früheren Bestellungen, OrderHistoryService, und ein weiteres zum Bestellen des Kaffees. Um den Bestellverlaufsdienst zu testen, können Sie ein Mock senden, das eine Kaffee-Produkt-ID zurückgibt.
In diesem Beispiel bewerten Sie, ob das Modell die Absicht der Abfrage versteht, das richtige Tool auswählt und ob dieses Tool die richtigen Informationen liefert, um Maßnahmen zu ergreifen.
Wenn das Modell get_order_history nicht aufruft, weiß es nicht, welche item_id für order_product verwendet werden soll.
End-to-End-Tests
Schreiben Sie End-to-End-Tests, um sicherzustellen, dass Nutzer und ihre Agenten ihre Journeys erfolgreich abschließen können. Neben dem Testen der einzelnen Tools testen Sie auch, ob mehrstufige Aktionen in der richtigen Reihenfolge ausgeführt werden.
Angenommen, Sie betreiben einen Online-Bekleidungsgeschäft. Ein Nutzer fragt seinen Agenten: „Ich möchte eine schwarze Jacke und ein Paar Jeans kaufen. Können Sie mir eine Aufschlüsselung der verwendeten Materialien geben?“
Eine erfolgreiche agentengestützte Journey könnte so aussehen:
- Zur Kategorie „Kleidung“ navigieren.
- Eines der angeforderten Kleidungsstücke suchen (Reihenfolge ist unwichtig).
- Bestimmten Artikel suchen (
search_clothes). - Produktdetails mit der Materialliste abrufen (
get_product_details). - Schritte 2 bis 4 für jeden angeforderten Artikel wiederholen.
Wenn der Agent Schritt 2 erreicht, kann er zuerst nach der schwarzen Jacke oder den Jeans suchen. Die Reihenfolge ist unwichtig. Die restlichen Schritte müssen jedoch sequenziell ausgeführt werden.
Schreiben Sie eine End-to-End-Bewertung, um zu prüfen, ob der Agent Tools in der erwarteten Reihenfolge aufruft:
{
"messages": [
{
"role": "user",
"content": "I am looking to buy a black jacket and a pair of jeans.
Could you provide a breakdown of the materials used ?"
}
],
"expectedCall": [
{
"functionName": "navigate_to_category",
"arguments": { "category": "clothes" }
},
{
"unordered": [
{
"ordered": [
{
"functionName": "search_clothes",
"arguments": { "query": "black jacket" }
},
{
"functionName": "get_product_details",
"arguments": { "productId": "JACKET002" }
}
]
},
{
"ordered": [
{
"functionName": "search_clothes",
"arguments": { "query": "jeans" }
},
{
"functionName": "get_product_details",
"arguments": { "productId": "JEANS001" }
}
]
}
]
}
]
}
Fehler in der Mitte der Kette bewerten
start_pizza_creator, set_pizza_style, set_pizza_size, start_checkout, add_discount_coupon, und complete_checkout. Der Aufruf von add_discount_coupon ist fehlgeschlagen, aber der Vorgang konnte trotzdem abgeschlossen werden. Das bedeutet, dass der Nutzer keinen Rabatt erhalten hat.Es kann vorkommen, dass ein Agent mehrere Tools sequenziell aufrufen muss. Was passiert, wenn ein Tool in der Mitte dieses Vorgangs ausfällt? Ein Nutzer möchte beispielsweise eine Pizza mit seinem Gutscheincode bestellen:
„Ich möchte eine kleine Pizza mit Pesto. Verwende meinen Gutscheincode FreePizza.“
Es ist möglich, dass der Agent bei add_discount_coupon ausfällt und mit dem Bezahlvorgang für eine Pizza zum vollen Preis fortfährt. Um das Tool add_discount_coupon zu testen, können Sie diese Toolaufruffolge manuell ausführen, ohne mit einem Modell zu interagieren, um dieses Szenario zu simulieren. Bringen Sie Ihre Anwendung in den Zustand, in dem Sie erwarten, dass das Tool ausfällt. In diesem Fall ist das nach dem Tool start_checkout. Anschließend können Sie add_discount_coupon isoliert bewerten.
Mit WebMCP experimentieren
Beginnen Sie mit Bewertungen für Tools in Isolation und bewerten Sie Ihre eigenen WebMCP-fähigen Websites mit einem beliebigen WebMCP-kompatiblen Agenten:
- Laden Sie unsere experimentellen Bewertungstools auf GitHub herunter.
- Sehen Sie sich unseren Kurs Bewertungen für KI erstellen an.