Arquitetura de solução agêntica

A arquitetura representa a forma como uma solução agêntica é organizada e distribuída entre capacidades, conhecimentos e mecanismos de execução.

Ao desenvolver uma solução agêntica, como definir a arquitetura mais adequada? Em quais situações devo priorizar Skills, quando devo optar por Subagentes e quando uma arquitetura Híbrida se torna a melhor escolha?

Um agente orquestrador é responsável por interpretar a intenção do usuário e coordenar a execução da solução. Dependendo da complexidade e do nível de especialização necessário, ele pode adotar diferentes abordagens arquiteturais:

  1. Arquitetura baseada em Skills: o orquestrador concentra a inteligência principal em seu prompt de sistema e ativa Skills especializadas para executar capacidades específicas.

  2. Arquitetura baseada em Subagentes (Multiagente): o orquestrador mantém um conjunto reduzido de instruções e delega a execução para agentes especialistas conectados, cada um com seu próprio conhecimento, ferramentas e lógica de raciocínio.

  3. Arquitetura Híbrida: combina Skills e Subagentes, utilizando Skills para capacidades operacionais e reutilizáveis, enquanto delega domínios complexos ou altamente especializados para agentes dedicados.

Skills são capacidades executadas dentro de um agente. É uma forma de modularizar o cérebro operacional do agente. A documentação atual da Microsoft descreve Skills como pacotes que podem conter instruções, scripts, materiais de referência, templates e outros recursos. O runtime do agente pode selecionar uma Skill quando a solicitação do usuário corresponde à finalidade descrita pela Skill.
 
Subagente conectado são agentes independentes, cada um com suas próprias instruções, conhecimento, ferramentas e contexto de orquestração. O runtime do agente pode chamar um subagente quando necessário.

Algumas regras que ajudam a decidir:

1. Precisa de personalidade/papel próprio?

Exemplo: Tenho uma situação complexa e quero que diferentes perspectivas analisem o problema antes de o agente me aconselhar.

SIM → provável subagente, pois esse caso têm muito mais valor.

Se for apenas: Análise alguma coisa.

NÃO → provável Skill.

2. Precisa de uma base de conhecimento independente?

Por exemplo: Agente Gestão de Pessoas precisa pesquisar:

Enquanto: Agente Estratégia precisa pesquisar:

3. Precisa de ferramentas/permissões diferentes?

Por exemplo:

    1. Agente A consulta Jira
    2. Agente B consulta sistema RH
    3. Agente C consulta Power BI

SIM → provável subagente, pois é um forte argumento para separar agentes, especialmente quando existem diferentes privilégios e controles de segurança.

4. Esse especialista poderia existir sozinho?

Esse é um ótimo teste. Imagine:

“Especialista em Gestão de Pessoas poderia ser usado também por um agente de Gestores?” Sim.

“Especialista em Estratégia poderia ser usado também por um agente Executivo?” Sim.

SIM → pode fazer sentido, porque agentes especializados podem ser reutilizados por diferentes agentes principais.

Agora: “Preparar uma retrospectiva.”

NÃO → Isso é uma capacidade → Skill.

5. O maior erro é transformar tudo em subagente