KI-Agenten

Multi-Tool-Orchestrierung mit Langzeitgedächtnis, über mehrere Konversationsrunden hinweg.

Ein Agent verwaltet den Zustand einer Konversation serverseitig: Er ruft das Modell auf, führt automatisch seine integrierten Tools aus (Gedächtnis) und gibt die Kontrolle erst an Sie zurück, wenn eine endgültige Antwort vorliegt oder ein von Ihnen definiertes Tool ausgeführt werden muss.

Eine Konversation erstellen

http
POST /v1/agents/conversations
json
{
  "model": null,
  "routing_strategy": "auto",
  "system_prompt": "Tu es un assistant utile et concis.",
  "tools": []
}

tools deklariert Ihre eigenen benutzerdefinierten Tools (siehe unten) — integrierte Tools (Gedächtnis, Videogenerierung) sind immer verfügbar, ohne deklariert werden zu müssen.

Eine Nachricht senden

http
POST /v1/agents/conversations/{id}/messages
json
{ "content": "Retiens que mon fournisseur prefere est Anthropic." }

Die Antwort ist immer der vollständige Zustand der Konversation:

json
{
  "id": "1a63c0df-...",
  "model": null,
  "routing_strategy": "auto",
  "status": "idle",
  "messages": [
    { "id": "...", "role": "user", "content": "Retiens que mon fournisseur prefere est Anthropic.", "tool_calls": null, "tool_call_id": null },
    { "id": "...", "role": "assistant", "content": "", "tool_calls": [{ "id": "call_1", "name": "remember", "arguments": { "content": "Fournisseur prefere : Anthropic" } }], "tool_call_id": null },
    { "id": "...", "role": "tool", "content": "Memoire enregistree (id=...)", "tool_call_id": "call_1" },
    { "id": "...", "role": "assistant", "content": "C'est note !", "tool_calls": null, "tool_call_id": null }
  ],
  "created_at": "...",
  "updated_at": "..."
}

status ist idle (bereit für eine neue Nachricht), requires_action (eines Ihrer benutzerdefinierten Tools wartet auf ein Ergebnis) oder generating_media (eine Videogenerierung läuft, siehe unten).

Integrierte Tools

  • search_memory — durchsucht das Langzeitgedächtnis des Agenten (Parameter query, optional top_k)
  • remember — speichert eine Information (Parameter content)
  • generate_video — startet eine Videogenerierung (gleiche Parameter wie POST /v1/video/generate: prompt, duration_seconds, narration_text, scenes — siehe den Leitfaden Video)

Diese drei Tools werden automatisch vom Server ausgeführt — Sie müssen nichts tun, die Konversation läuft von selbst weiter (außer bei generate_video, was die Konversation in generating_media versetzt, während der Job abgeschlossen wird; fragen Sie GET /v1/agents/conversations/{id} ab, bis idle erreicht ist).

Benutzerdefinierte Tools

Deklarieren Sie Ihre eigenen Tools bei der Erstellung der Konversation (tools). Wenn das Modell sie aufruft, wechselt der Status zu requires_action und die Konversation stoppt — es liegt an Ihnen, das Tool auszuführen und das Ergebnis zurückzusenden:

http
POST /v1/agents/conversations/{id}/tool-outputs
json
{
  "outputs": [
    { "tool_call_id": "call_2", "output": "18C, nuageux" }
  ]
}
POST .../messages liefert 409 conflict, wenn die Konversation nicht idle ist — warten Sie, bis ein ausstehendes Tool aufgelöst ist, bevor Sie eine neue Nachricht senden.

Auflisten / Anzeigen

bash
GET /v1/agents/conversations          # liste (resume, sans les messages)
GET /v1/agents/conversations/{id}      # detail complet