Attività a lungo termine dell'agente supervisore

Warning

Supervisor Agent è un'offerta legacy e non è raccomandata per i nuovi sistemi. Per i nuovi agenti low-code, usa Genie Agents. Per coordinare più agenti nel codice, usa la CLI di Agent Bricks. Vedi offerte per agenti legacy.

Questa pagina illustra come gestire le attività a esecuzione prolungata usando la continuazione delle attività con Supervisor Agent.

Quando un agente supervisore funziona su attività complesse che richiedono molte chiamate di strumenti, l'attività potrebbe richiedere più tempo rispetto a una singola richiesta API consentita. Per gestire questo problema, il supervisore supporta la modalità attività a esecuzione prolungata, che suddivide automaticamente le attività lunghe in più cicli di richiesta/risposta in modo che l'agente possa continuare a funzionare senza timeout.

Come funziona

  1. Il supervisore inizia a elaborare la tua richiesta, chiama strumenti e ragiona quando necessario.
  2. Prima del timeout della richiesta, il supervisore sospende l'esecuzione e genera un task_continue_request evento nella risposta di streaming.
  3. Per riprendere l'attività, l'applicazione invia una richiesta di completamento che include sia l'oggetto task_continue_request che un oggetto corrispondente task_continue_response.
  4. Il supervisore riprende dove si è interrotto e continua a lavorare. Questo ciclo viene ripetuto in base alle esigenze fino al completamento dell'attività.

Usare attività a esecuzione prolungata in Playground

In AI Playground, l'agente si ferma quando raggiunge il limite e un messaggio nell'interfaccia utente chiede cosa vuoi fare dopo. Digita continue per continuare l'elaborazione o wrap up per terminare l'attività.

Gestire la continuazione delle attività nell'API

Per abilitare le attività a esecuzione prolungata, includere "long_task": true nella databricks_options richiesta:

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

Quando si usa direttamente l'API di streaming, l'applicazione deve rilevare task_continue_request gli eventi e inviare una richiesta di completamento per continuare l'attività.

Rilevare l'evento del checkpoint nella risposta in streaming

Il supervisore genera un evento simile al seguente quando deve continuare:

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

Il step campo indica il numero totale di passaggi di chiamata dello strumento completati finora.

Inviare una richiesta di completamento per riprendere

Includere l'originale task_continue_request e il corrispondente task_continue_response nei messaggi della richiesta successiva:

{
  "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
}

L'oggetto continue_request_id deve corrispondere a id da task_continue_request.

Limitazioni note

  • Se una singola chiamata allo strumento o una chiamata al modello viene eseguita più a lungo del timeout dell'API, la richiesta potrebbe ancora scadere perché il checkpoint di continuazione può essere attivato solo tra i passaggi.
  • Il supporto completo dell'agente a lungo termine, inclusi i timeout durante le chiamate a singoli strumenti o chiamate al modello, non è ancora disponibile.