Skip to content
BotServBotServ
Mehrere AgentenParallelOrchestrierungLoad-BalancingMulti-Agent

Mehrere KI-Agenten parallel betreiben

Mehrere KI-Agenten parallel betreiben. Orchestrierung, Load-Balancing, Ressourcen-Management und Praxisbeispiele.

S

schutzgeist

4 min read
Mehrere KI-Agenten parallel betreiben

Mehrere KI-Agenten parallel betreiben

Was dieser Artikel über mehrere Agenten behandelt

  • Wie Du mehrere KI-Agenten parallel betreibst.
  • Orchestrierung, Load-Balancing und Ressourcen-Management.
  • Wie Du Agenten für verschiedene Aufgaben spezialisierst.
  • Praxisbeispiele für Multi-Agent-Systeme.
  • Best Practices für Skalierung und Zuverlässigkeit.

Einleitung: Mehrere Agenten verständlich erklärt

Mehrere Agenten bedeutet: Nicht ein Agent für alles, sondern spezialisierte Agenten für verschiedene Aufgaben. Ein Recherche-Agent, ein Analyse-Agent, ein Schreib-Agent. Sie arbeiten parallel oder sequenziell, koordiniert durch einen Orchestrator.

Dieser Artikel richtet sich an fortgeschrittene Anwender, die Multi-Agent-Systeme bauen wollen. Grundlagen findest Du in Multi-Agent-Systeme und KI-Agenten lokal betreiben.

Warum brauche ich mehrere Agenten?

Stell Dir vor, Du willst einen Artikel schreiben: Ein Agent recherchiert, ein zweiter analysiert, ein dritter schreibt, ein vierter prüft. Jeder Agent ist spezialisiert, alle arbeiten parallel. Das ist schneller und besser als ein Agent, der alles macht.

Mehrere Agenten kurz erklärt

Multi-Agent-System = Spezialisierte Agenten + Orchestrator. Jeder Agent hat eine Aufgabe, der Orchestrator koordiniert. Parallel für Geschwindigkeit, sequenziell für Abhängigkeiten.

Der Kerngedanke lautet: Spezialisierung statt Generalisierung.

Für wen ist dieser Artikel gedacht?

  • Fortgeschrittene, die Multi-Agent-Systeme bauen.
  • Teams, die komplexe Workflows automatisieren.
  • Entwickler, die spezialisierte Agenten orchestrieren.
  • Produktions-Teams, die viele Agenten betreiben.

Wichtige Begriffe

  • Multi-Agent-Systeme - Mehrere Agenten. Wann nützlich: das Konzept.
  • Agentensysteme - Systeme. Wann nützlich: für Architektur.
  • Ollama - Modellserver. Wann nützlich: für Modelle.
  • vLLM - Für Performance. Wann nützlich: für viele parallele Requests.
  • Docker - Für Deployment. Wann nützlich: für Container.

Architektur

Orchestrator (koordiniert)
    │
    ├─ Agent 1: Recherche (Ollama)
    ├─ Agent 2: Analyse (Ollama)
    ├─ Agent 3: Schreiben (Ollama)
    └─ Agent 4: Prüfen (Ollama)
    │
    ▼
Ergebnisse kombinieren
    │
    ▼
Finale Ausgabe

Praxisbeispiel: Content-Pipeline

import asyncio
from openai import AsyncOpenAI

class ContentPipeline:
    """Multi-Agent-Pipeline für Content"""

    def __init__(self):
        self.client = AsyncOpenAI(
            base_url="http://ollama:11434/v1",
            api_key="not-needed"
        )

    async def run(self, topic):
        """Pipeline ausführen"""
        # Parallel: Recherche + Analyse
        research, analysis = await asyncio.gather(
            self.research_agent(topic),
            self.analysis_agent(topic)
        )

        # Sequenziell: Schreiben (braucht Recherche + Analyse)
        draft = await self.writer_agent(topic, research, analysis)

        # Parallel: Prüfen + Formatieren
        review, formatted = await asyncio.gather(
            self.review_agent(draft),
            self.format_agent(draft)
        )

        return {
            "draft": draft,
            "review": review,
            "formatted": formatted
        }

    async def research_agent(self, topic):
        """Recherche-Agent"""
        response = await self.client.chat.completions.create(
            model="llama3.1",
            messages=[{"role": "user", "content": f"Recherchiere: {topic}"}]
        )
        return response.choices[0].message.content

    async def analysis_agent(self, topic):
        """Analyse-Agent"""
        response = await self.client.chat.completions.create(
            model="llama3.1",
            messages=[{"role": "user", "content": f"Analysiere: {topic}"}]
        )
        return response.choices[0].message.content

Praxisbeispiel: Docker für mehrere Agenten

version: "3.8"

