Bewertung von KI-Agenten von Prompts zu Metriken

Autor

Shalini Harkar

Lead AI Advocate

Was sind KI-Agenten?

Ein KI-Agent bezieht sich auf ein Softwaresystem, das in der Lage ist, Aufgaben für einen Benutzer oder ein anderes System selbstständig auszuführen, indem es seinen eigenen Workflow entwickelt und bei Bedarf externe Tools verwendet.

Agenten gehen weit über die einfache Verarbeitung und das Verständnis von Sprache hinaus. Sie sind in der Lage, Entscheidungen zu treffen, Probleme zu lösen, mit ihrer Umwelt zu interagieren und Ziele zu verfolgen.

KI-Agenten werden mittlerweile in eine Vielzahl von Unternehmenslösungen integriert, von IT-Automatisierung und Software-Engineering bis hin zu Konversationsschnittstellen und der Implementierung von Codegenerierung. Angetrieben von großen Sprachmodellen (LLMs) können sie komplexe Anweisungen verstehen, sie in Schritte zerlegen, mit Ressourcen aus externen Quellen interagieren und verfügen über die kognitive Fähigkeit zu wissen, wann bestimmte Tools oder Dienste bereitgestellt werden müssen, um Aufgaben zu erfüllen.

Warum ist es wichtig, die Agenten zu bewerten?

Die Agentenbewertung ist ein wichtiges Verfahren bei der Entwicklung und dem bereitstellen autonomer KI-Systeme, da sie misst, wie gut ein Agent die zugewiesenen Aufgaben ausführt, Entscheidungen trifft und mit Benutzern oder Umgebungen interagiert. Auf diese Weise können wir sicherstellen, dass die Agenten in den beabsichtigten Anwendungsfall zuverlässig, effizient und ethisch korrekt arbeiten.

Zu den wichtigsten Gründen für die Bewertung eines Agenten gehören:

  • Funktionsprüfung: Dieser Schritt dient dazu, das Verhalten und die Handlungen des Agenten unter bestimmten Bedingungen sowie die Erfüllung seiner Ziele innerhalb festgelegter Grenzen zu überprüfen.
  • Designoptimierung: Identifiziert die Schwachstellen und Ineffizienzen in der Argumentation, Planung oder im Einsatz der Tools des Agenten, sodass wir die Architektur und den Ablauf des Agenten iterativ verbessern können.
  • Robustheit: Evaluiert die Fähigkeit des Agenten, auf Edge-Fälle, feindliche Eingaben oder suboptimale Bedingungen zu reagieren, was die Fehlertoleranz und Resilienz verbessern kann.
  • Leistungs- und Ressourcen-Metriken: Die Beobachtung von Latenz, Durchsatz, Token-Verbrauch, Speicher und anderen System-Metriken kann nachverfolgt werden, sodass wir die Laufzeit-Effizienzen ermitteln und die Betriebskosten minimieren können.
  • Qualität der Benutzerinteraktion: Misst die Klarheit, Nützlichkeit, Kohärenz und Relevanz der Antworten des Agenten als Indikator für die Benutzerzufriedenheit oder die Effektivität der Konversation.
  • Analyse der Zielerreichung: Anhand von Erfolgskriterien oder spezifischen aufgabenbasierten Benchmarks können wir beurteilen, wie zuverlässig und genau der Agent seine Ziele erreicht hat.
  • Ethische und sicherheitsrelevante Überlegungen: Die Ausgaben des Agenten können auf Fairness, Verzerrung, potenzielle Schäden und die Einhaltung von Sicherheitsverfahren bewertet werden.

Bewertungsmetriken für KI-Agenten

Zur Bewertung der Leistung eines KI-Agenten werden Metriken verwendet, die in mehrere formale Leistungsklassen unterteilt sind: Genauigkeit, Reaktionszeit (Geschwindigkeit) und Kosten der verwendeten Ressourcen. Die Genauigkeit beschreibt, wie gut der Agent die richtigen und relevanten Antworten gibt, sowie die Fähigkeit des Agenten, die beabsichtigten Funktionen zu erfüllen. Die Antwortzeit misst die Geschwindigkeit, mit der der Agent die Eingabe verarbeitet und eine Ausgabe erzeugt. Die Minimierung der Latenz ist besonders wichtig bei interaktiven und Echtzeitprogrammen. Die Kosten messen die Rechenressourcen, die der Agent verbraucht, wie z. B. die Verwendung von Token, der Aufruf einer Anwendungsprogrammierschnittstelle (API) oder die Systemzeit. Diese Metriken bieten Richtlinien zur Verbesserung der Leistung des Systems und zur Begrenzung der Betriebskosten.

