Zum Inhalt

OpenAI hat im April 2026 ein Major-Update für das Agents SDK veröffentlicht. Das ist die größte Überarbeitung seit dem Swarm-Experiment. Neue Features: native Sandbox-Ausführung, model-native Execution Framework, MCP-Protokoll-Support und mehr. Dieser Artikel führt dich von den Grundlagen bis zur Produktivumgebung. Du lernst alle Kernfeatures des OpenAI Agents SDK 2026 kennen.

Was ist das OpenAI Agents SDK?

Das OpenAI Agents SDK ist die offizielle Python-Library von OpenAI. Damit baust du produktionsreife AI-Agent-Anwendungen. Es bietet eine schlanke, aber mächtige API. Entwickler können damit schnell Agenten mit Tool-Calling, Multi-Turn-Dialogen und Sicherheitsfeatures erstellen.

Von Swarm zum Agents SDK

2024 veröffentlichte OpenAI Swarm. Das war ein experimentelles Multi-Agent-Framework. Swarm zeigte, wie Agenten zusammenarbeiten können. Aber für Produktivumgebungen fehlten Sicherheitsmechanismen und Persistenz.

Im April 2026 kam das neue Agents SDK. Die Architektur wurde komplett überarbeitet:

  • Native Sandbox-Ausführung: Code läuft in isolierter Umgebung. Keine Sicherheitsrisiken.
  • Model-Native Harness: Konfigurierbare Memory- und Orchestrierungsfähigkeiten.
  • MCP-Protokoll-Support: Nahtlose Integration mit externen Tool-Ökosystemen.
  • Enterprise-Grade Security: Eingebaute Guardrails und Input-Validierung.

Kern-Design-Prinzipien

Das Agents SDK folgt diesen Prinzipien:

  1. Simplicity First: Mit wenig Code komplexe Features umsetzen.
  2. Security by Default: Sicherheitsmechanismen sind standardmäßig aktiv.
  3. Extensible: Eigene Tools und Middleware sind möglich.
  4. Production-Ready: Tracing, Monitoring und Error-Handling sind eingebaut.

Die großen Updates im April 2026

Sandbox-Ausführung

Sandbox-Ausführung ist das Highlight des Agents SDK 2026. Agenten können Code in isolierter Umgebung ausführen. Keine Sicherheitsbedenken.

Kernfeatures:

  • Isolierte Umgebung: Jeder Agent läuft in einem eigenen Container.
  • Dateisystem-Zugriff: Lesen/Schreiben temporärer Dateien. Dependencies installieren.
  • Netzwerk-Kontrolle: Netzwerkzugriff ist konfigurierbar.
  • Ressourcen-Limits: CPU, Memory und Laufzeit sind begrenzbar.

Das Agents SDK unterstützt verschiedene Sandbox-Provider:

Model-Native Harness-Architektur

Harness ist die Kern-Orchestrierungsschicht. Sie verwaltet die Agent-Ausführung:

Konfigurierbares Memory:

from agents import Agent, Runner, Memory

# Persistentes Memory konfigurieren
memory = Memory(
    type="persistent",
    storage="redis",  # Unterstützt redis, postgres, sqlite
    ttl=3600  # Ablaufzeit für Memory
)

agent = Agent(
    name="Assistant",
    instructions="You are a helpful assistant",
    memory=memory
)

Sandbox-Aware Orchestration:

Harness erkennt automatisch, wann eine Sandbox nötig ist. Die Ressourcen-Lebenszyklen werden automatisch verwaltet.

Native MCP-Unterstützung

MCP (Model Context Protocol) ist ein offenes Protokoll von Anthropic. Es standardisiert die Interaktion zwischen AI-Modellen und externen Tools. OpenAI Agents SDK 2026 unterstützt MCP nativ. Das bedeutet:

  • Nutze jedes MCP-kompatible Tool.
  • Teile die Tool-Ökosysteme mit Claude Code.
  • Baue portable Agent-Anwendungen.
from agents import Agent, MCPTools

# Verbindung zum MCP-Server
mcp_tools = MCPTools.from_server("http://localhost:3000/sse")

