Astreus

Grafo + Sub-Agentes

Combine fluxos de trabalho de Grafo com coordenação de Sub-Agentes para uma distribuição hierárquica sofisticada de tarefas.

Combine fluxos de trabalho de Grafo com coordenação de Sub-Agentes para uma distribuição hierárquica sofisticada de tarefas.

Início Rápido

Clonar o Exemplo Completo

A forma mais fácil de começar é clonar o repositório do exemplo completo:

git clone https://github.com/astreus-ai/examples
cd examples/graph-sub-agents
npm install

Ou Instalar Apenas o Pacote

Se preferir construir do zero:

npm install @astreus-ai/astreus

Configuração do Ambiente

# .env
OPENAI_API_KEY=sk-your-openai-api-key-here
ANTHROPIC_API_KEY=your-anthropic-api-key-here
DB_URL=sqlite://./astreus.db

Integração de Grafo + Sub-Agente

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

// Criar sub-agentes especializados
const researcher = await Agent.create({
  name: 'ResearchSpecialist',
  model: 'gpt-4o',
  systemPrompt: 'You conduct thorough research and gather comprehensive information.',
  knowledge: true,
  memory: true
});

const analyst = await Agent.create({
  name: 'DataAnalyst', 
  model: 'gpt-4o',
  systemPrompt: 'You analyze data and provide actionable insights.',
  useTools: true
});

const writer = await Agent.create({
  name: 'ContentWriter',
  model: 'claude-3-5-sonnet-20241022',
  systemPrompt: 'You create compelling, well-structured content.',
  vision: true
});

// Criar agente coordenador principal com sub-agentes
const coordinator = await Agent.create({
  name: 'ProjectCoordinator',
  model: 'gpt-4o',
  systemPrompt: 'You coordinate complex projects using specialized sub-agents.',
  subAgents: [researcher, analyst, writer]
});

// Criar grafo com consciência de sub-agentes
const projectGraph = new Graph({
  name: 'Market Analysis Project',
  subAgentAware: true,
  maxConcurrency: 2
}, coordinator);

// Adicionar tarefas que aproveitam os sub-agentes
const researchTask = projectGraph.addTaskNode({
  name: 'Market Research',
  prompt: 'Research the AI healthcare market, including key players, market size, and growth trends',
  useSubAgents: true,
  subAgentDelegation: 'auto'
});

const analysisTask = projectGraph.addTaskNode({
  name: 'Data Analysis',
  prompt: 'Analyze the research data and identify key opportunities and challenges',
  dependencies: [researchTask],
  useSubAgents: true,
  subAgentCoordination: 'parallel'
});

const reportTask = projectGraph.addTaskNode({
  name: 'Executive Report',
  prompt: 'Create a comprehensive executive report with recommendations',
  dependencies: [analysisTask],
  useSubAgents: true
});

// Executar o grafo com coordenação inteligente de sub-agentes
const result = await projectGraph.run();

// Exibir resultados
console.log('Project completed:', result.success);
console.log(`Tasks completed: ${result.completedNodes}/${result.completedNodes + result.failedNodes}`);
console.log(`Duration: ${result.duration}ms`);

// Exibir resultados das tarefas
if (result.results) {
  console.log('\nTask Results:');
  for (const [nodeId, nodeResult] of Object.entries(result.results)) {
    console.log(`\n${nodeId}:`, nodeResult);
  }
}

// Obter o relatório final da última tarefa
const finalReport = result.results?.[reportTask];
if (finalReport) {
  console.log('\n=== Final Executive Report ===');
  console.log(finalReport);
}

Executando o Exemplo

Se você clonou o repositório:

npm run dev

Se você construiu do zero, crie um arquivo index.ts com o código acima e execute:

npx tsx index.ts

Repositório

O exemplo completo está disponível no GitHub: examples/graph-sub-agents

Última atualização: 6 de julho de 2026