Agent mit Websuche
Auf dieser Seite
Ihren Agenten Zugriff auf das Web gewähren
Ein LLM ohne Internetzugang ist auf seine Trainingsdaten beschränkt. Fragen Sie es nach einem regulatorischen Text, der letzte Woche verabschiedet wurde, und es wird entweder Unwissenheit vortäuschen oder – schlimmer noch – basierend auf seinem memorisierten Weltzustand antworten, ohne darauf hinzuweisen, dass die Informationen veraltet sind. Wenn Sie dem Agenten das Werkzeug web_search aktivieren, können Sie ihm ermöglichen, Echtzeitinformationen zu finden und seine Quellen anzugeben. Dies verbessert sowohl die Aktualität als auch die Überprüfbarkeit seiner Antworten.
Einen Agenten mit Websuche erstellen
Die Aktivierung erfolgt mit nur einer Zeile Konfiguration, doch die Anweisungen bestimmen die Qualität der Ausgabe. Das untenstehende Beispiel setzt strenge Disziplin durch: systematische Suche, Quellenangaben mit URLs, Datierung der Funde und Kennzeichnung von Widersprüchen zwischen Quellen.
from mistralai.client import Mistral
import os
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
agent = client.beta.agents.create(
model="mistral-medium-latest",
name="News Agent",
instructions="""Sie sind ein Nachrichtenanalyst.
- Nutzen Sie Websuche für jede Frage
- Zitieren Sie Ihre Quellen stets mit URLs
- Geben Sie das Datum der gefundenen Informationen an
- Wenn Ergebnisse widersprüchlich sind, erwähnen Sie dies""",
tools=[{"type": "web_search"}],
completion_args={"temperature": 0.3, "top_p": 0.95}
)
Die letzte Anweisung ist in der Praxis am wertvollsten. Ohne sie könnte ein Modell, das zwei divergierenden Zahlen gegenübersteht, eine auswählen und seine Synthese als feststehende Tatsache präsentieren. Eine niedrige Temperatur ergänzt diese Konfiguration, indem sie Halluzinationen bei der Umformulierung von Ergebnissen reduziert.
Das Werkzeug web_search bietet Zugriff auf einen Standard-Suchmaschine. Für verifizierte Nachrichtenquellen verwenden Sie web_search_premium:
tools=[{"type": "web_search_premium"}]
Den Agenten verwenden
Der Aufruf unterscheidet sich nicht von dem eines Agenten ohne Werkzeuge: Sie lösen die Suche nicht aus; der Agent entscheidet selbst, wann dies notwendig ist.
response = client.beta.conversations.start(
agent_id=agent.id,
inputs="Was sind die neuesten Entwicklungen in der KI-Regulierung in Europa?"
)
Die Antwortstruktur verstehen
Der Unterschied zeigt sich am deutlichsten beim Lesen der Antwort. Ein Agent mit Websuche gibt verschiedene Arten von Einträgen zurück. Code, der einfach den ersten Eintrag ausliest, würde Suchmetadaten anstelle des erwarteten Textes anzeigen.
for entry in response.outputs:
if entry.type == "tool.execution":
# Metadaten der Websuche
print(f"Verwendetes Werkzeug: {entry.tool_name}")
print(f"Suchanfrage: {entry.info}")
elif entry.type == "message.output":
# Agentenantwort mit Zitaten
for chunk in entry.content:
if chunk.type == "text":
print(chunk.text)
elif chunk.type == "tool_reference":
print(f" Quelle: {chunk.title} — {chunk.url}")
Beachten Sie die verschachtelte Schleife: Der Inhalt eines message.output ist keine einzelne Zeichenkette, sondern eine Sequenz von Chunks, die Textfragmente und Referenzen abwechseln. Jeder Abschnitt der Antwort kann daher tool_reference-Objekte enthalten, die drei Felder aufweisen:
tool– Name des Quellden-Werkzeugs (web_search)title– Titel der zitierten Webseiteurl– Referenz-URL
Dies ist ein wesentlicher Vorteil: Ihr Agent antwortet nicht nur; er beweist seine Behauptungen mit überprüfbaren Quellen. In einer Schnittstelle werden diese Felder zu klickbaren Links, die an der richtigen Stelle im Text platziert sind und es Nutzern ermöglichen, jede Behauptung bis zu ihrem Ursprung zurückzuverfolgen.
Was Websuche ermöglicht
Beginnen Sie mit der Überwachung. Ein Agent, dessen Anweisungen das Ausgabeformat rahmen, verwandelt eine offene Frage in eine regelmäßige, vergleichbare wöchentliche Synthese.
agent = client.beta.agents.create(
model="mistral-large-latest",
name="Tech Watch",
instructions="Führen Sie Technologieüberwachung durch. Fassen Sie die 5 wichtigsten Neuigkeiten zum angeforderten Thema zusammen.",
tools=[{"type": "web_search"}]
)
response = client.beta.conversations.start(
agent_id=agent.id,
inputs="Überwachung zu KI-Agenten – letzte 2 Wochen"
)
Als nächstes kommt die Faktenprüfung, wobei die Anweisungen die Form einer expliziten Prozedur annehmen. Der Agent muss keine Methode entscheiden; die Methode wird diktiert, wodurch die Ausgabe vorhersehbar wird.
agent = client.beta.agents.create(
model="mistral-large-latest",
name="Fact Checker",
instructions="""Überprüfen Sie die folgenden Behauptungen.
Für jede Behauptung:
1. Suchen Sie nach zuverlässigen Quellen
2. Geben Sie an, ob sie wahr, falsch oder teilweise wahr ist
3. Zitieren Sie Ihre Quellen""",
tools=[{"type": "web_search"}]
)
Der Vergleich rundet die Reihe ab: Hier trägt die Frage selbst die Entscheidungskriterien. Je mehr Sie die tatsächlichen Einschränkungen – Technologie, Volumen – spezifizieren, desto gezielter werden die ausgelösten Suchen sein.
response = client.beta.conversations.start(
agent_id=agent.id,
inputs="Vergleichen Sie Cloud-Angebote von OVH, Scaleway und AWS für die Hosting eines Python-Anwendungsprogramms mit 10.000 Nutzern pro Tag."
)
web_search im Vergleich zu web_search_premium
| Aspekt | web_search | web_search_premium |
|---|---|---|
| Engine | Standard-Suche | Erweiterte Suche |
| Quellen | Allgemeines Web | Verifizierte Nachrichtenanbieter |
| Kosten | Inklusive | Zusätzliche Kosten |
| Verwendung | Allgemeine Informationen | Zuverlässige Nachrichten |
Für die meisten Anwendungsfälle ist web_search ausreichend. Reservieren Sie web_search_premium für Anwendungen, bei denen die Zuverlässigkeit der Quelle kritisch ist (Journalismus, Compliance, regulatorische Überwachung). Die Begründung sollte nicht lauten „welche Option ist die beste”, sondern „was ist die Kosten einer zweifelhaften Quelle in meinem Kontext”: Für eine interne Nachrichtenübersicht ist sie null; für eine Notiz, die einem Regulator vorgelegt wird, ist sie es nicht.
Kernaussagen
- Das Werkzeug
web_searchermöglicht es dem Agenten, das Internet in Echtzeit zu durchsuchen - Antworten enthalten Zitierungen mit dem Quelltitel und der URL
web_search_premiumbietet verifizierte Nachrichtenquellen gegen Aufpreis- Eine niedrige Temperatur (0,3) wird für faktische Aufgaben empfohlen, die eine Suche beinhalten
- Der Agent entscheidet automatisch, wann und wie Websuche verwendet wird