Ir para o conteúdo

Coordenação

Times de agentes: Roteador, Orquestrador, Paralelo, Sub-Workflow, Debate, Hub de Mensagens, Sequencial e Votação.

Atualizado em 01 de set. de 2026

Os cards de coordenação organizam vários agentes num só workflow: roteando, paralelizando, debatendo e votando. Vários deles aceitam participantes estáticos (definidos no modal) ou dinâmicos (vindos de uma coleção do Início via {{colecao.* | filtros}}).

Roteador

Coordenação · router · classifica e direciona

Um classificador com LLM que lê a mensagem e escolhe um dos caminhos conectados (route-N). Descreva bem cada rota — é o critério da decisão.

namestringpadrão: 'router'

Nome do nó (sanitizado).

modelstring

Modelo que decide a rota. Vazio = modelo padrão do agente.

routesobjectobrigatório

Por handle: `{target_node_id, target_name, description}` — a descrição orienta a escolha.

default_routestring

Rota usada quando a confiança fica abaixo do limiar.

confidence_thresholdnumberpadrão: 0.7

Confiança mínima para aceitar a decisão do modelo.

include_historybooleanpadrão: true

Considera o histórico da conversa ao rotear (não só a última mensagem).

routing_promptstring

Instruções extras de roteamento.

Orquestrador

Coordenação · orchestrator · divide e delega

Quebra a tarefa em subtarefas e as delega aos workers conectados nos slots, iterando até concluir. Bom para tarefas compostas ("pesquise, compare e escreva o relatório").

namestringpadrão: 'Orchestrator'

Nome do nó.

modelstring

Modelo do orquestrador.

orchestrator_promptstring

Como planejar e dividir o trabalho.

worker_promptstring

Prompt base aplicado aos workers.

max_iterationsnumberpadrão: 10

Rodadas máximas de planejamento.

worker_max_iterationsnumberpadrão: 10

Rodadas máximas de cada worker.

Paralelo

Coordenação · parallel · ramos simultâneos

Dispara os ramos conectados (branch-N) ao mesmo tempo e agrega os resultados. Também conecta como ferramenta a um Agent — o modelo decide quando disparar o paralelismo. Cada ramo pode receber variáveis próprias.

namestringpadrão: 'parallel'

Nome do nó (sanitizado).

instructionstring

O que cada ramo deve fazer com a entrada.

branchesobjectobrigatório

Por handle: `{target_node_id, target_name, variables[]}` — variáveis injetadas naquele ramo.

aggregation_modeconcat | merge | first | votepadrão: concat

Como juntar os resultados: concatenar, mesclar, o primeiro que terminar, ou votar no melhor.

wait_allbooleanpadrão: true

Espera todos os ramos antes de agregar.

timeout_secondsnumber

Teto de espera pelos ramos.

Sub-Workflow

Coordenação · sub_workflow · workflow dentro de workflow

Executa outro agente publicado como um passo deste workflow, mapeando variáveis na entrada e na saída.

namestringpadrão: 'Sub-Workflow'

Nome do nó.

sub_workflow_idstringobrigatório

O agente a executar.

input_mappingobject

De variável local → variável do sub-workflow.

output_mappingobject

De variável do sub-workflow → variável local, ao voltar.

Debate

Coordenação · debate · perspectivas em conflito

Vários agentes discutem um tema em rodadas, cada um vendo as falas anteriores, com síntese ao final. Participantes fixos no modal ou dinâmicos de uma coleção.

namestringpadrão: 'debate'

Nome do nó (sanitizado).

debate_topicstringobrigatório

O tema. Aceita `{{variaveis}}` (ex.: `Analisem o caso: {{caso}}`).

max_roundsnumberpadrão: 3

Rodadas de discussão.

consensus_thresholdnumberpadrão: 0.7

Grau de acordo que encerra o debate antes do teto.

moderator_promptstring

Instruções do moderador/síntese.

agent_behaviorstring

Diretriz de comportamento anexada a todos os participantes.

debate_agents{name, system_prompt}[]

Modo estático: os participantes e suas personas.

debate_agents_sourcestring

Modo dinâmico: fonte `{{colecao.* | filtros}}`.

