Threads, processos e mensagens no Foundry Agent Service (clássico)

Nota

Este documento refere-se ao portal Microsoft Foundry (clássico).

Os Agentes (clássicos) estão agora obsoletos e serão descontinuados a 31 de março de 2027. Use os novos agentes no Serviço de Agentes Foundry da Microsoft, disponível para o público em geral. Siga o guia de migração para atualizar as suas cargas de trabalho.

O Foundry Agent Service suporta threads persistentes, execuções e mensagens. Estes componentes são essenciais para gerir estados de conversa e interações com os utilizadores.

Componentes do agente

Quando utiliza um agente, os seguintes passos estão envolvidos:

  • Crie um agente: Crie um agente para começar a enviar mensagens e a receber respostas.
  • Crie um tópico: Crie um tópico uma vez e adicione mensagens à resposta dos utilizadores. O histórico de conversas é mantido e gerido automaticamente.
  • Enviar mensagens: Tanto o agente como o utilizador podem enviar mensagens. Estas mensagens podem incluir texto, imagens e outros ficheiros.
  • Administre o agente: Quando inicia uma execução, o agente processa as mensagens no thread e executa tarefas com base na sua configuração. Pode adicionar novas mensagens ao tópico como parte da sua resposta.
  • Monitorizar o estado da execução: Monitorizar a execução até terminar.
  • Receba a resposta: Depois de o agente criar uma resposta, mostre-a ao utilizador.

Um diagrama que mostra um exemplo de execução de agente.

Agente

Um agente é um componente de orquestração configurável que utiliza modelos de IA com instruções, ferramentas, parâmetros e controlos opcionais de segurança e governação. Em tempo de execução, um agente utiliza estes componentes e o histórico de mensagens de um determinado thread para responder às entradas do utilizador.

Fios

Os threads são sessões de conversa entre um agente e um utilizador. Armazenam mensagens e tratam automaticamente o truncamento para encaixar o conteúdo no contexto do modelo. Quando cria um tópico, pode anexar novas mensagens (até 100.000 por tópico) enquanto os utilizadores respondem.

Quando criar uma nova thread

  • Novo contexto de conversa: Crie um novo tópico ao iniciar um novo tema ou quando o utilizador quiser explicitamente "recomeçar".
  • Utilizadores diferentes: Cada utilizador deve normalmente ter a(s) seu(s) próprio(s) tópico(s) para manter o isolamento das conversas.
  • Considerações de desempenho: Threads com milhares de mensagens podem ter latência aumentada. Considere criar novos tópicos para interações de longa duração.

Ciclo de vida do fio

Os tópicos persistem até serem explicitamente eliminados. Na configuração do agente Standard, os threads são armazenados na sua conta do Azure Cosmos DB. Planeie a sua estratégia de retenção de tópicos com base em:

  • Custos de armazenamento: Um grande número de threads com muitas mensagens consomem armazenamento
  • Requisitos de conformidade: Considere as suas políticas de retenção de dados ao gerir a eliminação de threads

Mensagens

As mensagens são as peças individuais de comunicação dentro de um fio. Podem ser criados pelo agente ou pelo utilizador e podem incluir texto ou outros ficheiros. As mensagens são armazenadas como uma lista dentro do tópico, permitindo um fluxo de conversa estruturado e organizado.

Corridas

Uma corrida envolve invocar o agente na thread. O agente processa as mensagens no tópico e pode acrescentar novas mensagens, que são respostas do agente. O agente utiliza a sua configuração e as mensagens do thread para realizar tarefas chamando modelos e ferramentas. Como parte de um processo de execução, o agente acrescenta mensagens ao tópico.

Valores de estado de execução

Monitorize o estado da execução para determinar quando o processamento está concluído:

Estado Descrição
queued A corrida está à espera de ser processada
in_progress O agente está a processar ativamente
requires_action O agente precisa de resultados de chamadas de função (para ferramentas de execução de chamadas de função)
completed Corrida concluída com sucesso
failed Run encontrou um erro
cancelled A corrida foi cancelada
expired A corrida ultrapassou os limites de tempo

Melhores práticas

  • Limpar recursos: Eliminar threads e agentes quando já não for necessário gerir custos e armazenamento
  • Gerir os erros de forma elegante: verificar sempre o failed estado da execução e implementar lógica de nova tentativa com backoff exponencial
  • Use intervalos de sondagem apropriados: Ao verificar o estado da execução, comece com intervalos de 500ms e aumente para operações de maior duração
  • Limitar o tamanho das mensagens: Embora as threads suportem até 100.000 mensagens, procure manter as conversas concisas para um desempenho ótimo

Próximos passos