agent = Agent(
    name="MCP Agent",
    instructions="Use available tools to help the user",
    tools=mcp_tools.get_tools()
)

Quickstart: Dein erster Agent

Installation & Setup

Du brauchst einen OpenAI API Key. Dann installierst du das Agents SDK:

pip install openai-agents

Umgebungsvariable setzen:

export OPENAI_API_KEY="your-api-key-here"

Hello World

Der einfachste Agent:

from agents import Agent, Runner

# Agent erstellen
agent = Agent(
    name="Assistant",
    instructions="You are a helpful assistant"
)

# Agent ausführen
result = Runner.run_sync(agent, "Write a haiku about recursion.")
print(result.final_output)

Beispiel-Output:

Code calls itself deep,
Infinite mirrors reflect—
Base case breaks the loop.

Tool-Calling hinzufügen

Dem Agenten echte Fähigkeiten geben:

from agents import Agent, Runner, function_tool
from pydantic import BaseModel

# Tool-Parameter definieren
class WeatherInput(BaseModel):
    city: str
    unit: str = "celsius"

@function_tool
async def get_weather(input: WeatherInput) -> str:
    """Get weather information for a city."""
    # Hier könnte ein echtes Weather API aufgerufen werden
    return f"The weather in {input.city} is 22°{input.unit[0].upper()}"

# Agent mit Tools erstellen
agent = Agent(
    name="Weather Assistant",
    instructions="You help users with weather information.",
    tools=[get_weather]
)

# Ausführen
result = Runner.run_sync(agent, "What's the weather like in Tokyo?")
print(result.final_output)

Praxis: Code-Review-Agent mit Sandbox

Szenario

Wir bauen einen Agenten, der Python-Code reviewed. Er kann:

  1. Code in einer Sandbox ausführen.
  2. Code-Stil und potenzielle Probleme prüfen.
  3. Einen detaillierten Review-Bericht erstellen.

Vollständige Implementierung

import asyncio
from agents import Agent, Runner, SandboxAgent, function_tool
from pydantic import BaseModel
from typing import List

class CodeReviewInput(BaseModel):
    code: str
    filename: str = "script.py"

class CodeReviewResult(BaseModel):
    issues: List[str]
    suggestions: List[str]
    execution_output: str
    passed: bool

@function_tool
async def run_code_in_sandbox(input: CodeReviewInput) -> str:
    """Execute Python code in a secure sandbox environment."""
    # SandboxAgent für Code-Ausführung
    sandbox = SandboxAgent(
        provider="e2b",  # E2B Sandbox
        timeout=30,  # 30 Sekunden Timeout
        memory_limit="512mb",
        cpu_limit=1.0
    )

    # Code-Datei schreiben
    await sandbox.write_file(f"/home/user/{input.filename}", input.code)

    # Code ausführen
    result = await sandbox.execute(
        f"python /home/user/{input.filename}",
        env={"PYTHONUNBUFFERED": "1"}
    )

    return result.stdout + result.stderr

@function_tool
async def analyze_code_style(code: str) -> List[str]:
    """Analyze code style using pylint in sandbox."""
    sandbox = SandboxAgent(provider="e2b")

    # Pylint installieren
    await sandbox.execute("pip install pylint -q")

    # Code schreiben
    await sandbox.write_file("/home/user/temp.py", code)

    # Pylint ausführen
    result = await sandbox.execute("pylint /home/user/temp.py --output-format=text")

    issues = []
    for line in result.stdout.split("\n"):
        if ":" in line and any(severity in line for severity in ["E", "W", "C", "R"]):
            issues.append(line.strip())

    return issues

# Code-Review-Agent erstellen
code_reviewer = Agent(
    name="Code Reviewer",
    instructions="""You are an expert Python code reviewer. Your task is to:
1. Run the code in a sandbox to check for runtime errors
2. Analyze code style and best practices
3. Provide actionable suggestions for improvement
4. Generate a comprehensive review report

Be thorough but constructive in your feedback.""",
    tools=[run_code_in_sandbox, analyze_code_style],
    model="gpt-4o"  # Stärkeres Modell für Code-Analyse
)