Während wichtige Metriken wie Korrektheit ,Nützlichkeit und Kohärenz unter Genauigkeit fallen, misst die Antwortzeit (Latenz) Metriken wie Durchsatz, durchschnittliche Latenz und Timeout-Verzögerung. Zu den Kostenmetriken gehören die Token-Nutzung, die Rechenzeit, die Anzahl der API-Aufrufe und der Speicherverbrauch.

In diesem Tutorial werden die wichtigsten Metriken für Korrektheit, Nützlichkeit und Kohärenz untersucht, die unter Genauigkeit fallen.

  • Korrektheit: Die Korrektheit bewertet, ob die Antworten des Agenten sachlich korrekt und logisch wahr sind, basierend auf dem Prompt oder der Aufgabe. Diese Metrik ist oft die einfachste Messung, insbesondere für Bereiche wie das Gesundheitswesen, die Rechtsberatung oder der technische Support.
  • Nützlichkeit: Die Nützlichkeit bewertet, wie nützlich oder umsetzbar die Antwort des Agenten für die Absicht des Benutzers ist. Selbst wenn eine Antwort sachlich korrekt ist, kann es sein, dass sie nicht nützlich ist, wenn sie keine Lösung oder nächste Schritte behandelt.
  • Kohärenz: steht im Zusammenhang mit dem Fluss – sowohl dem logischen als auch dem narrativen Fluss. Dies ist wichtig bei Interaktionen mit mehreren Durchgängen und bei Interaktionen, bei denen die Argumentation über mehrere Schritte erfolgt. Kohärenz bezieht sich darauf, ob der Agent von Anfang bis Ende „Sinn“ ergibt.

Sie entwickeln ein Reisebüro und bewerten seine Leistung mit Hilfe eines „LLM-as-a-Judge“.

Voraussetzungen

  1. Sie benötigen ein IBM® Cloud-Konto, um ein watsonx.ai®-Projekt  zu erstellen.

  2. Sie benötigen außerdem Python Version 3.12.7

Schritte

Schritt 1. Richten Sie Ihre Umgebung ein.

Sie können zwar aus mehreren Tools wählen, aber dieses Tutorial führt Sie durch die Einrichtung eines IBM® Kontos für die Verwendung eines Jupyter Notebook.

  1. Melden Sie sich bei watsonx.ai mit Ihrem IBM® Cloud-Konto an.

  2. Erstellen Sie ein watsonx.ai-ProjektSie können Ihre Projekt-ID in Ihrem Projekt abrufen. Klicken Sie  auf die Registerkarte Verwalten. Kopieren Sie dann die Projekt-ID aus dem  Abschnitt Detailsder Seite Allgemein. Sie benötigen diese ID für dieses Lernprogramm.

  3. Erstellen Sie ein Jupyter NotebookDieser Schritt öffnet eine Jupyter Notebook-Umgebung, in die Sie den Code aus diesem Tutorial kopieren können. Alternativ können Sie dieses Notebook auf Ihr lokales System herunterladen und als Asset in Ihr watsonx.ai-Projekt hochladen. Weitere IBM® Granite-Tutorials finden Sie in der IBM® Granite Community.

Schritt 2. Richten Sie eine watsonx.ai Laufzeit-Instanz und einen API-Schlüssel ein.

  1. Erstellen Sie eine watsonx.ai-Laufzeit-Service-Instanz (wählen Sie Ihre entsprechende Region aus und wählen Sie den Lite-Plan, der eine kostenlose Instanz ist).

  2. Generieren Sie  einen Schlüssel für eine Anwendungsprogrammierschnittstelle (API) .

  3. Verknüpfen Sie die Instanz des watsonx.ai-Runtime-Service mit dem Projekt, das Sie in watsonx.ai erstellt haben.

Schritt 3. Installieren und importieren Sie relevante Bibliotheken und richten Sie Ihre Zugangsdaten ein.