agent_name_fieldstringpadrão: name

Campo do item que dá o nome do participante (dinâmico).

agent_prompt_templatestring

Template de persona com `{{campos}}` do item (dinâmico).

Hub de Mensagens

Coordenação · msg_hub · conversa privada

Cria um canal onde só os participantes listados veem as mensagens uns dos outros — conversas paralelas invisíveis para o resto do workflow (o padrão MsgHub do AgentScope).

namestringpadrão: 'Msg Hub'

Nome do nó.

hub_idstringpadrão: gerado

Identificador do canal.

participantsstring[]obrigatório

Nomes dos agentes que participam.

announcementstring

Mensagem de abertura anunciada no canal.

inherit_parent_hubbooleanpadrão: false

Os participantes enxergam as mensagens do canal pai.

share_to_parentbooleanpadrão: false

As mensagens deste canal sobem para o canal pai.

Sequencial

Coordenação · sequential · um após o outro

Executa uma fila de agentes em ordem, cada um podendo ver o que os anteriores produziram. Participantes estáticos (com modelo por participante) ou dinâmicos de uma coleção, com filtros e mapeamento de modelos.

namestringpadrão: 'sequencia'

Nome do nó (sanitizado).

source_modedynamic | staticobrigatório

De onde vêm os participantes.

pass_contextbooleanpadrão: true

Cada participante vê as respostas dos anteriores.

agent_behaviorstring

Diretriz comum a todos.

static_participants{id, name, instructions, model?}[]

Modo estático: a fila, com persona e modelo opcionais por participante.

agents_sourcestring

Modo dinâmico: fonte `{{colecao.* | filtros}}`.

agent_name_fieldstringpadrão: name

Campo do item que dá o nome (dinâmico).

agent_prompt_templatestring

Template de persona com `{{campos}}` do item (dinâmico).

model_mapping / default_modelobject / string

Modelo por participante e fallback (dinâmico).

filters{field, operator, value}[]

Filtra os itens da coleção (`equals`, `contains`, `not_equals`).

max_participantsnumber

Teto de participantes por execução.

Votação

Coordenação · vote · decisão coletiva

Cada votante escolhe em segredo entre as opções; o resultado sai com contagem, vencedor e maioria. O on_result grava o vencedor de volta numa variável ou coleção — é o que fecha o ciclo com o While e o Se/Senão.

namestringpadrão: 'vote'

Nome do nó (sanitizado).

vote_promptstringpadrão: 'Cast your vote.'

A instrução de voto. Aceita `{{variaveis}}`.

vote_agentsstring[]

Modo estático: os votantes.

vote_agents_sourcestring

Modo dinâmico: `{{colecao.* | filtros}}` ou `{{no-debate.participants.*}}` para reusar os participantes de um Debate.

voter_id_field / voter_name_fieldstringpadrão: id / name

Campos do item que dão id e nome do votante (dinâmico).

voter_prompt_templatestring

Persona do votante com `{{campos}}` do item; sem template, o campo `instructions` do item vira a persona.

vote_optionsstring[]

Modo estático: as opções.

vote_options_sourcestring

Modo dinâmico: opções vindas de coleção (`option_value_field`/`option_label_field`).

exclude_selfboolean

Votante não pode votar em si (opções dinâmicas).

require_majoritybooleanpadrão: false

Exige maioria absoluta para declarar vencedor.

allow_abstainbooleanpadrão: false

Permite abstenção.

on_resultobject

`{update_collection, match_field, update_field, update_value}` — grava o vencedor. Se o alvo é uma variável-objeto (ex.: `votos`), incrementa a chave do vencedor.

on_tieobject

`{action: none | revote | random, max_retries, reduce_options, fallback}` — o que fazer em empate.

agent_behaviorstring

Diretriz comum aos votantes.

O padrão júri

Debate + Votação + While: os jurados debatem (debate-jur), votam (vote_agents_source: {{debate-jur.participants.*}}), o on_result incrementa {{votos}} e o While decide se há nova rodada ({{votos.culpado}} < 2 AND ...). É exatamente o template "Tribunal do Júri" da plataforma.

Esta página foi útil?