async def review_code(user_code: str, filename: str = "script.py"):
    """Review code using the Code Reviewer Agent."""
    prompt = f"""Please review the following Python code:

Filename: {filename}

```python
{user_code}

Please: 1. Run the code and report any execution errors 2. Check code style issues 3. Provide specific suggestions for improvement 4. Give an overall assessment (PASS or FAIL)

Format your response as a structured code review report."""

result = await Runner.run(code_reviewer, prompt)
return result.final_output

Beispiel-Code für Review

sample_code = ''' def calculate_sum(numbers): total = 0 for n in numbers: total = total + n return total

result = calculate_sum([1, 2, 3, 4, 5]) print(f"Sum: {result}") '''

Review ausführen

if name == "main": review = asyncio.run(review_code(sample_code, "calculate_sum.py")) print(review)


### Ausführen & Testen

Wenn du den Code ausführst, macht der Agent:

1. Führt den Code in der E2B-Sandbox aus.
2. Prüft den Code-Stil mit pylint.
3. Erstellt einen Bericht mit Ausführungsergebnis, Style-Issues und Verbesserungsvorschlägen.

**Beispiel-Output**:

Code Review Report for calculate_sum.py

Execution Results ✅

  • Status: Success
  • Output: Sum: 15
  • Runtime: 0.23s

Style Analysis ⚠️

  • Missing module docstring
  • Function lacks type hints
  • Variable 'total' could use augmented assignment (total += n)

Suggestions for Improvement

  1. Add type hints: def calculate_sum(numbers: List[int]) -> int:
  2. Use built-in sum() function for simplicity
  3. Add docstring explaining the function's purpose
  4. Consider handling empty list edge case

Overall Assessment: PASS with recommendations


## Sicherheit & Best Practices

### Guardrails-Konfiguration

Das Agents SDK bietet mehrschichtige Sicherheit:

