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
- O supervisor começará a processar sua solicitação, utilizando ferramentas e raciocínio 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 o
task_continue_requeste umtask_continue_responsecorrespondente. - 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:
{
"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:
{
"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:
{
"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.