0Pricing
AI Agents · Lektion

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

  1. search – eine Such-API (Tavily, Serper, Brave) abfragen und Ergebnisse zurückgeben
  2. fetch_url – eine Seite herunterladen und bereinigten Text zurückgeben
  3. 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]   # truncate

Step 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

  1. Ein Q&A-Bot für Ihre Dokumente
  2. Ein Agent zur Code-Erklärung
  3. Ein Recherche-Agent zum Web-Browsing
  4. Ein SQL-Assistent für Ihre Datenbank
← Zurück zu AI Agents