Wie man das OpenAI Agents SDK verwendet?

Entdecke das OpenAI Agents SDK! Erstelle intelligente Multi-Agenten-Workflows. Anleitung mit Setup, Agentenbau, Tools, Übergaben, Sicherheitsvorkehrungen & Code-Beispielen.

Leo Schulz

Leo Schulz

5 June 2025

Wie man das OpenAI Agents SDK verwendet?

```html

Das OpenAI Agents SDK ist eine Python-Bibliothek, die entwickelt wurde, um die Entwicklung von KI-Agenten, die von OpenAIs Sprachmodellen angetrieben werden, zu vereinfachen. Es stattet Entwickler mit Werkzeugen aus, um aufgabenspezifische Agenten zu erstellen, externe Funktionalitäten zu integrieren, die Aufgabenverteilung zwischen Agenten zu verwalten, die Eingabe-/Ausgabevalidierung durchzusetzen und Ausführungsabläufe zu überwachen. Dieser Leitfaden liefert eine detaillierte, technische Anleitung zur effektiven Installation, Konfiguration und Nutzung des SDK, wobei mindestens 2000 Wörter mit Schwerpunkt auf Präzision und praktischer Anwendung sichergestellt werden.

💡
Bevor wir loslegen, hier ein schneller Tipp: Da wir in diesem Leitfaden viel mit APIs arbeiten werden, sollten Sie sich Apidog besorgen. Es ist ein kostenloses Tool, das das Testen und Debuggen von APIs super einfach macht – perfekt zum Experimentieren mit dem OpenAI Agents SDK. Sie können Apidog hier kostenlos herunterladen. Vertrauen Sie mir, es wird Ihnen später einige Kopfschmerzen ersparen!
button

Einführung

Das OpenAI Agents SDK bietet einen strukturierten Rahmen für den Aufbau von Multi-Agenten-Systemen, bei denen jeder Agent auf die Ausführung bestimmter Aufgaben zugeschnitten ist. Diese Agenten können mit Benutzern interagieren, Aktionen über integrierte Tools ausführen und zusammenarbeiten, indem sie Aufgaben an andere Agenten weiterleiten. Zu den Hauptkomponenten des SDK gehören:

Dieser Leitfaden ist für Entwickler mit grundlegendem Verständnis von Python und API-Interaktionen konzipiert und bietet detaillierte Erklärungen, Codebeispiele und Best Practices, um eine robuste und umfassende Ressource zu erstellen.

Installation und Konfiguration

Die richtige Einrichtung ist entscheidend für die effektive Nutzung des OpenAI Agents SDK. Dieser Abschnitt behandelt Voraussetzungen, Umgebungseinrichtung, Installation und Verifizierung.

Voraussetzungen

Stellen Sie vor dem Fortfahren Folgendes sicher:

Python official website
OpenAI platform

Schritt 1: Einrichten einer virtuellen Umgebung

Eine virtuelle Umgebung isoliert Projektabhängigkeiten und verhindert Konflikte mit anderen Python-Projekten. So erstellen und aktivieren Sie eine:

python -m venv agents_env
source agents_env/bin/activate
python -m venv agents_env
agents_env\Scripts\activate

Nach der Aktivierung sollte Ihre Eingabeaufforderung die Umgebung widerspiegeln (z. B. (agents_env)). Dieser Schritt ist eine Best Practice für die Python-Entwicklung und gewährleistet einen sauberen Arbeitsbereich.

Schritt 2: Installieren des SDK

Installieren Sie das SDK mit der aktiven virtuellen Umgebung mit pip:

pip install openai-agents

Dieser Befehl ruft die neueste Version des SDK und seine Abhängigkeiten von PyPI ab. Um die Installation zu bestätigen, führen Sie Folgendes aus:

pip show openai-agents-python

Dadurch werden Metadaten angezeigt, einschließlich der Versionsnummer, wodurch bestätigt wird, dass das Paket installiert ist.

Schritt 3: Konfigurieren des API-Schlüssels

Das SDK benötigt einen OpenAI API-Schlüssel, um zu funktionieren. Legen Sie ihn als Umgebungsvariable fest, um zu vermeiden, dass er in Ihren Code eingebettet wird, was die Sicherheit erhöht:

export OPENAI_API_KEY='your-api-key'
set OPENAI_API_KEY='your-api-key'

Um dies sitzungsübergreifend persistent zu machen, fügen Sie den Befehl zu Ihrer Shell-Konfigurationsdatei (z. B. .bashrc oder .zshrc auf Unix-Systemen) hinzu. Alternativ können Sie ihn programmgesteuert in Python festlegen, obwohl dies weniger sicher ist:

import os
os.environ["OPENAI_API_KEY"] = "your-api-key"

Schritt 4: Installation überprüfen

Testen Sie die Einrichtung mit einem minimalen Agenten, um sicherzustellen, dass alles funktioniert:

from agents import Agent, Runner

agent = Agent(name="TestAgent", instructions="Return 'Setup successful'")
result = Runner.run_sync(agent, "Run test")
print(result.final_output)  # Expected output: "Setup successful"

Wenn dies "Setup successful" ausgibt, ist Ihre Installation funktionsfähig. Häufige Probleme sind:

Erstellen von Agenten

Agenten sind die grundlegenden Bausteine des SDK, die jeweils durch eine eindeutige Rolle und ein eindeutiges Verhalten definiert sind.

Agenteninitialisierung

Die Agent-Klasse wird verwendet, um Agenten zu instanziieren. Zu den wichtigsten Parametern gehören:

Beispiel: Einfacher Agent

Hier ist ein einfacher Agent für Arithmetik:

from agents import Agent, Runner

agent = Agent(
    name="MathAgent",
    instructions="Solve arithmetic expressions."
)
result = Runner.run_sync(agent, "Calculate 10 * 2")
print(result.final_output)  # Output: "20"

Die Methode Runner.run_sync führt den Agenten synchron aus und gibt ein Ergebnisobjekt mit dem Attribut final_output zurück.

Erweiterte Konfiguration

Passen Sie Agenten für bestimmte Anforderungen an, indem Sie Parameter anpassen:

agent = Agent(
    name="CreativeWriter",
    instructions="Write a short story based on the prompt.",
    model="gpt-4",
    temperature=0.9
)
result = Runner.run_sync(agent, "A robot in a distant galaxy")
print(result.final_output)  # Output: A creative story

Beispiel für mehrere Agenten

Erstellen Sie separate Agenten für verschiedene Aufgaben:

support_agent = Agent(
    name="SupportBot",
    instructions="Answer technical support questions."
)
code_agent = Agent(
    name="CodeHelper",
    instructions="Generate Python code snippets."
)

support_result = Runner.run_sync(support_agent, "How do I install Python?")
code_result = Runner.run_sync(code_agent, "Write a function to add two numbers")
print(support_result.final_output)  # Output: Installation instructions
print(code_result.final_output)     # Output: "def add(a, b): return a + b"

Dies demonstriert die Flexibilität des SDK bei der Handhabung verschiedener Rollen.

Integrieren von Tools

Tools erweitern Agenten, indem sie ihnen ermöglichen, externe Aktionen auszuführen. Das SDK unterstützt gehostete Tools, benutzerdefinierte Funktions-Tools und agentenbasierte Tools.

Verwenden von gehosteten Tools

Gehostete Tools, wie z. B. web_search, sind vorgefertigt und einsatzbereit:

from agents import Agent, Runner, web_search

agent = Agent(
    name="ResearchAgent",
    instructions="Answer questions using web search.",
    tools=[web_search]
)
result = Runner.run_sync(agent, "What is the capital of France?")
print(result.final_output)  # Output: "The capital of France is Paris."

Der Agent ruft automatisch web_search auf, um Echtzeitdaten abzurufen.

Erstellen von benutzerdefinierten Funktions-Tools

Definieren Sie benutzerdefinierte Tools mit dem Dekorator @function_tool. Tools müssen Zeichenfolgen akzeptieren und zurückgeben.

Beispiel: Datenabruf-Tool

from agents import Agent, Runner, function_tool

@function_tool
def fetch_data(id: str) -> str:
    """Return data for the given ID."""
    # Simulated database lookup
    return f"Data for ID {id}: active"

agent = Agent(
    name="DataAgent",
    instructions="Retrieve data using the tool.",
    tools=[fetch_data]
)
result = Runner.run_sync(agent, "Fetch data for ID 123")
print(result.final_output)  # Output: "Data for ID 123: active"

Integrieren externer APIs

Tools können sich mit externen Diensten verbinden. Hier ist ein Wetter-Tool-Beispiel:

import requests
from agents import function_tool, Agent, Runner

@function_tool
def get_weather(city: str) -> str:
    """Get the current weather for a city."""
    api_key = "your-weather-api-key"  # Replace with a real key
    url = f"http://api.weatherapi.com/v1/current.json?key={api_key}&q={city}"
    response = requests.get(url)
    if response.status_code == 200:
        data = response.json()
        return f"The weather in {city} is {data['current']['condition']['text']}."
    return "Weather data unavailable."

agent = Agent(
    name="WeatherAgent",
    instructions="Provide weather updates using the tool.",
    tools=[get_weather]
)
result = Runner.run_sync(agent, "What's the weather in Tokyo?")
print(result.final_output)  # Output: "The weather in Tokyo is Sunny." (example)

Melden Sie sich für einen kostenlosen API-Schlüssel unter weatherapi.com an, um dies zu testen.

weatherapi official website

Kombinieren mehrerer Tools

Agenten können mehrere Tools gleichzeitig verwenden:

@function_tool
def log_entry(text: str) -> str:
    """Log a message."""
    return f"Logged: {text}"

agent = Agent(
    name="MultiToolAgent",
    instructions="Use tools to search and log.",
    tools=[web_search, log_entry]
)
result = Runner.run_sync(agent, "Search for AI trends and log the query")
print(result.final_output)  # Output includes search results and log confirmation

Agenten-Handoffs

Handoffs ermöglichen es Agenten, Aufgaben zu delegieren, wodurch komplexe Workflows ermöglicht werden.

Einrichten von Handoffs

Definieren Sie einen primären Agenten mit Zugriff auf sekundäre Agenten über den Parameter handoffs:

from agents import Agent, Runner

english_agent = Agent(
    name="EnglishHelper",
    instructions="Respond in English only."
)
spanish_agent = Agent(
    name="SpanishHelper",
    instructions="Respond in Spanish only."
)
triage_agent = Agent(
    name="LanguageRouter",
    instructions="Detect the language and hand off to the appropriate agent.",
    handoffs=[english_agent, spanish_agent]
)

result = Runner.run_sync(triage_agent, "Hola, ¿qué tal?")
print(result.final_output)  # Output: "¡Bien, gracias!" (or similar)

Der triage_agent analysiert die Eingabe und delegiert an den entsprechenden sprachspezifischen Agenten.

Handoff-Logik

Die Handoff-Entscheidung basiert auf den Anweisungen des primären Agenten. Zum Beispiel:

Testen Sie mit einer englischen Eingabe:

result = Runner.run_sync(triage_agent, "How are you?")
print(result.final_output)  # Output: "I'm good, thanks!"

Geschachtelte Handoffs

Für tiefere Workflows können Agenten an andere Agenten mit Handoffs übergeben:

analysis_agent = Agent(
    name="AnalysisBot",
    instructions="Analyze data and hand off for reporting."
)
report_agent = Agent(
    name="ReportBot",
    instructions="Generate a report from analysis."
)
main_agent = Agent(
    name="WorkflowManager",
    instructions="Start with analysis.",
    handoffs=[analysis_agent, report_agent]
)

result = Runner.run_sync(main_agent, "Analyze sales data")
print(result.final_output)  # Output: A generated report

Implementieren von Guardrails

Guardrails erzwingen Einschränkungen für Eingaben und Ausgaben mithilfe von Pydantic-Modellen.

Definieren eines Guardrails

Erstellen Sie ein Modell, um die Ausgabestruktur zu validieren:

from pydantic import BaseModel
from agents import Agent, Runner

class QuestionCheck(BaseModel):
    is_question: bool
    reason: str

guard_agent = Agent(
    name="QuestionGuard",
    instructions="Determine if the input is a question.",
    output_type=QuestionCheck
)

result = Runner.run_sync(guard_agent, "What is the capital of France?")
print(result.final_output)  # Output: {"is_question": true, "reason": "Ends with a question mark"}

Workflow-Integration

Verwenden Sie Guardrails, um Eingaben zu filtern:

task_agent = Agent(
    name="TaskProcessor",
    instructions="Process questions only.",
    handoffs=[guard_agent]
)
result = Runner.run_sync(task_agent, "Tell me a story")
print(result.final_output)  # Output indicates it’s not a question

Tracing und Debugging

Tracing protokolliert Agentenausführungsdetails, auf die über das OpenAI Dashboard zugegriffen werden kann.

Aktivieren des Tracings

Tracing erfolgt automatisch. Jeder Lauf generiert eine Trace mit:

Debugging-Beispiel

Wenn ein Agent fehlschlägt, überprüfen Sie die Trace, um Folgendes zu identifizieren:

Best Practices

Leistungsoptimierung

Fehlerbehandlung

Workflow-Design

Fazit

Das OpenAI Agents SDK ermöglicht es Entwicklern, anspruchsvolle KI-Systeme mit spezialisierten Agenten, integrierten Tools und kollaborativen Workflows zu erstellen. Dieser Leitfaden bietet eine technische Grundlage, um sein volles Potenzial auszuschöpfen, komplett mit Beispielen und Best Practices.

Was kommt also als Nächstes? Beginnen Sie mit dem Experimentieren! Spielen Sie mit verschiedenen Anweisungen, Tools und Workflows. Und wenn Sie auf ein Problem stoßen, können Tools wie Apidog beim API-Testen helfen – holen Sie es sich kostenlos.

button

```

Explore more

So verwenden Sie Deepseek R1 lokal mit Cursor

So verwenden Sie Deepseek R1 lokal mit Cursor

Erfahre, wie du DeepSeek R1 lokal mit Cursor IDE einrichtest & konfigurierst – privates, kostengünstiges KI-Coding.

4 June 2025

Wie man Gemma 3n auf Android ausführt?

Wie man Gemma 3n auf Android ausführt?

Erfahre, wie du Gemma 3n auf Android installierst und ausführst, mit Google AI Edge Gallery.

3 June 2025

So verwenden Sie den Google Search Console MCP-Server

So verwenden Sie den Google Search Console MCP-Server

Google Search Console & Apidog: SEO-Analyse & KI-API-Entwicklung. Installation, Konfiguration & Nutzung für Web-Performance & API-Einblicke.

30 May 2025

Praktizieren Sie API Design-First in Apidog

Entdecken Sie eine einfachere Möglichkeit, APIs zu erstellen und zu nutzen