Freigeben über


Agent Bricks: Supervisor Agent langlaufende Aufgaben

Auf dieser Seite wird erläutert, wie Lange ausgeführte Aufgaben mithilfe der Aufgabenfortsetzung mit Agent Bricks: Supervisor Agent behandelt werden.

Wenn ein Supervisor-Agent an komplexen Aufgaben arbeitet, die viele Toolaufrufe erfordern, benötigt die Aufgabe möglicherweise mehr Zeit als eine einzelne API-Anforderung zulässt. Um dies zu bewältigen, unterstützt der Vorgesetzte den lang laufenden Aufgabenmodus, der lange Aufgaben automatisch in mehrere Anforderungs-/Antwortzyklen aufbricht, damit der Agent ohne Zeitüberschreitung weiterarbeiten kann.

So funktioniert es

  1. Der Vorgesetzte beginnt bei Bedarf mit der Verarbeitung Ihrer Anfrage, dem Aufrufen von Tools und Gründen.
  2. Bevor die Anforderung aufgrund einer Zeitüberschreitung abläuft, hält der Supervisor die Ausführung an und gibt ein task_continue_request Ereignis in der Streaming-Antwort aus.
  3. Um die Aufgabe fortzusetzen, sendet Ihre Anwendung eine Nachverfolgungsanforderung, die sowohl die task_continue_request als auch eine entsprechende task_continue_responseenthält.
  4. Der Vorgesetzte nimmt dort auf, wo er aufgehört hat, und arbeitet weiter. Dieser Zyklus wird nach Bedarf wiederholt, bis der Vorgang abgeschlossen ist.

Verwenden Sie langfristige Aufgaben im Playground

In AI Playground behandelt Playground automatisch die Aufgabenfortsetzung. Wenn der Agent mehr Zeit benötigt, sendet Playground die Fortsetzungsantwort in Ihrem Auftrag. Sie sehen eine einzelne, unterbrechungsfreie Unterhaltung.

Fortsetzung von Aufgaben in der API behandeln

Um lange laufende Aufgaben zu ermöglichen, fügen Sie "long_task": true in die databricks_options Ihrer Anforderung ein:

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

Wenn Sie die Streaming-API direkt verwenden, muss Ihre Anwendung Ereignisse erkennen task_continue_request und eine Nachverfolgungsanforderung senden, um die Aufgabe fortzusetzen.

Erkennen des Prüfpunktereignisses in der Streamingantwort

Der Supervisor gibt ein Ereignis wie das folgende aus, wenn er fortfahren muss:

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

Das step Feld gibt die Gesamtzahl der bisher abgeschlossenen Toolaufrufschritte an.

Eine Folgeanfrage zum Fortsetzen senden

Schließen Sie das Original task_continue_request und ein passendes task_continue_response in die Nachrichten Ihrer nächsten Anfrage ein:

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

Die continue_request_id muss mit dem id des task_continue_request übereinstimmen.

Bekannte Einschränkungen

  • Wenn ein einzelner Toolaufruf oder Modellaufruf länger als das API-Timeout dauert, kann die Anfrage dennoch ablaufen, da der Fortsetzungsprüfpunkt nur zwischen den Schritten ausgelöst werden kann.
  • Die vollständige Unterstützung für langlaufende Agents, einschließlich Timeouts bei einzelnen Tool- oder Modellaufrufen, ist noch nicht verfügbar.