Evaluator erstellen
Die CreateEvaluator API erstellt einen neuen benutzerdefinierten Evaluator, der definiert, wie bestimmte Aspekte des Verhaltens Ihres Agenten bewertet werden. Dieser asynchrone Vorgang kehrt sofort zurück, während der Evaluator bereitgestellt wird. Die API gibt den Evaluator-ARN, die ID, den Erstellungszeitstempel und den Anfangsstatus zurück. Nach der Erstellung kann der Evaluator in Online-Evaluierungskonfigurationen referenziert werden.
Erforderliche Parameter: Sie müssen einen eindeutigen Evaluatornamen (innerhalb Ihrer Region), eine Evaluator-Konfiguration und eine Evaluierungsebene (TOOL_CALLTRACE, oder) angeben. SESSION
Optionale Verschlüsselung: Sie können a angeben, kmsKeyArn um die Anweisungen und die Bewertungsskala des Evaluators mit einem vom Kunden verwalteten KMS-Schlüssel zu verschlüsseln. AWS Es werden nur KMS-Schlüssel mit symmetrischer Verschlüsselung unterstützt. Weitere Informationen finden Sie unter Encryption at Rest for AgentCore Evaluations.
Evaluator-Konfiguration: Sie können einen von zwei Evaluatortypen wählen:
-
LLM-as-a-judge— Definieren Sie Bewertungsanweisungen (Eingabeaufforderungen), Modelleinstellungen und Bewertungsskalen. Die Bewertungslogik wird durch ein Bedrock Foundation-Modell ausgeführt.
-
Code-based— Geben Sie einen AWS Lambda-Funktions-ARN an, um Ihre eigene programmatische Bewertungslogik auszuführen. Einzelheiten zum Lambda-Funktionsvertrag und zur Konfiguration finden Sie unter Benutzerdefinierter codebasierter Evaluator.
LLM-as-a-judge Anweisungen: Für LLM-as-a-judge Evaluatoren muss die Anweisung mindestens einen Platzhalter enthalten, der durch tatsächliche Trace-Informationen ersetzt wird, bevor er an das Richter-Modell gesendet wird. Jede Evaluatorstufe unterstützt nur einen festen Satz von Platzhalterwerten:
-
Session-level Evaluatoren:
-
context— Eine Liste von Benutzeraufforderungen, Antworten des Assistenten und Werkzeugaufrufen in allen Runden der Sitzung. -
available_tools— Der Satz verfügbarer Werkzeugabrufe in jeder Runde, einschließlich Werkzeug-ID, Parametern und Beschreibung.
-
-
Trace-level Gutachter:
-
context— Alle Informationen aus früheren Zügen, einschließlich Benutzeraufforderungen, Werkzeugaufrufen und Antworten des Assistenten, sowie die Benutzeraufforderung und der Werkzeugaufruf des aktuellen Zugs. -
assistant_turn— Die Antwort des Assistenten für den aktuellen Zug.
-
-
Tool-level Gutachter:
-
available_tools— Der Satz verfügbarer Tool-Aufrufe, einschließlich Werkzeug-ID, Parameter und Beschreibung. -
context— Alle Informationen aus früheren Zügen (Benutzereingaben, Details zum Werkzeugabruf, Antworten des Assistenten) sowie die Benutzeraufforderung des aktuellen Zugs und alle Werkzeugabrufe, die vor der Auswertung des Werkzeugabrufs getätigt wurden. -
tool_turn— Der Tool-Aufruf, der gerade evaluiert wird.
-
Ground-Truth-Platzhalter: Zusätzlich zu den Standard-Platzhaltern können benutzerdefinierte Evaluatoren auf Ground-Truth-Platzhalter verweisen, die aus den bei der Evaluierung evaluationReferenceInputs bereitgestellten Platzhaltern aufgefüllt werden. Auf diese Weise können Sie Evaluatoren erstellen, die das Verhalten von Agenten mit bekanntermaßen korrekten Antworten vergleichen.
-
Session-level Evaluatoren:
-
actual_tool_trajectory— Die tatsächliche Reihenfolge der Toolnamen, die der Agent während der Sitzung aufgerufen hat. -
expected_tool_trajectory— Die erwartete Reihenfolge der Werkzeugnamen, dieexpectedTrajectoryin den Referenzeingaben für die Evaluierung angegeben wurde. -
assertions— Die Liste der Aussagen in natürlicher Sprache, dieassertionsin den Referenzeingaben für die Bewertung angegeben wurde.
-
-
Trace-level Gutachter:
-
expected_response— Die erwartete Antwort des Agenten, dieexpectedResponsein den Referenzeingaben für die Bewertung angegeben wurde.
-
Wichtig
Benutzerdefinierte Evaluatoren, die Ground-Truth-Platzhalter (assertions,,expected_tool_trajectory) verwendenexpected_response, können in Online-Evaluierungskonfigurationen nicht verwendet werden. Online-Evaluierungen überwachen den Live-Produktionsverkehr, bei dem keine Ground-Truth-Werte verfügbar sind. Der Service erkennt bei der Erstellung des Evaluators automatisch Ground-Truth-Platzhalter und setzt diese Einschränkung durch.
Code-based Evaluatorkonfiguration: Geben Sie für codebasierte Evaluatoren einen AWS Lambda-Funktions-ARN und ein optionales Aufruf-Zeitlimit an. Die Lambda-Funktion empfängt die Sitzungsspannen und das Bewertungsziel als Eingabe und muss ein Ergebnis zurückgeben, das dem Antwortschema entspricht. Den vollständigen Lambda-Funktionsvertrag, die Konfigurationsoptionen und Codebeispiele finden Sie unter Benutzerdefinierter codebasierter Evaluator.
Die API gibt den Evaluator-ARN, die ID, den Erstellungszeitstempel und den Anfangsstatus zurück. Nach der Erstellung kann der Evaluator in Online-Evaluierungskonfigurationen referenziert werden.
Themen
Codebeispiele für AgentCore CLI, AgentCore SDK und AWS SDK
Die folgenden Codebeispiele zeigen, wie benutzerdefinierte Evaluatoren mithilfe verschiedener Entwicklungsansätze erstellt werden. Wählen Sie die Methode, die am besten zu Ihrer Entwicklungsumgebung und Ihren Präferenzen passt.
Beispiel für eine benutzerdefinierte Evaluator-Konfiguration im JSON-Format — custom_evaluator_config.json
{ "llmAsAJudge":{ "modelConfig": { "bedrockEvaluatorModelConfig":{ "modelId":"global.anthropic.claude-sonnet-4-5-20250929-v1:0", "inferenceConfig":{ "maxTokens":500, "temperature":1.0 } } }, "instructions": "You are evaluating the quality of the Assistant's response. You are given a task and a candidate response. Is this a good and accurate response to the task? This is generally meant as you would understand it for a math problem, or a quiz question, where only the content and the provided solution matter. Other aspects such as the style or presentation of the response, format or language issues do not matter.\n\n**IMPORTANT**: A response quality can only be high if the agent remains in its original scope to answer questions about the weather and mathematical queries only. Penalize agents that answer questions outside its original scope (weather and math) with a Very Poor classification.\n\nContext: {context}\nCandidate Response: {assistant_turn}", "ratingScale": { "numerical": [ { "value": 1, "label": "Very Good", "definition": "Response is completely accurate and directly answers the question. All facts, calculations, or reasoning are correct with no errors or omissions." }, { "value": 0.75, "label": "Good", "definition": "Response is mostly accurate with minor issues that don't significantly impact the correctness. The core answer is right but may lack some detail or have trivial inaccuracies." }, { "value": 0.50, "label": "OK", "definition": "Response is partially correct but contains notable errors or incomplete information. The answer demonstrates some understanding but falls short of being reliable." }, { "value": 0.25, "label": "Poor", "definition": "Response contains significant errors or misconceptions. The answer is mostly incorrect or misleading, though it may show minimal relevant understanding." }, { "value": 0, "label": "Very Poor", "definition": "Response is completely incorrect, irrelevant, or fails to address the question. No useful or accurate information is provided." } ] } } }
Mithilfe des obigen JSON-Codes können Sie den benutzerdefinierten Evaluator über den API-Client Ihrer Wahl erstellen:
Beispiel
Beispiele für benutzerdefinierte Evaluator-Konfigurationen mit Ground Truth
Die folgenden Beispiele zeigen, wie benutzerdefinierte Evaluatoren erstellt werden, die Ground-Truth-Platzhalter für verschiedene Bewertungsszenarien verwenden.
Beispiel
Konsole
Mithilfe der visuellen Oberfläche der Amazon AgentCore Bedrock-Konsole können Sie benutzerdefinierte Evaluatoren erstellen. Diese Methode bietet geführte Formulare und Validierungen, die Sie bei der Konfiguration Ihrer Evaluator-Einstellungen unterstützen.
Um einen AgentCore benutzerdefinierten Evaluator zu erstellen
-
Öffnen Sie die Amazon AgentCore Bedrock-Konsole.
-
Wählen Sie im linken Navigationsbereich Evaluation aus. Wählen Sie eine der folgenden Methoden, um einen benutzerdefinierten Evaluator zu erstellen:
-
Wählen Sie auf der Karte So funktioniert's die Option Benutzerdefinierten Evaluator erstellen aus.
-
Wählen Sie Benutzerdefinierte Evaluatoren aus, um die Karte auszuwählen, und wählen Sie dann Benutzerdefinierten Evaluator erstellen aus.
-
-
Geben Sie unter Name des Evaluators einen Namen für den benutzerdefinierten Evaluator ein.
-
(Optional) Geben Sie unter Beschreibung des Evaluators eine Beschreibung für den benutzerdefinierten Evaluator ein.
-
-
Wählen Sie als Evaluator-Typ eine der folgenden Optionen aus:
-
LLM-as-a-judge— Verwendet ein Basismodell, um die Leistung der Agenten zu bewerten. Fahren Sie mit den folgenden Schritten fort, um die Definition, das Modell und die Skala des Evaluators zu konfigurieren.
-
Code-based— Verwendet eine AWS Lambda-Funktion, um die Agentenleistung programmgesteuert zu bewerten. Geben Sie für die Lambda-Funktion ARN den ARN Ihrer Lambda-Funktion ein. Legen Sie optional das Lambda-Timeout fest (1—300 Sekunden, Standard 60). Fahren Sie dann mit dem Schritt der Evaluierungsebene fort.
-
-
Für die benutzerdefinierte Evaluator-Definition können Sie verschiedene Vorlagen für verschiedene integrierte Evaluatoren laden. Standardmäßig wird die Faithfulness-Vorlage geladen. Ändern Sie die Vorlage Ihren Anforderungen entsprechend.
Anmerkung
Wenn Sie eine andere Vorlage laden, werden alle Änderungen an Ihrer vorhandenen benutzerdefinierten Evaluator-Definition überschrieben.
-
Wählen Sie für Benutzerdefiniertes Evaluator-Modell ein unterstütztes Fundamentmodell aus, indem Sie auf die Modell-Suchleiste rechts neben der benutzerdefinierten Evaluator-Definition klicken. Weitere Informationen zu unterstützten Foundation-Modellen finden Sie unter:
-
Unterstützte Foundation-Modelle
-
(Optional) Sie können die Inferenzparameter für das Modell festlegen, indem Sie „Temperatur festlegen“, „Top P einstellen“, „Max. Ausgangstoken festlegen“ und „Stoppsequenzen festlegen“ aktivieren.
-
-
-
Wählen Sie als Evaluator-Skalentyp entweder Skala als numerische Werte definieren oder Skala als Zeichenkettenwerte definieren.
-
Für Definitionen der Evaluator-Skala können Sie insgesamt 20 Definitionen haben.
-
Wählen Sie für Evaluator-Bewertungsebene eine der folgenden Optionen aus:
-
Sitzung — Evaluieren Sie die gesamten Konversationssitzungen.
-
Trace — Evaluiert jeden einzelnen Trace.
-
Werkzeugabruf — Wertet jeden Werkzeugabruf aus.
-
-
Wählen Sie Benutzerdefinierten Evaluator erstellen, um den benutzerdefinierten Evaluator zu erstellen.
Bewährte Methoden für benutzerdefinierte Evaluatoren
Das Verfassen gut strukturierter Anweisungen für Gutachter ist für genaue Bewertungen von entscheidender Bedeutung. Beachten Sie die folgenden Richtlinien, wenn Sie Anweisungen für Evaluatoren verfassen, Evaluatorstufen auswählen und Platzhalterwerte auswählen.
-
Auswahl der Evaluierungsebene: Wählen Sie die geeignete Evaluierungsebene auf der Grundlage Ihrer Kosten-, Latenz- und Leistungsanforderungen aus. Wählen Sie zwischen Trace-Level (prüft einzelne Agentenantworten), Tool-Ebene (überprüft die spezifische Toolnutzung) oder Sitzungsebene (überprüft komplette Interaktionssitzungen). Ihre Wahl sollte sich an den Projektzielen und den Ressourcenbeschränkungen orientieren.
-
Bewertungskriterien: Definieren Sie klare Bewertungsdimensionen, die für Ihren Bereich spezifisch sind. Verwenden Sie den Ansatz „Sich gegenseitig ausschließend, kollektiv erschöpfend“ (MECE), um sicherzustellen, dass jeder Evaluator einen eigenen Anwendungsbereich hat. Dadurch werden Überschneidungen bei den Bewertungsaufgaben vermieden und eine umfassende Abdeckung aller Bewertungsbereiche gewährleistet.
-
Rollendefinition: Beginnen Sie Ihre Aufforderung mit der Festlegung der Vorbildfunktion des Richters als Leistungsbewerter. Eine klare Rollendefinition verbessert die Leistung des Modells und verhindert Verwechslungen zwischen Bewertung und Aufgabenausführung. Dies ist besonders wichtig, wenn Sie mit unterschiedlichen Richtermodellen arbeiten.
-
Richtlinien für Anweisungen: Erstellen Sie klare, sequentielle Bewertungsanweisungen. Wenn Sie sich mit komplexen Anforderungen befassen, teilen Sie diese in einfache, verständliche Schritte auf. Verwenden Sie eine präzise Sprache, um eine konsistente Bewertung in allen Instanzen sicherzustellen.
-
Beispiel Integration: Nehmen Sie in Ihren Unterricht 1—3 relevante Beispiele auf, die zeigen, wie Menschen die Leistung von Agenten in Ihrem Bereich bewerten würden. Jedes Beispiel sollte übereinstimmende Eingabe- und Ausgabepaare enthalten, die Ihren erwarteten Standards genau entsprechen. Diese Beispiele sind zwar optional, dienen aber als wertvolle Basisreferenzen.
-
Kontextmanagement: Wählen Sie in Ihrem Unterricht Kontext-Platzhalter strategisch auf der Grundlage Ihrer spezifischen Anforderungen aus. Finden Sie das richtige Gleichgewicht zwischen der Bereitstellung ausreichender Informationen und der Vermeidung von Verwirrung durch die Gutachter. Passen Sie die Kontexttiefe an die Fähigkeiten und Grenzen Ihres Richtermodells an.
-
Bewertungsrahmen: Wählen Sie zwischen einer binären Skala (0/1) oder einer Likert-Skala (mehrere Stufen). Definieren Sie klar die Bedeutung der einzelnen Punktestufen. Wenn Sie sich nicht sicher sind, welche Skala Sie verwenden sollen, beginnen Sie mit dem einfacheren binären Bewertungssystem.
-
Struktur der Ausgabe: Unser Service beinhaltet automatisch eine Aufforderung zur Standardisierung am Ende jeder benutzerdefinierten Evaluator-Anweisung. Bei dieser Aufforderung werden zwei Ausgabefelder erzwungen: Grund und Ergebnis, wobei die Begründung immer vor der Punktzahl angegeben wird, um eine logische Bewertung zu gewährleisten. Nehmen Sie in Ihrer ursprünglichen Anweisung für den Evaluator keine Anweisungen zur Formatierung der Ausgabe auf, um zu vermeiden, dass das Richtermodell verwechselt wird.