Agent-to-Agent Protocol
O protocolo agent-to-agent permite que um agente chame outro agente como especialista durante uma conversa. É o mecanismo que transforma agentes individuais em uma rede colaborativa.
Como Funciona
Todos os agentes Sofia AI têm acesso à tool delegate_to_agent. Quando o agente considera que uma tarefa exige expertise específica de outro agente, ele pode chamar essa tool com o ID do agente alvo e a mensagem a ser processada.
Tool: delegate_to_agent
A tool está disponível automaticamente em todos os agentes. O modelo decide quando usá-la com base no system prompt e no contexto da conversa.
Definição da tool:
{
"name": "delegate_to_agent",
"description": "Delega uma tarefa para outro agente especialista.",
"parameters": {
"type": "object",
"properties": {
"toAgentId": {
"type": "string",
"description": "ID do agente para delegar a tarefa"
},
"message": {
"type": "string",
"description": "A tarefa ou pergunta a ser delegada"
}
},
"required": ["toAgentId", "message"]
}
}Como instruir o agente no System Prompt:
Você é um assistente generalista. Quando precisar de análise jurídica, delegate para o agente "AGENT_ID_JURIDICO". Para análise financeira, delegate para "AGENT_ID_FINANCEIRO". Sempre delegate tarefas especializadas para os agentes certos antes de formular sua resposta final.
Limitações e Segurança
Limite de 3 níveis de profundidade
Para evitar loops infinitos, o sistema limita delegações a 3 níveis de aninhamento. Se um agente A delega para B, que delega para C, qualquer tentativa de C delegar será bloqueada e retornará um erro explicativo.
Outras limitações importantes:
- → O agente delegado deve pertencer ao mesmo usuário/workspace
- → Agentes inativos não podem receber delegações
- → A memória do agente delegado é carregada normalmente (se habilitada)
- → Cada delegação conta como mensagens no consumo do plano
- → Todas as delegações são registradas no banco (AgentDelegation)
Histórico de Delegações
Todas as delegações são registradas e podem ser consultadas na página do agente ou via API.
Ver histórico via UI:
Acesse Dashboard → Agentes, abra um agente e clique em Delegações. Você verá as delegações enviadas (onde este agente delegou) e recebidas (onde este agente foi chamado).
Via API:
GET /api/agents/:id/delegations?direction=both Authorization: Bearer SEU_JWT_TOKEN // direction: "sent" | "received" | "both"