Home
Login

Ein leichtgewichtiges Framework zum Aufbau von Multi-Agenten-Workflows, das die Zusammenarbeit zwischen Agenten, den Aufruf von Tools und die Workflow-Orchestrierung unterstützt.

MITPython 11.6kopenai Last Updated: 2025-06-19

OpenAI Agents Python Projekt – Detaillierte Vorstellung

Projektübersicht

Das OpenAI Agents SDK ist ein schlankes und leistungsstarkes Python-Framework zum Erstellen von Multi-Agent-Workflows. Es handelt sich um ein von OpenAI offiziell veröffentlichtes Tool zur Entwicklung von Agenten in Produktionsqualität und stellt ein Upgrade des vorherigen experimentellen Projekts Swarm dar. Das Framework ist einfach, aber umfassend konzipiert und speziell für die Entwicklung komplexer Multi-Agent-KI-Anwendungen gedacht.

Kernfunktionen

1. Plattformübergreifende Kompatibilität

  • Modellunabhängigkeit: Unterstützt die Responses- und Chat Completions-API von OpenAI
  • Breite Kompatibilität: Unterstützt über 100 verschiedene Large Language Models (LLMs)
  • API-Flexibilität: Ermöglicht den einfachen Wechsel zwischen verschiedenen KI-Dienstleistern

2. Kernkomponenten

Agenten (Agents)

  • LLM-Instanzen, die mit Anweisungen, Tools, Sicherheitsvorkehrungen und Übergabemechanismen konfiguriert sind
  • Jeder Agent hat klare Verantwortlichkeiten und Fähigkeitsgrenzen
  • Unterstützt benutzerdefinierte Anweisungen und Verhaltensmuster

Übergabemechanismen (Handoffs)

  • Spezieller Mechanismus zum Aufrufen von Tools, um die Kontrolle zwischen Agenten zu übertragen
  • Ermöglicht die nahtlose Zusammenarbeit zwischen Agenten
  • Unterstützt komplexe Workflow-Orchestrierung

Sicherheitsvorkehrungen (Guardrails)

  • Konfigurierbare Sicherheitsüberprüfungen zur Validierung von Ein- und Ausgaben
  • Gewährleistet die Sicherheit und Zuverlässigkeit von KI-Anwendungen
  • Verhindert böswillige Eingaben und unangemessene Ausgaben

Prozessverfolgung (Tracing)

  • Integrierte Funktion zur Verfolgung der Agentenausführung
  • Ermöglicht das Anzeigen, Debuggen und Optimieren von Workflows
  • Erweiterbares Tracking-System, das verschiedene externe Integrationen unterstützt

Technische Architektur

Installation und Konfiguration

# Erstellen einer Python-Virtual Environment
python -m venv env
source env/bin/activate

# Installieren der Basisversion
pip install openai-agents

# Installieren der Version mit Sprachunterstützung
pip install 'openai-agents[voice]'

Grundlegende Anwendungsbeispiele

Einfacher Agent

from agents import Agent, Runner

agent = Agent(name="Assistant", instructions="You are a helpful assistant")
result = Runner.run_sync(agent, "Write a haiku about recursion in programming.")
print(result.final_output)

Mehrsprachiger kollaborativer Agent

from agents import Agent, Runner
import asyncio

spanish_agent = Agent(
    name="Spanish agent",
    instructions="You only speak Spanish.",
)

english_agent = Agent(
    name="English agent", 
    instructions="You only speak English",
)

triage_agent = Agent(
    name="Triage agent",
    instructions="Handoff to the appropriate agent based on the language of the request.",
    handoffs=[spanish_agent, english_agent],
)

async def main():
    result = await Runner.run(triage_agent, input="Hola, ¿cómo estás?")
    print(result.final_output)

if __name__ == "__main__":
    asyncio.run(main())

Beispiel für den Aufruf von Tools

import asyncio
from agents import Agent, Runner, function_tool

@function_tool
def get_weather(city: str) -> str:
    return f"The weather in {city} is sunny."

agent = Agent(
    name="Weather Assistant",
    instructions="You are a helpful weather agent.",
    tools=[get_weather],
)

async def main():
    result = await Runner.run(agent, input="What's the weather in Tokyo?")
    print(result.final_output)

if __name__ == "__main__":
    asyncio.run(main())

Workflow-Ausführungsmechanismus

Logik der Ausführungsschleife

  1. LLM-Aufruf: Verwendung des Modells und der Einstellungen des Agenten in Kombination mit dem Nachrichtenverlauf
  2. Antwortverarbeitung: Das LLM gibt eine Antwort zurück, die Tool-Aufrufe enthalten kann
  3. Ausgabeprüfung: Wenn eine endgültige Ausgabe vorhanden ist, wird diese zurückgegeben und die Schleife beendet
  4. Übergabeverarbeitung: Wenn eine Übergabeanfrage vorliegt, wird zu einem neuen Agenten gewechselt und neu gestartet
  5. Tool-Ausführung: Verarbeitung von Tool-Aufrufen und Hinzufügen der Antwort zur Nachricht, dann Neustart der Schleife

