Tarefas de execução prolongada do Agente Supervisor
Esta página explica como lidar com tarefas de longa duração usando a continuação de tarefas com Supervisor Agent.
Quando um agente supervisor trabalha em tarefas complexas que exigem muitas chamadas de ferramenta, a tarefa pode precisar de mais tempo do que uma única solicitação de API permite. Para lidar com isso, o supervisor oferece suporte ao modo de tarefa de longa execução, que divide automaticamente tarefas longas em múltiplos ciclos de solicitação/resposta para que o agente possa continuar trabalhando sem atingir o tempo limite.
Como funciona
- O supervisor começa a processar sua solicitação, invocando ferramentas e raciocínios conforme necessário.
- Antes que a solicitação expire, o supervisor pausa a execução e emite um evento
task_continue_requestna resposta de transmissão. - Para retomar a tarefa, seu aplicativo envia uma solicitação de acompanhamento que inclui tanto o
task_continue_requestquanto umtask_continue_responsecorrespondente. - O supervisor retoma de onde parou e continua trabalhando. Este 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 da tarefa. Quando o agente precisa de mais tempo, o Playground envia a resposta de continuação em seu nome. É exibida uma conversa única e ininterrupta.
Lidar com a continuação de tarefas na API
Para habilitar tarefas de longa duração, inclua "long_task": true em databricks_options de sua solicitação:
{
"input": [{ "role": "user", "content": "Your message here" }],
"databricks_options": {
"long_task": true
},
"stream": true
}
Ao usar a API de transmissão diretamente, sua aplicação deve detectar eventos task_continue_request e enviar uma solicitação de acompanhamento para continuar a tarefa.
Detectar o evento de checkpoint na resposta de transmissão
O supervisor emite um evento como o seguinte quando precisa continuar:
{
"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 os passos de chamada de ferramenta concluídas até agora.
Enviar uma solicitação de acompanhamento para retomar
Inclua o task_continue_request original e um task_continue_response correspondente nas mensagens de sua próxima solicitação:
{
"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 de task_continue_request.
Limitações conhecidas
- Se uma única chamada de ferramenta ou chamada de modelo for executada por mais tempo do que o tempo limite da API, a solicitação ainda poderá atingir o tempo limite porque o ponto de verificação de continuação só pode ser acionado entre os passos.
- O suporte completo para agente de longa duração, incluindo tempos limite durante chamadas de ferramenta individuais ou chamadas de modelo, ainda não está disponível.