Subagents
Ao investigar uma solicitação complexa, um controlador pode pedir contribuições a especialistas sem entregar a cada um a conversa inteira. Esses especialistas são subagentes: unidades de trabalho com instruções, ferramentas e contexto próprios, chamadas para produzir uma contribuição delimitada. Nosso exemplo será uma comparação de fornecedores, com um especialista de preço e outro de prazo. O controlador continua responsável por decidir a recomendação final e por explicar o que está faltando.
A separação pode melhorar organização e reduzir distrações, mas também aumenta chamadas, custo e coordenação. Esta aula discute quando um especialista justifica essa estrutura, o que significa contexto compartilhado ou isolado e como validar a contribuição antes de usá-la. Isolamento de contexto é uma propriedade de informação fornecida ao modelo; isolamento de permissão exige controles adicionais na aplicação e nas ferramentas. Confundir os dois cria uma falsa sensação de segurança.
JavaScriptAgentesAo terminar esta aula
- Especialistas precisam de entradas e saídas verificáveis.
- Isolar contexto não equivale a restringir acesso de ferramentas.
- O controlador valida contribuições e conserva a responsabilidade pela síntese.
Antes de continuar: Laboratório: LangGraph
Especialidade é um contrato de trabalho
FundamentosUm especialista de preço recebe itens e condições comerciais e devolve valores com moeda, validade e fonte. Um especialista de prazo recebe destino e disponibilidade e devolve uma estimativa com premissas. Esses contratos permitem verificar as contribuições separadamente. Um subagente chamado “pesquisador” que retorna um texto longo sobre tudo não oferece uma fronteira útil. A especialidade deve corresponder a uma tarefa com entradas suficientes e saída consumível pelo controlador. Uma função determinística pode ser mais adequada quando o cálculo não depende de interpretação contextual.
O controlador deve delimitar o pedido, informar as restrições e verificar o resultado. Delegar não significa transferir responsabilidade pela qualidade final. Se o especialista de preço devolve 100 sem moeda, o controlador precisa pedir correção ou marcar lacuna. Se o prazo se refere a outro destino, o resultado é inválido mesmo que o texto seja plausível. Defina quais campos são obrigatórios, quais valores são permitidos e que evidências acompanham afirmações. A saída de um subagente é uma contribuição a avaliar, não uma decisão autorizada por sua aparência de especialista.
Contexto isolado reduz exposição e ruído
FundamentosContexto compartilhado oferece aos especialistas uma visão ampla, útil quando dependem de decisões anteriores. Em compensação, distribui dados e instruções que talvez não sejam necessários. Contexto isolado fornece somente a pergunta e os dados relevantes à subtarefa. No caso do preço, endereço completo do cliente pode ser desnecessário; no prazo, um destino aproximado pode bastar. A minimização também facilita avaliar a contribuição: você consegue apontar de quais entradas ela deveria derivar, em vez de procurar premissas em centenas de mensagens.
O isolamento não impede que a ferramenta do especialista consulte dados proibidos. A credencial, o executor e a política de autorização continuam determinando o acesso real. Nunca permita que o próprio subagente escolha o tenant como forma de autenticação. Um controlador que envia apenas item e quantidade ainda precisa de uma ferramenta que use a identidade autorizada ao consultar preços privados. De maneira semelhante, um especialista sem histórico não está protegido contra instruções maliciosas em documentos externos; a aplicação precisa tratar esse conteúdo como dados e conservar os limites de ação.
A contribuição volta ao controlador
FundamentosO código mostra dois especialistas locais recebendo objetos de entrada distintos. Preço não recebe destino; prazo não recebe orçamento privado. Os retornos possuem status e evidências, e combinar valida os campos essenciais antes de criar a recomendação. Se faltar prazo, a saída declara pendência em vez de preencher uma estimativa. Essa composição diferencia subagentes como ferramentas de um handoff: o controlador permanece ativo e usa contribuições para produzir o resultado. Em um handoff, um especialista passa a dirigir o turno ou a conversa.
Estado compartilhado requer um protocolo de escrita. Se ambos especialistas modificarem a mesma recomendação, o último a terminar pode apagar parte do resultado. Prefira contribuições separadas e uma etapa única de combinação, ou estabeleça reducers que correspondam à semântica dos dados. O fato de dois especialistas trabalharem em paralelo não garante independência: um pode precisar do resultado do outro. Se prazo depende do estoque consultado pelo especialista comercial, registre essa dependência e execute na ordem correta. Paralelizar sem analisar entradas produz resultados rápidos sobre premissas incompatíveis.
function preco({item,quantidade}) { return {item,total:quantidade*100,fonte:'tabela F1'}; }
function prazo({item,destino}) { return {item,dias:destino==='Cuiaba'?3:5,fonte:'tabela logistica'}; }
function combinar(p,t) {
if (!p || !t) return {status:'pendente',lacuna:'preco ou prazo ausente'};
if (p.item!==t.item) throw new Error('contribuicoes incompativeis');
return {status:'pronta',total:p.total,dias:t.dias,evidencias:[p.fonte,t.fonte]};
}
const p=preco({item:'I2',quantidade:2});
const t=prazo({item:'I2',destino:'Cuiaba'});
console.log(combinar(p,t)); console.log(combinar(p,null));Meça utilidade, falhas e fronteiras
FundamentosCompare a arquitetura com um único agente que recebe as mesmas fontes e ferramentas. Meça correção da recomendação, evidências ausentes, chamadas, latência e custo observado. Não assuma que mais especialistas sempre produzem mais precisão. Eles podem repetir pesquisas, perder nuances ou concordar por compartilharem a mesma fonte errada. Um revisor que apenas aprova o texto anterior não acrescenta evidência independente. Defina o ganho esperado de cada especialista e remova unidades que só aumentam a coordenação sem melhorar os critérios escolhidos.
Casos de avaliação incluem contribuição completa, campo ausente, fonte incompatível, timeout e conflito entre especialistas. A política deve dizer quando aceitar resultado parcial e quando interromper. Para ações com efeito, como contratar fornecedor, o controlador prepara uma proposta concreta e a aplicação verifica autorização; o acordo entre especialistas não equivale a aprovação. Registre o pacote de entrada enviado a cada um e a forma da contribuição recebida, minimizando dados sensíveis. Isso permite investigar tanto erro de conteúdo quanto exposição excessiva de contexto.
Exercício aplicado
Compare fornecedor F1 para o item I2 com especialistas de preço e prazo. O orçamento e o nome do cliente devem permanecer com o controlador. Uma contribuição ausente ou incompatível deve impedir recomendação completa.
- Capture os pacotes mínimos enviados a preço e prazo.
- Execute composição completa e composição sem prazo.
- Adicione item, moeda e data aos contratos e rejeite contribuição incompatível.
- Compare contagem de chamadas com uma implementação centralizada.
Abrir resolução comentada
Preço recebe item e quantidade, enquanto prazo recebe item e destino. O controlador reúne os resultados e retorna pronta somente quando os campos necessários existem. Ao passar null como prazo, combinar devolve pendente e explicita a lacuna. Essa resolução evita criar uma recomendação completa a partir de uma contribuição incompleta.
Para adicionar um terceiro especialista, defina primeiro qual informação nova ele traz e como será verificada. Não replique o contexto integral como atalho. O laboratório deve demonstrar que uma entrada proibida nunca aparece no pacote entregue ao especialista correspondente, além de verificar autorização nas ferramentas reais.
function preco({item,quantidade}) { return {item,total:quantidade*100,fonte:'tabela F1'}; }
function prazo({item,destino}) { return {item,dias:destino==='Cuiaba'?3:5,fonte:'tabela logistica'}; }
function combinar(p,t) {
if (!p || !t) return {status:'pendente',lacuna:'preco ou prazo ausente'};
if (p.item!==t.item) throw new Error('contribuicoes incompativeis');
return {status:'pronta',total:p.total,dias:t.dias,evidencias:[p.fonte,t.fonte]};
}
const p=preco({item:'I2',quantidade:2});
const t=prazo({item:'I2',destino:'Cuiaba'});
console.log(combinar(p,t)); console.log(combinar(p,null));Como conferir seu resultado
- Dados desnecessários não aparecem nos pacotes dos especialistas.
- Resultado parcial permanece pendente.
- A contribuição incompatível é rejeitada antes da síntese.
Aplique em um problema novo
Primeiro resolva sem consultar a resposta. Explique suas decisões e guarde a evidência. A conclusão de leitura é independente desta autoavaliação.
Confira seus pré-requisitos
- Projetar contratos mínimos por especialista.
- Compor resultados compatíveis.
Especialistas preço/prazo analisam I8; preço vem em USD e controlador espera BRL. O nome do cliente é desnecessário. Decida.
Conferir raciocínio e critérios de domínio
Preço recebe item/quantidade; prazo recebe item/destino. Nome do cliente permanece com o controlador porque não é necessário.
Preço em USD não compõe orçamento em BRL sem taxa/conversão definida. A decisão é resultado pendente, e não somar valores com unidades incompatíveis.
Sem resultados do desenho centralizado, não se afirma que multiagentes é melhor. A comparação exige mesmos casos, permissões e contagem/custo de chamadas.
Evidências para autoavaliação ou revisão por pares
- Contexto: Preço recebe item/quantidade; prazo recebe item/destino. Nome do cliente permanece com o controlador porque não é necessário.
- Composição: Preço em USD não compõe orçamento em BRL sem taxa/conversão definida. A decisão é resultado pendente, e não somar valores com unidades incompatíveis.
- Avaliação: Sem resultados do desenho centralizado, não se afirma que multiagentes é melhor. A comparação exige mesmos casos, permissões e contagem/custo de chamadas.
Um erro frequente
Duas respostas válidas isoladas compõem resultado correto.
Contribuições precisam ter premissas, unidades e fontes compatíveis.
Teste sua compreensão
Responda com suas palavras antes de abrir o comentário. Saber explicar uma decisão é parte do domínio.
1. Subagente como ferramenta é um handoff?
Não. O controlador continua responsável pelo turno.
O especialista devolve uma contribuição ao controlador.
2. Contexto mínimo garante permissão mínima?
Não. O acesso das ferramentas exige controles próprios.
Informação recebida e capacidade de ação são fronteiras diferentes.
3. Quando paralelizar especialistas?
Quando suas entradas e efeitos forem independentes.
Dependências ocultas podem produzir contribuições incompatíveis.
Seu progresso fica salvo neste navegador. Concluir a leitura não substitui demonstrar o domínio nos exercícios.
Referências e aprofundamento
Documentação oficial e trabalhos originais. As referências registram o escopo e as limitações para você conferir o que sustentam.
- Subagents
LangChain • consulta: 2026-10-06
AgentesSupervisor, router, especialistas, contexto isolado/forked e contratos de entrada/saída.
Limites: Isolamento reduz contexto mas pode repetir trabalho; não compartilhar histórico e segredos sem necessidade.
- Agent definitions
OpenAI • consulta: 2026-10-06
OpenAIAgentesDefinição de agente, instruções, tools e saída estruturada.
Limites: APIs e nomes diferem entre Python e TypeScript; usar versão fixada no laboratório.
- State: The Session's Scratchpad
Google ADK • consulta: 2026-10-06
Google ADKEstado serializável e escopos de sessão, user:, app: e temp:.
Limites: Persistência depende do serviço; diferenças de APIs por linguagem e limitações específicas de VertexAiSessionService.
- Guardrails and human review
OpenAI • consulta: 2026-10-06
OpenAISegurançaGuardrails de entrada, saída e ferramentas; interrupções de aprovação e retomada.
Limites: Guardrails de entrada só no primeiro agente e de saída no agente final; validação não substitui autorização.
- Orchestration and handoffs
OpenAI • consulta: 2026-10-06
OpenAIAgentesHandoffs transferem responsabilidade; agents-as-tools mantêm o gestor responsável; especialistas e custos de divisão.
Limites: Não demonstra superioridade universal de múltiplos agentes; medir qualidade, custo e latência.
- Multi-agent
LangChain • consulta: 2026-10-06
AgentesTrade-offs de padrões, número de chamadas, tokens, latência e paralelismo.
Limites: Exemplos de custo são ilustrativos e não um benchmark geral.
- Workflows and agents
LangChain • consulta: 2026-10-06
AgentesAutomaçãoRouting, parallelization, orchestrator-workers e evaluator-optimizer.
Limites: Planner/executor/reviewer é adaptação didática dos padrões; limitar ciclos e avaliar contra baseline.