Mechanismus für die endgültige Ausgabe

  • Strukturierte Ausgabe: Wenn output_type festgelegt ist, wird beendet, wenn das LLM Inhalte des passenden Typs zurückgibt
  • Textausgabe: Wenn kein output_type vorhanden ist, wird beendet, wenn der Agent eine Nachricht ohne Tool-Aufruf oder Übergabe erzeugt

Tool-System

Unterstützung für drei Arten von Tools

1. Gehostete Tools (Hosted Tools)

  • Werden auf dem LLM-Server ausgeführt
  • OpenAI bietet gehostete Tools wie Retrieval, Websuche und Computernutzung

2. Funktionsaufrufe (Function Calling)

  • Unterstützt die Verwendung jeder Python-Funktion als Tool
  • Flexible Entwicklung benutzerdefinierter Tools

3. Agenten als Tools

  • Ermöglicht es Agenten, andere Agenten aufzurufen
  • Unterstützt komplexe hierarchische Kollaborationsstrukturen

Integrierte Tools

  • WebSearchTool: Websuchfunktion
  • Computer Use: Computerbedienungsfähigkeit
  • Retrieval: Informationsabruffunktion

Verfolgung und Überwachung

Automatische Verfolgungsfunktion

  • Verfolgt automatisch den Agentenausführungsprozess
  • Erleichtert das Debuggen und Optimieren von Workflows
  • Erweiterbares Design unterstützt benutzerdefinierte Spans

Unterstützung für externe Integrationen

  • Logfire: Log-Management
  • AgentOps: Überwachung des Agentenbetriebs
  • Braintrust: KI-Anwendungsentwicklungsplattform
  • Scorecard: Leistungsbewertung
  • Keywords AI: Keywords-KI-Integration

Anwendungsbereiche

Geeignete Szenarien

  • Automatisierung komplexer Geschäftsprozesse: Mehrstufige Geschäftsprozesse
  • Mehrsprachige Kundendienstsysteme: Unterstützung für intelligente Kundendienste in verschiedenen Sprachen
  • Fachbereichsassistenten: KI-Assistenten in Fachbereichen wie Recht, Medizin und Bildung
  • Datenverarbeitungspipelines: Mehrstufige Datenanalyse und -verarbeitung
  • Kreative Kollaborationssysteme: Mehrere KI-Rollen arbeiten zusammen, um kreative Aufgaben zu erledigen

Workflow-Muster

  • Deterministischer Prozess: Vordefinierte Workflow-Schritte
  • Iterative Schleife: Aufgaben, die mehrere Iterationen zur Optimierung erfordern
  • Bedingte Verzweigung: Auswahl verschiedener Verarbeitungspfade je nach Bedingung
  • Parallele Verarbeitung: Mehrere Agenten bearbeiten gleichzeitig verschiedene Aufgaben

Entwicklungsumgebung

Entwicklungsanforderungen

  • Python 3.8+
  • Die Umgebungsvariable OPENAI_API_KEY muss gesetzt sein
  • Unterstützt asynchrone und synchrone Aufrufmethoden

Entwicklungstoolkette

# Installieren des uv-Paketmanagers
uv --version

# Installieren der Abhängigkeiten
make sync

# Ausführen von Tests
make tests

# Typüberprüfung
make mypy

# Code-Konformitätsprüfung
make lint

Projektvorteile

1. Schlichtes Design

  • Minimale Abstraktionsebenen
  • Klare und eindeutige Kernkonzepte
  • Einfach zu verstehen und zu verwenden

2. Produktionsbereit

  • Basiert auf der praktischen Erfahrung von OpenAI
  • Stabiles und zuverlässiges API-Design
  • Umfassende Fehlerbehandlungsmechanismen

3. Hohe Flexibilität

  • Unterstützt komplexe Agentenbeziehungsmodellierung
  • Kann verschiedene Workflow-Muster darstellen
  • Leistungsstarke Anpassungsfähigkeit

Zusammenfassung

OpenAI Agents Python ist ein professionelles Framework für die Entwicklung von Multi-Agenten, das die komplexe KI-Zusammenarbeit einfach und benutzerfreundlich macht. Durch seine Kernmechanismen für Agenten, Übergaben, Schutz und Verfolgung können Entwickler schnell leistungsstarke KI-Anwendungssysteme erstellen. Ob einfache Einzelagentenaufgaben oder komplexe Multi-Agenten-Kollaborationsszenarien, dieses Framework bietet elegante Lösungen.