services:
  ollama:
    image: ollama/ollama:latest
    ports:
      - "11434:11434"
    volumes:
      - ollama_data:/root/.ollama
    networks:
      - agent_net

  agent-research:
    build: ./agents/research
    environment:
      - OLLAMA_URL=http://ollama:11434
      - AGENT_ROLE=research
    networks:
      - agent_net

  agent-analysis:
    build: ./agents/analysis
    environment:
      - OLLAMA_URL=http://ollama:11434
      - AGENT_ROLE=analysis
    networks:
      - agent_net

  agent-writer:
    build: ./agents/writer
    environment:
      - OLLAMA_URL=http://ollama:11434
      - AGENT_ROLE=writer
    networks:
      - agent_net

  orchestrator:
    build: ./orchestrator
    ports:
      - "8000:8000"
    environment:
      - OLLAMA_URL=http://ollama:11434
      - AGENTS=research,analysis,writer
    depends_on:
      - ollama
      - agent-research
      - agent-analysis
      - agent-writer
    networks:
      - agent_net

volumes:
  ollama_data:

networks:
  agent_net:
    driver: bridge

Ressourcen-Management

# Für viele parallele Agenten: vLLM statt Ollama
# vLLM batcht Requests effizient

# Oder: Mehrere Ollama-Instanzen
OLLAMA_INSTANCES = [
    "http://ollama-1:11434",
    "http://ollama-2:11434",
    "http://ollama-3:11434"
]

# Round-Robin für Load-Balancing
def get_ollama_url():
    import random
    return random.choice(OLLAMA_INSTANCES)

Sicherheitshinweise

  • Isolation: Jeder Agent sollte isoliert laufen (eigener Container/Prozess).
  • Berechtigungen: Jeder Agent sollte nur nötige Berechtigungen haben.
  • Kommunikation: Agenten sollten sicher kommunizieren (internes Netzwerk).
  • Monitoring: Alle Agenten überwachen. Siehe Protokollierung.

Typische Stolpersteine

  • Zu viele Agenten: Mehr Agenten = mehr Komplexität. Starte mit 2-3.
  • Keine Orchestrierung: Agenten brauchen einen Orchestrator für Koordination.
  • Ressourcen-Engpässe: Viele Agenten brauchen viel GPU/RAM. Richtig dimensionieren.
  • Deadlocks: Agenten können sich gegenseitig blockieren. Timeouts setzen.
  • Kein Fallback: Bei Agent-Ausfall sollte das System weiterlaufen.

Key Takeaways:

  • Mehrere Agenten = Spezialisierte Agenten + Orchestrator.
  • Parallel für Geschwindigkeit, sequenziell für Abhängigkeiten.
  • vLLM für viele parallele Requests, Docker für Deployment.
  • Für komplexe Workflows: Multi-Agent-Systeme sind mächtig.
  • Ressourcen-Management und Orchestrierung sind kritisch.

FAQ

Was ist ein Multi-Agent-System?

Mehrere spezialisierte Agenten, die zusammenarbeiten: Ein Recherche-Agent, ein Analyse-Agent, ein Schreib-Agent. Orchestrator koordiniert.

Wann brauche ich mehrere Agenten?

Bei komplexen Workflows mit verschiedenen Aufgaben: Recherche, Analyse, Schreiben, Prüfen. Oder bei hohem Volumen für parallele Verarbeitung.

Parallel oder sequenziell?

Parallel für unabhängige Aufgaben (Recherche + Analyse). Sequenziell für abhängige Aufgaben (Schreiben braucht Recherche). Mix aus beidem.

Wie viele Ressourcen brauche ich?

Pro Agent: 1 Modell (4-8 GB VRAM). Für 5 Agenten: 20-40 GB VRAM oder Modelle teilen. vLLM für bessere Ressourcennutzung bei vielen parallelen Requests.

Wie orchestriere ich Agenten?

Mit einem Orchestrator: Er startet Agenten, sammelt Ergebnisse, kombiniert sie. Oder mit Frameworks wie CrewAI, AutoGen für komplexe Orchestrierung.

Docker für mehrere Agenten?

Ja, jeder Agent in einem Container, Orchestrator koordiniert. Docker-Compose für den Stack, Kubernetes für große Deployments.

Was kostet das?

Kostenlos. Ollama, Docker und die Agenten-Frameworks sind Open Source. Nur Hardware-Kosten für mehrere parallele Agenten.

Wie skaliere ich?

Horizontal: Mehr Agenten-Container. Vertikal: Mehr GPU/RAM. Für viele parallele Requests: vLLM mit Batch-Processing. Für große Deployments: Kubernetes.

Quellen und weiterführende Literatur

  • CrewAI - Multi-Agent-Framework.
  • AutoGen - Multi-Agent-Framework.
  • vLLM - High-Performance Inference.
  • Ollama - Modellserver.
Zurück zum KI Blog
Share:

Ähnliche Beiträge