Pular para o conteúdo principal

Agente Supervisor tarefa de longa duração

Esta página explica como lidar com tarefas de longa duração usando a continuação de tarefas com o Supervisor Agent.

Quando um agente supervisor trabalha em uma tarefa complexa que exige muitas chamadas de ferramentas, a tarefa pode precisar de mais tempo do que uma única solicitação API permite. Para lidar com isso, o supervisor oferece suporte ao modo de tarefas de longa duração, que divide automaticamente tarefas longas em vários ciclos de solicitação/resposta, permitindo que o agente continue trabalhando sem atingir o tempo limite.

Como funciona

  1. O supervisor começará a processar sua solicitação, utilizando ferramentas e raciocínio conforme necessário.
  2. Antes que a solicitação expire, o supervisor pausa a execução e emite um evento task_continue_request na resposta de transmissão.
  3. Para retomar a tarefa, seu aplicativo envia uma solicitação de acompanhamento que inclui o task_continue_request e um task_continue_response correspondente.
  4. O supervisor retoma o trabalho de onde parou. Esse ciclo se repete conforme necessário até que a tarefa seja concluída.

Use tarefas de longa duração no Playground.

No AI Playground, o Playground lida automaticamente com a continuação de tarefas. Quando o agente precisar de mais tempo, o Playground enviará a resposta de continuação em seu nome. Você vê uma única conversa, sem interrupções.

Gerenciar a continuação de tarefas na API

Para habilitar tarefas de longa duração, inclua "long_task": true no databricks_options da sua solicitação:

JSON
{
"input": [{ "role": "user", "content": "Your message here" }],
"databricks_options": {
"long_task": true
},
"stream": true
}

Ao usar a API de transmissão diretamente, seu aplicativo deve detectar eventos task_continue_request e enviar uma solicitação de acompanhamento para continuar a tarefa.

Detectar o evento de ponto de verificação na resposta de transmissão

O supervisor emite um evento como o seguinte quando precisa continuar:

JSON
{
"type": "response.output_item.done",
"item": {
"type": "task_continue_request",
"id": "continue_<unique-id>",
"step": 16
},
"id": "resp_<response-id>"
}

O campo step indica o número total de chamadas de ferramentas os passos concluídas até o momento.

Enviar uma solicitação de acompanhamento para retomar

Inclua o task_continue_request original e um task_continue_response correspondente nas mensagens da sua próxima solicitação:

JSON
{
"messages": [
"...previous messages...",
{
"type": "task_continue_request",
"id": "continue_<unique-id>",
"step": 16
},
{
"type": "task_continue_response",
"continue_request_id": "continue_<unique-id>"
}
],
"databricks_options": {
"long_task": true
},
"stream": true
}

O continue_request_id deve corresponder ao id do task_continue_request.

Limitações conhecidas

  • Se uma única chamada de ferramenta ou de modelo demorar mais do que o tempo limite API , a solicitação ainda poderá expirar, pois o ponto de verificação de continuação só pode ser acionado entre os passos.
  • O suporte completo para agentes de longa duração, incluindo tempos limite durante chamadas de ferramentas individuais ou chamadas de modelos, ainda não está disponível.