Ein Recherche-Agent zum Web-Browsing
Kombinieren Sie ein Such-Tool, ein Abruf-Tool und ein LLM, um ein Thema zu recherchieren und eine quellenbasierte Zusammenfassung zu verfassen.
Ein Recherche-Agent zum Web-Browsing ist eine kostenlose AI Agents-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des AI Agents-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
Projektziel
Erstellen Sie einen Agent, der ein Thema recherchiert, indem er das Web durchsucht, Seiten abruft und eine quellenbasierte Zusammenfassung verfasst – wie eine kleine Version von Perplexity.
Benötigte Tools
- search – eine Such-API (Tavily, Serper, Brave) abfragen und Ergebnisse zurückgeben
- fetch_url – eine Seite herunterladen und bereinigten Text zurückgeben
- answer – der Agent verfasst die abschließende Zusammenfassung mit Quellenangaben
Step 1: Search Tool
import requests
def search(query: str, k: int = 5) -> list[dict]:
r = requests.post(
'https://api.tavily.com/search',
json={'api_key': TAVILY_KEY, 'query': query, 'max_results': k}
)
return r.json()['results'] # list of {url, title, snippet}Step 2: Fetch Tool
from bs4 import BeautifulSoup
def fetch_url(url: str) -> str:
r = requests.get(url, timeout=10)
soup = BeautifulSoup(r.text, 'html.parser')
for tag in soup(['script', 'style', 'nav', 'footer']):
tag.decompose()
return soup.get_text(separator='\n', strip=True)[:5000] # truncateStep 3: Tool Definitions
tools = [
{'type': 'function', 'function': {
'name': 'search',
'description': 'Search the web for a query, return top results with URLs',
'parameters': {'type': 'object', 'properties': {'query': {'type': 'string'}}, 'required': ['query']}
}},
{'type': 'function', 'function': {
'name': 'fetch_url',
'description': 'Download the text of a URL',
'parameters': {'type': 'object', 'properties': {'url': {'type': 'string'}}, 'required': ['url']}
}}
]
import json
print(json.dumps(tools, indent=2))
Step 4: The Agent Loop
def research(question, max_steps=8):
messages = [
{'role': 'system', 'content': 'You are a research agent. Use search and fetch_url to gather facts. Cite each claim with a URL.'},
{'role': 'user', 'content': question}
]
for _ in range(max_steps):
r = oai.chat.completions.create(model='gpt-4o-mini', messages=messages, tools=tools)
msg = r.choices[0].message
messages.append(msg)
if not msg.tool_calls:
return msg.content
for tc in msg.tool_calls:
result = dispatch(tc)
messages.append({'role': 'tool', 'tool_call_id': tc.id, 'content': json.dumps(result)})
return 'Step limit reached'Tool Dispatcher
def dispatch(tc):
args = json.loads(tc.function.arguments)
if tc.function.name == 'search':
return search(**args)
if tc.function.name == 'fetch_url':
return fetch_url(**args)
return {'error': 'unknown tool'}Schrittbegrenzung hinzufügen
Ohne Begrenzung kann sich der Agent endlos im Kreis drehen. max_steps=8 ist ein sinnvoller Standardwert.
Abgerufene Seiten kürzen
Die meisten Seiten sind 50 KB oder größer – viel zu umfangreich. Kürzen Sie sie auf 5000 Zeichen (etwa 1300 Tokens). Das Modell benötigt nur selten mehr.
robots.txt beachten
Produktives Browsing muss robots.txt und die Nutzungsbedingungen der Website beachten. Verwenden Sie im Zweifelsfall einen verwalteten Such-/Abrufdienst.
Ergebnisse zwischenspeichern
Dieselbe Abfrage und URL werden häufig angefordert. Speichern Sie Ergebnisse eine Stunde lang in Redis zwischen:
@lru_cache(maxsize=1000)
def cached_fetch(url):
return fetch_url(url)Fehler verarbeiten
Netzwerkfehler sind normal. Geben Sie den Fehler an das Modell zurück, damit es eine andere Quelle versuchen kann:
try:
return fetch_url(url)
except Exception as e:
return {'error': f'Could not fetch {url}: {e}'}Quellenangaben erzwingen
Beenden Sie den System-Prompt mit: „Ihre endgültige Antwort muss für jede Aussage URLs enthalten, etwa [1] https://...“ – und ziehen Sie eine Prüfung des Ausgabeschemas in Betracht.
Kosten im Blick behalten
Recherche-Agents sind teuer – 5–15 Tool-Aufrufe pro Frage, wobei jeder mehrere Kilobytes abruft. Legen Sie ein Budgetlimit pro Abfrage fest.
Schrittbegrenzung
Warum sollte im Agent-Schleifen eine max_steps-Begrenzung festgelegt werden?
Zusammenfassung
Suche + Abruf + LLM + eine Schrittbegrenzung ergeben einen funktionierenden Recherche-Agent in 50 Zeilen. Ein hervorragendes drittes Projekt.
Häufig gestellte Fragen
Ist die Lektion „Ein Recherche-Agent zum Web-Browsing“ kostenlos?
Ja — der vollständige Text von „Ein Recherche-Agent zum Web-Browsing“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des AI Agents-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Ein Recherche-Agent zum Web-Browsing“?
Kombinieren Sie ein Such-Tool, ein Abruf-Tool und ein LLM, um ein Thema zu recherchieren und eine quellenbasierte Zusammenfassung zu verfassen. Du übst AI Agents mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um AI Agents zu starten?
Keine Vorkenntnisse erforderlich. AI Agents auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Ein Recherche-Agent zum Web-Browsing“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser AI Agents-Lektion Code schreiben und ausführen?
Ja. Jede AI Agents-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Ein Q&A-Bot für Ihre Dokumente
- Ein Agent zur Code-Erklärung
- Ein Recherche-Agent zum Web-Browsing
- Ein SQL-Assistent für Ihre Datenbank