```python
from agents import Agent, Guardrails, InputGuardrail, OutputGuardrail

# Input-Validierung
def validate_input(context) -> bool:
    """Check if input is safe to process."""
    forbidden_patterns = ["rm -rf", "exec(", "eval("]
    return not any(pattern in context.user_input for pattern in forbidden_patterns)

# Output-Filter
def filter_output(response) -> str:
    """Filter sensitive information from output."""
    # Entferne mögliche API-Keys, Passwörter etc.
    import re
    response = re.sub(r'sk-[a-zA-Z0-9]{48}', '[API_KEY_REDACTED]', response)
    return response

agent = Agent(
    name="Safe Agent",
    instructions="You are a helpful assistant",
    guardrails=Guardrails(
        input_guardrails=[InputGuardrail(check=validate_input)],
        output_guardrails=[OutputGuardrail(filter=filter_output)]
    )
)

Input-Validierung

Strikte Input-Validierung mit Pydantic:

from pydantic import BaseModel, Field, validator

class SafeCodeInput(BaseModel):
    code: str = Field(..., max_length=5000)
    language: str = Field(default="python", regex="^(python|javascript|bash)$")

    @validator('code')
    def check_forbidden_patterns(cls, v):
        forbidden = ['import os', 'import subprocess', '__import__']
        for pattern in forbidden:
            if pattern in v.lower():
                raise ValueError(f"Forbidden pattern detected: {pattern}")
        return v

Error-Handling

In Produktivumgebungen brauchst du robustes Error-Handling:

from agents import Agent, Runner
from agents.exceptions import AgentError, ToolError, SandboxError

async def safe_run(agent: Agent, prompt: str):
    try:
        result = await Runner.run(agent, prompt)
        return result.final_output
    except SandboxError as e:
        # Sandbox-Ausführung fehlgeschlagen
        return f"Sandbox execution failed: {e.message}"
    except ToolError as e:
        # Tool-Ausführung fehlgeschlagen
        return f"Tool execution error: {e.message}"
    except AgentError as e:
        # Interner Agent-Fehler
        return f"Agent error: {e.message}"
    except Exception as e:
        # Unbekannter Fehler
        return f"Unexpected error: {str(e)}"

Agents SDK vs andere Frameworks

vs LangGraph

Feature Agents SDK LangGraph
Lernkurve Niedrig Hoch
Multi-Agent-Orchestrierung Eingebaut Konfiguration nötig
Sandbox-Support Nativ Integration nötig
MCP-Support Nativ Adapter nötig
Visualisierung Eingebautes Tracing LangSmith
Anwendungsfall Schnelle Entwicklung Komplexe Workflows

Empfehlung: Für schnelle Prototypen nimm das Agents SDK. Für komplexe Enterprise-Workflows nimm LangGraph.

vs CrewAI

CrewAI fokussiert auf Multi-Agent-Kollaboration:

  • Agents SDK: Starke Einzel-Agenten, Sandbox-Ausführung ist der Vorteil.
  • CrewAI: Rollenspiel und Task-Delegation zwischen Agenten ist ausgereifter.

Empfehlung: Für Rollenspiel und Agent-Kollaboration nimm CrewAI. Für sichere Code-Ausführung nimm Agents SDK.

vs Claude Code SDK

Anthropics Claude Code bietet auch Agent-Fähigkeiten:

  • Agents SDK: Tiefe Integration mit OpenAI-Modellen, reiches Tool-Ökosystem.
  • Claude Code: Am besten mit Claude 3.5/3.7 Sonnet, starke Code-Verständnis.

Empfehlung: Für OpenAI-Modelle nimm Agents SDK. Für Claude-Modelle nimm Claude Code.

Produktiv-Deployment-Empfehlungen

Persistenz & State-Management

In Produktivumgebungen brauchst du persistente Agent-States:

from agents import Agent, Memory, RedisStorage

# Redis als State-Storage
storage = RedisStorage(
    host="localhost",
    port=6379,
    db=0,
    password="your-password"
)

memory = Memory(
    type="persistent",
    storage=storage,
    ttl=86400  # 24 Stunden Ablaufzeit
)

agent = Agent(
    name="Stateful Agent",
    instructions="You remember previous conversations",
    memory=memory
)

Monitoring & Tracing

Das Agents SDK hat eingebautes Tracing:

from agents import Agent, Runner, Tracing

# Detailliertes Tracing aktivieren
Tracing.configure(
    enabled=True,
    endpoint="https://api.openai.com/v1/traces",
    sample_rate=1.0  # 100% Sampling
)

# Automatisches Logging aller Schritte
result = Runner.run_sync(agent, "Hello")

# Tracing-Info ansehen
print(result.trace_id)  # Für detaillierte Ansicht in OpenAI-Plattform

Kostenkontrolle

Agent-Anwendungen können teuer werden. Tipps:

  1. Passendes Modell wählen: Einfache Tasks mit GPT-4o-mini, komplexe mit GPT-4o.
  2. Token-Limits setzen:
agent = Agent(
    name="Cost-conscious Agent",
    instructions="Be concise in your responses",
    model_settings={
        "max_tokens": 500,
        "temperature": 0.3  # Weniger Zufälligkeit, weniger Token
    }
)
  1. Häufige Antworten cachen:
from functools import lru_cache

@lru_cache(maxsize=1000)
def cached_agent_run(prompt: str) -> str:
    result = Runner.run_sync(agent, prompt)
    return result.final_output

Zusammenfassung & Ausblick

Kernpunkte im Überblick

OpenAI Agents SDK 2026 bringt revolutionäre Updates:

  1. Sandbox-Ausführung: Code sicher ausführen, Risiken eliminieren.
  2. MCP-Support: Nahtlose Integration mit externen Tool-Ökosystemen.
  3. Harness-Architektur: Konfigurierbares Memory und Orchestrierung.
  4. Production-Ready: Eingebaute Sicherheit, Monitoring und Tracing.

Kommende Features

Laut OpenAI-Offiziellmeldung kommt bald:

  • Subagents: Unter-Agenten für komplexere Agent-Hierarchien.
  • Code Mode: Optimiert für Code-Generierung und -Bearbeitung.
  • TypeScript-Support: Bisher nur Python, TS-Version kommt.

Lernressourcen

Verwandte Artikel


OpenAI Agents SDK 2026 ist eine der besten Optionen für produktionsreife AI-Agenten. Egal ob schneller Prototyp oder Enterprise-Anwendung – es bietet alle nötigen Features und Sicherheit. Starte jetzt deine Agents SDK-Reise!