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.
Weiterführende Links
- Multi-Agent-Systeme - Konzepte.
- KI-Agenten lokal betreiben - Übersicht.
- vLLM - Für Performance.
- Docker - Für Deployment.
- CrewAI - Multi-Agent-Framework.
- AutoGen - Multi-Agent-Framework.
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?
Wann brauche ich mehrere Agenten?
Parallel oder sequenziell?
Wie viele Ressourcen brauche ich?
Wie orchestriere ich Agenten?
Docker für mehrere Agenten?
Was kostet das?
Wie skaliere ich?
Quellen und weiterführende Literatur
- CrewAI - Multi-Agent-Framework.
- AutoGen - Multi-Agent-Framework.
- vLLM - High-Performance Inference.
- Ollama - Modellserver.


