Astreus

Sub-Agenten

Intelligente Aufgabenverteilung mit spezialisierten Agenten, die koordiniert zusammenarbeiten

Intelligente Aufgabenverteilung mit spezialisierten Agenten, die koordiniert zusammenarbeiten

Übersicht

Sub-Agents ermöglichen anspruchsvolle Multi-Agenten-Koordination, bei der ein Hauptagent Aufgaben intelligent an spezialisierte Sub-Agents delegiert. Jeder Sub-Agent hat seine eigene Expertise, Fähigkeiten und Rolle und arbeitet mit anderen zusammen, um komplexe Workflows zu erledigen, die für einen einzelnen Agenten eine Herausforderung wären.

Neu: Sub-Agents integrieren sich jetzt nahtlos in Graph-Workflows und ermöglichen hierarchische Aufgabenverteilung über komplexe Workflow-Orchestrierungssysteme hinweg.

Sub-Agents erstellen

Sub-Agents werden unabhängig erstellt und dann an einen Haupt-Koordinatoragenten angehängt:

import { Agent } from '@astreus-ai/astreus';

// Create specialized sub-agents
const researcher = await Agent.create({
  name: 'ResearcherBot',
  model: 'gpt-4o',
  systemPrompt: 'You are an expert researcher who gathers and analyzes information thoroughly.',
  memory: true,
  knowledge: true
});

const writer = await Agent.create({
  name: 'WriterBot',
  model: 'gpt-4o',
  systemPrompt: 'You are a skilled content writer who creates engaging, well-structured content.',
  vision: true
});

const analyst = await Agent.create({
  name: 'AnalystBot', 
  model: 'gpt-4o',
  systemPrompt: 'You are a data analyst who provides insights and recommendations.',
  useTools: true
});

// Create main agent with sub-agents
const mainAgent = await Agent.create({
  name: 'CoordinatorAgent',
  model: 'gpt-4o',
  systemPrompt: 'You coordinate complex tasks between specialized sub-agents.',
  subAgents: [researcher, writer, analyst]
});

Delegationsstrategien

Automatische Delegation

Der Hauptagent nutzt LLM-Intelligenz, um Aufgaben zu analysieren und optimal zuzuweisen:

const result = await mainAgent.ask(
  'Research AI market trends, analyze the data, and write an executive summary',
  {
    useSubAgents: true,
    delegation: 'auto'  // AI-powered task distribution
  }
);
1

Aufgabenanalyse

Der Hauptagent analysiert die komplexe Aufgabe mithilfe von LLM-Reasoning.

2

Agent-Zuordnung

Bewertet die Fähigkeiten und Spezialisierungen jedes Sub-Agents.

3

Optimale Zuweisung

Erstellt spezifische Teilaufgaben für die am besten geeigneten Agenten.

4

Koordinierte Ausführung

Verwaltet den Ausführungsablauf und die Ergebnisaggregation.

Manuelle Delegation

Weise bestimmte Aufgaben explizit anhand ihrer IDs bestimmten Agenten zu:

const result = await mainAgent.ask(
  'Complex multi-step project',
  {
    useSubAgents: true,
    delegation: 'manual',
    taskAssignment: {
      [researcher.id]: 'Research market opportunities in healthcare AI',
      [analyst.id]: 'Analyze market size and growth potential',
      [writer.id]: 'Create executive summary with recommendations'
    }
  }
);

Sequentielle Delegation

Sub-Agents arbeiten nacheinander und bauen auf vorherigen Ergebnissen auf:

const result = await mainAgent.ask(
  'Create a comprehensive business plan for an AI startup',
  {
    useSubAgents: true,
    delegation: 'sequential'  // Each agent builds on the previous work
  }
);

Koordinationsmuster

graph TD
    A[Main Coordinator Agent] --> B{Task Analysis}
    B -->|Research Tasks| C[ResearcherBot]
    B -->|Analysis Tasks| D[AnalystBot]
    B -->|Content Tasks| E[WriterBot]
    
    C --> F[Research Results]
    D --> G[Analysis Results]
    E --> H[Written Content]
    
    F --> I[Result Aggregation]
    G --> I
    H --> I
    
    I --> J[Final Output]
    
    style A fill:#333,stroke:#333,stroke-width:4px
    style C fill:#333,stroke:#333,stroke-width:2px
    style D fill:#333,stroke:#333,stroke-width:2px
    style E fill:#333,stroke:#333,stroke-width:2px

