For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navegação principal
Theme

Orquestração e transferências de controle

Decida se os especialistas devem assumir a conversa ou auxiliar um agente gerente.

Fluxos de trabalho com vários agentes são úteis quando cada especialista deve cuidar de uma parte do trabalho. Ao projetar o fluxo, a primeira decisão é definir quem dará a resposta final ao usuário em cada ramificação.

Escolha o padrão de orquestração

Padrão Quando usar O que acontece
Transferências de controle Um especialista deve assumir a conversa naquela ramificação do fluxo O agente especialista assume o controle
Agentes como ferramentas Um gerente deve manter o controle e chamar especialistas para tarefas de escopo delimitado O gerente continua responsável pela resposta

Transfira o controle para delegar a resposta

A transferência de controle é o padrão mais indicado quando o especialista deve dar a próxima resposta, em vez de apenas ajudar nos bastidores.

Delegue a resposta com uma transferência de controle
import { Agent, handoff } from "@openai/agents";

const billingAgent = new Agent({ name: "Billing agent" });
const refundAgent = new Agent({ name: "Refund agent" });

const triageAgent = Agent.create({
  name: "Triage agent",
  handoffs: [billingAgent, handoff(refundAgent)],
});

Para que o roteamento seja fácil de entender, siga estas orientações.

  • Atribua a cada especialista uma função de escopo delimitado.
  • Use uma descrição curta e específica em handoffDescription.
  • Crie uma ramificação apenas quando ela realmente exigir instruções, ferramentas ou políticas diferentes.

Em casos mais avançados, as transferências de controle também podem incluir metadados estruturados ou um histórico filtrado. Consulte a documentação do SDK para ver as APIs específicas, pois a forma de usá-las varia conforme a linguagem.

Use agentes como ferramentas em fluxos com um agente gerente

Use agent.asTool() quando o agente principal precisar continuar responsável pela resposta final e chamar especialistas para auxiliá-lo.

Chame um especialista como ferramenta
import { Agent } from "@openai/agents";

const summarizer = new Agent({
  name: "Summarizer",
  instructions: "Generate a concise summary of the supplied text.",
});

const mainAgent = new Agent({
  name: "Research assistant",
  tools: [
    summarizer.asTool({
      toolName: "summarize_text",
      toolDescription: "Generate a concise summary of the supplied text.",
    }),
  ],
});

Esse padrão costuma ser mais adequado quando:

  • o gerente precisa reunir as contribuições dos especialistas em uma resposta final
  • o especialista executa uma tarefa de escopo delimitado, como resumir ou classificar conteúdo
  • você quer manter um único fluxo principal estável e chamar os especialistas dentro dele, sem transferir a responsabilidade pela resposta

Adicione especialistas apenas quando o contrato mudar

Sempre que possível, comece com um único agente. Adicione especialistas apenas quando isso ajudar de forma significativa a isolar capacidades ou políticas, tornar os prompts mais claros ou facilitar a leitura dos rastros de execução.

Dividir o trabalho cedo demais aumenta o número de prompts, de rastros de execução e de pontos que exigem aprovação, sem necessariamente melhorar o fluxo.

Próximos passos

Depois de definir quem responde ao usuário, consulte o guia que aborda sua próxima dúvida sobre execução ou estado.