Condividi tramite


Mattoni dell'agente: attività dell'agente supervisore con esecuzione prolungata

Questa pagina illustra come gestire le attività a esecuzione prolungata usando la continuazione delle attività con Agent Brick: 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, Playground gestisce automaticamente la continuazione delle attività. Quando l'agente richiede più tempo, Playground invia la risposta di continuazione per conto dell'utente. Viene visualizzata una singola conversazione ininterrotta.

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.