Parallele Ausführung

Sub-Agents arbeiten gleichzeitig für maximale Effizienz:

const result = await mainAgent.ask(
  'Multi-faceted analysis task',
  {
    useSubAgents: true,
    delegation: 'auto',
    coordination: 'parallel'  // All agents work concurrently
  }
);

Sequentielle Ausführung

Sub-Agents arbeiten in der richtigen Reihenfolge mit Kontextweitergabe:

const result = await mainAgent.ask(
  'Research → Analyze → Report workflow',
  {
    useSubAgents: true,
    delegation: 'auto', 
    coordination: 'sequential'  // Agents work in dependency order
  }
);

Sub-Agent-Konfiguration

Spezialisierte Rollen

Konfiguriere Sub-Agents für bestimmte Fachgebiete:

// Research Specialist
const researcher = await Agent.create({
  name: 'ResearchSpecialist',
  systemPrompt: 'You conduct thorough research using multiple sources and methodologies.',
  knowledge: true,  // Access to knowledge base
  memory: true,     // Remember research context
  useTools: true    // Use research tools
});

// Content Creator
const creator = await Agent.create({
  name: 'ContentCreator', 
  systemPrompt: 'You create compelling content across different formats and audiences.',
  vision: true,     // Process visual content
  useTools: true    // Use content creation tools
});

// Technical Analyst
const analyst = await Agent.create({
  name: 'TechnicalAnalyst',
  systemPrompt: 'You analyze technical data and provide actionable insights.',
  useTools: true    // Use analysis tools
});

Graph-Integration

Sub-Agents arbeiten nahtlos mit Graph-Workflows für komplexe Orchestrierung zusammen:

import { Agent, Graph } from '@astreus-ai/astreus';

// Create specialized sub-agents
const researcher = await Agent.create({
  name: 'ResearchBot',
  systemPrompt: 'You conduct thorough research and analysis.',
  knowledge: true
});

const writer = await Agent.create({
  name: 'WriterBot',
  systemPrompt: 'You create compelling content and reports.',
  vision: true
});

// Main coordinator with sub-agents
const coordinator = await Agent.create({
  name: 'ProjectCoordinator',
  systemPrompt: 'You coordinate complex projects using specialized teams.',
  subAgents: [researcher, writer]
});

// Create sub-agent aware graph
const projectGraph = new Graph({
  name: 'Market Analysis Project',
  defaultAgentId: coordinator.id,
  subAgentAware: true,
  optimizeSubAgentUsage: true
}, coordinator);

// Add tasks with intelligent sub-agent delegation
const researchTask = projectGraph.addTaskNode({
  name: 'Market Research',
  prompt: 'Research AI healthcare market trends and opportunities',
  useSubAgents: true,
  subAgentDelegation: 'auto'
});

const reportTask = projectGraph.addTaskNode({
  name: 'Executive Report',
  prompt: 'Create comprehensive executive report based on research',
  dependencies: [researchTask],
  useSubAgents: true,
  subAgentCoordination: 'sequential'
});

// Execute the graph
const result = await projectGraph.run();

Graph-Sub-Agent-Funktionen

  • Automatische Erkennung: Graph-Nodes verwenden Sub-Agents automatisch, wenn sinnvoll
  • Kontextweitergabe: Workflow-Kontext fließt für bessere Koordination zu den Sub-Agents
  • Leistungsoptimierung: Echtzeitüberwachung und automatische Strategieanpassung
  • Flexible Konfiguration: Sub-Agent-Einstellungen pro Node mit Vererbung von der Graph-Konfiguration

Fortgeschrittene Beispiele

Content-Produktions-Pipeline

const contentPipeline = await Agent.create({
  name: 'ContentPipeline',
  model: 'gpt-4o',
  subAgents: [researcher, writer, analyst]
});