Für dieses Tutorial benötigen wir einige Bibliotheken und Module. Stellen Sie sicher, dass Sie die folgenden importieren. Falls sie nicht installiert sind, kann eine schnelle Pip-Installation das Problem beheben.

Hinweis, dieses Tutorial wurde mit Python 3.12.7 erstellt.

!pip install -q langchain langchain-ibm langchain_experimental langchain-text-splitters langchain_chroma transformers bs4 langchain_huggingface sentence-transformers
import os
import getpass
import requests
import random
import json
from typing import Type
from typing import Dict, List
from langchain_ibm import WatsonxLLM
from langchain_ibm import ChatWatsonx
from ibm_watsonx_ai.metanames import GenTextParamsMetaNames as GenParams
from langchain_ibm import WatsonxEmbeddings
from langchain.vectorstores import Chroma
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain
from langchain.agents.agent_types import AgentType
from langchain.prompts import ChatPromptTemplate
from langchain.evaluation import load_evaluator
from langchain.agents import initialize_agent, Tool

Um unsere Zugangsdaten festzulegen, benötigen wir den WATSONX_APIKEY und die WATSONX_PROJECT_ID, die Sie in Schritt 1 generiert haben. Wir legen auch die URL fest, die als API-Endgerät dient. Ihr API-Endgerät kann je nach Ihrem geografischen Standort unterschiedlich sein.

WATSONX_APIKEY = getpass.getpass("Please enter your watsonx.ai Runtime API key (hit enter): ")
WATSONX_PROJECT_ID = getpass.getpass("Please enter your project ID (hit enter): ")
URL = "https://us-south.ml.cloud.ibm.com"

Schritt 4. Initialisieren Sie Ihr LLM.

Für dieses Tutorial verwenden wir das Granite 3 -8B Instruct-Modell. Um das LLM zu initialisieren, müssen wir die Modellparameter festlegen. Weitere Informationen zu diesen Modellparametern, beispielsweise den minimalen und maximalen Token-Grenzwerten, finden Sie in der Dokumentation.

llm = ChatWatsonx(model_id="ibm/granite-3-8b-instruct",
url = URL,
apikey = WATSONX_APIKEY,
project_id = WATSONX_PROJECT_ID,
params = {"decoding_method": "greedy","temperature": 0, "min_new_tokens": 5,
"max_new_tokens": 2000})

Schritt 5. Erstellen Sie einen Reiseagenten (Partner).

Erstellen wir einen Partner für Reiseexplorer, der Benutzern bei der Reiseplanung und Reiserecherche hilft.

Wir werden eine einfache Reiseassistentenanwendung entwickeln, die als Antwort auf Benutzeranfragen Informationen zu Fluggesellschaften und Hotels abrufen kann, indem sie sich mit einer externen Reise-API verbindet. Um die Integration in KI-Agenten für die dynamische Reiseplanung zu ermöglichen, werden wir eine einfache Funktion haben, die API-Abfragen durchführt und in ein Tool einbindet.

def travel_api(query: str) -> str:
# Example of connecting to a real travel API
response = requests.get("https://www.partners.skyscanner.net", params={"query": query})
if response.status_code == 200:
return response.json().get("result", "No results found.")
return "Error contacting travel API."

travel_tool = Tool(
name="TravelPlannerTool",
func=travel_api,
description="Connects to a travel API to find flights and hotels for a given city and date"
)
agent = initialize_agent(
tools=[travel_tool],
llm=llm,
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
verbose=True,
handle_parsing_errors= "Check your output and make sure it conforms! Do not output an action and a final answer at the same time."
)
query = "What are the best places to visit in India during winters?"
response = agent.invoke(query)
print("\n--- Travel Agent Response ---")
print(response)

Schritt 6. Führen Sie eine Bewertung durch und rufen Sie das Ergebnis ab.

Abschließend führen wir eine Bewertung durch und drucken das Endergebnis aus. Zur Bewertung des Reiseplaners anhand der drei Kriterien Korrektheit, Hilfsbereitschaft und Kohärenz wird ein strukturierter Prompt für ein Bewerter-LLM entwickelt.

from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain

evaluation_prompt = PromptTemplate(
input_variables=["input", "prediction"],
template="""
You are an evaluation agent.

### User Input:
{input}

### Agent's Response:
{prediction}

Evaluate this response based on:
- Correctness (Is the information factually accurate?)
- Helpfulness (Is it useful and actionable?)
- Coherence (Is it well-written and logically structured?)

Reply in this format:
Correctness: <score>/5 - <reason>
Helpfulness: <score>/5 - <reason>
Coherence: <score>/5 - <reason>
"""
)
eval_input = evaluation_prompt.format(input=query, prediction=response)
evaluation_result = agent.invoke(eval_input)

Die Ausgabe zeigt eine qualitative sowie eine quantitative Bewertung des Reiseplaners, die anhand der drei Kriterien Richtigkeit, Hilfsbereitschaft und Kohärenz erstellt wurde.

Sehen wir uns an, was die einzelnen Bewertungen und Metriken im Kontext des Outputs des Agenten bedeuten:

  • Die Korrektheit gibt Auskunft darüber, wie sachlich richtig und logisch die Antwort klingt. Im vorherigen Beispiel ist der sachliche Inhalt korrekt, daher beträgt die Korrektheitsbewertung (5 von 5).
  • Die Nützlichkeit zeigt, wie hilfreich und relevant die Reaktion für die Bedürfnisse des Benutzers ist, gemessen an ihrer Hilfsbereitschaft. Eine Bewertung von (5 von 5) in diesem Szenario bedeutet, dass der KI-Reiseplan nützlich und durchdacht gestaltet ist. Die Bewertung zeigt, dass diese Informationen für Personen hilfreich sind, die zum ersten Mal nach den besten Reisezielen in Indien im Winter suchen.
  • Kohärenz zeigt, ob der Plan logisch aufgebaut und leicht zu lesen ist. Unser Beispiel erhielt eine hohe Kohärenzbewertung von 5.

 

Zusammenfassung

Bei der Bewertung der Fähigkeit eines Agenten, die Bedürfnisse der Benutzer wirklich zu erfüllen, spielen Kriterien wie Kohärenz, Nützlichkeit und Korrektheit eine zentrale Rolle. Unabhängig davon, ob Sie mit OpenAI, IBM Granite oder anderen LLM-as-a-Service-Modellen arbeiten: Es ist wichtig, sich auf strukturierte Bewertungsmethoden wie Datensätze, Benchmarks, Anmerkungen und Ground Truth zu stützen, um die endgültigen Ausgaben gründlich zu testen. In praktischen Anwendungsfällen, wie etwa beim Chatbot- oder RAG-basierten Kundensupport, sind Open-Source-Frameworks wie LangGraph von unschätzbarem Wert. Sie unterstützen skalierbare Automatisierung und zuverlässige Routen und ermöglichen zudem schnelle Iterationszyklen. Diese Technologien erleichtern auch die Nutzung von generativen KI-Systemen, das Debuggen von Verhaltensweisen sowie die Optimierung und Konfiguration komplexer Workflows. Durch die sorgfältige Definition von Testfällen und die Berücksichtigung von Observability-Metriken wie Rechenkosten, Preis und Latenz können Teams die Leistung kontinuierlich steigern. Letztendlich sorgt die Anwendung eines zuverlässigen und wiederholbaren Bewertungsansatzes dafür, dass maschinelles Lernen zuverlässiger wird und die Vertrauenswürdigkeit mit der Zeit steigt.

Weiterführende Lösungen
KI-Agenten für Unternehmen

Entwickeln, implementieren und verwalten Sie leistungsstarke KI-Assistenten und -Agenten, die Workflows und Prozesse mit generativer KI automatisieren.

    Entdecken Sie watsonx Orchestrate
    IBM KI-Agenten-Lösungen

    Gestalten Sie die Zukunft Ihres Unternehmens mit KI-Lösungen, denen Sie vertrauen können.

    KI-Agenten-Lösungen erkunden
    IBM Consulting KI-Dienstleistungen

    Die KI-Services von IBM Consulting unterstützen Sie dabei, die Art und Weise, wie Unternehmen mit KI arbeiten, neu zu denken.

    Erkunden Sie die Services im Bereich der künstlichen Intelligenz
    Machen Sie den nächsten Schritt

    Ganz gleich, ob Sie vorgefertigte Apps und Skills anpassen oder mithilfe eines KI-Studios eigene Agentenservices erstellen und bereitstellen möchten, die IBM watsonx-Plattform bietet Ihnen alles, was Sie brauchen.

    Entdecken Sie watsonx Orchestrate watsonx.ai erkunden