const blogPost = await contentPipeline.ask(
  'Create a comprehensive blog post about quantum computing applications in finance',
  {
    useSubAgents: true,
    delegation: 'auto',
    coordination: 'sequential'
  }
);

Marktforschungs-Workflow

const marketResearch = await Agent.create({
  name: 'MarketResearchTeam',
  model: 'gpt-4o',
  subAgents: [researcher, analyst, writer]
});

const report = await marketResearch.ask(
  'Analyze the fintech market and create investor presentation',
  {
    useSubAgents: true,
    delegation: 'manual',
    coordination: 'parallel',
    taskAssignment: {
      [researcher.id]: 'Research fintech market trends and competitors',
      [analyst.id]: 'Analyze market data and financial projections',
      [writer.id]: 'Create compelling investor presentation'
    }
  }
);

Antworttypen

Sub-Agent-Methoden geben je nach Operation unterschiedliche Antwortformate zurück.

Execute With Sub-Agents Antwort

Die einfache Sub-Agent-Ausführung gibt das endgültige kombinierte Ergebnis als String zurück:

const result = await mainAgent.executeWithSubAgents(
  "Research renewable energy and create comprehensive report",
  [researchAgent, writerAgent],
  { coordination: 'sequential' }
);

// Response: string
"Research complete: Solar and wind energy show 23% growth year-over-year. Report includes market analysis, technology trends, and investment opportunities across 15 regions."

Delegate Task Antwort

Die Aufgabendelegation gibt die Antwort des Sub-Agents als String zurück:

const result = await mainAgent.delegateTask(
  "Translate this document to Spanish",
  translatorAgent
);

// Response: string
"Documento traducido exitosamente. El contenido ha sido adaptado para audiencia hispanohablante manteniendo el tono profesional original."

Coordinate Agents Antwort

Die Koordination mehrerer Agenten gibt ein Array von Aufgaben-Ergebnis-Paaren zurück:

const results = await mainAgent.coordinateAgents([
  { agent: analyzerAgent, prompt: "Analyze Q4 sales data" },
  { agent: reportAgent, prompt: "Create executive summary" },
  { agent: visualizerAgent, prompt: "Generate performance charts" }
], 'sequential');

// Response structure:
[
  {
    task: {
      agent: analyzerAgent,  // IAgent object
      prompt: "Analyze Q4 sales data"
    },
    result: "Q4 analysis complete: Revenue increased 18%, top products identified, seasonal trends mapped."
  },
  {
    task: {
      agent: reportAgent,
      prompt: "Create executive summary"
    },
    result: "Executive summary created with key findings: 18% growth driven by product line expansion..."
  },
  {
    task: {
      agent: visualizerAgent,
      prompt: "Generate performance charts"
    },
    result: "Performance visualizations generated: 5 charts showing revenue trends, product mix, and regional distribution."
  }
]

Agent.ask() mit Sub-Agents Antwort

Die Verwendung von agent.ask() mit Sub-Agent-Optionen gibt den endgültigen Antwort-String zurück:

const result = await mainAgent.ask(
  "Create market analysis presentation",
  {
    useSubAgents: true,
    delegation: 'auto',
    coordination: 'parallel'
  }
);

// Response: string
"Market analysis presentation completed with 3 specialized teams: Research team gathered competitor data, Analysis team processed financial metrics (showing 12% market growth), and Content team created 25-slide deck with executive summary."

Manuelle Aufgabenzuweisung Antwort

Die manuelle Zuweisung gibt ebenfalls einen String mit den kombinierten Ergebnissen zurück:

const result = await coordinatorAgent.ask(
  "Develop comprehensive product launch strategy",
  {
    useSubAgents: true,
    delegation: 'manual',
    coordination: 'sequential',
    taskAssignment: {
      [marketResearcher.id]: "Research target market and competitors",
      [strategyAnalyst.id]: "Develop go-to-market strategy",
      [contentCreator.id]: "Create launch materials and messaging"
    }
  }
);

// Response: string
"Product launch strategy complete: Target market identified (tech-savvy professionals 25-40), competitive positioning defined (premium quality, mid-tier pricing), go-to-market plan created with 3-phase rollout, and launch materials prepared including website, social media, and press kit."

Zuletzt aktualisiert: 6. Juli 2026