EN·ES·DE·PT·FR
⌘K

Event Sourcing

Jede Agent-Aktion wird als unveränderliches Event aufgezeichnet. Events sind die einzige Wahrheitsquelle dafür, was während einer Sitzung passiert ist.

Event-Typen

Das System verfolgt 16 Event-Typen in 6 Kategorien:

KategorieEvent-TypBeschreibung
SessionSessionStartNeue Gesprächssitzung beginnt
SessionEndSitzung beendet
ConversationUserMessageBenutzer sendet eine Nachricht
AssistantResponseAgent sendet eine Antwort
ToolsToolCallAgent ruft ein Tool auf
ToolResultTool-Ausführung abgeschlossen
ThinkingThinkingStartAgent beginnt zu denken
TasksTaskStartAgent beginnt eine Aufgabe
TaskEndAufgabe abgeschlossen (mit Status)
ErrorsErrorFehler während der Verarbeitung
Sub-AgentsSubAgentSpawnSub-Agent wird gestartet
SubAgentCompleteSub-Agent ist fertig
ApprovalsApprovalRequestedAnfrage zur Befehlsgenehmigung gesendet
ApprovalGrantedBenutzer hat einen Befehl genehmigt
ApprovalDeniedBenutzer hat einen Befehl abgelehnt

Event-Struktur

rust
struct Event {
    id: i64,              // Auto-incrementing ID
    session_id: String,   // Session identifier
    event_type: EventType,// One of the 16 types above
    data: JsonValue,      // Event-specific payload
    created_at: DateTime, // Timestamp
    consolidated_at: Option<DateTime>, // When processed
    task_id: Option<String>,   // Associated goal/task run
    tool_name: Option<String>, // For tool events
}

Tägliche Konsolidierung

Eine Hintergrundaufgabe läuft täglich um 3:00 Uhr UTC und verarbeitet nicht konsolidierte Events:

  1. Faktenextraktion — das LLM analysiert Event-Sequenzen, um dauerhafte Fakten zu extrahieren
  2. Prozedurlernen — wiederholte Tool-Aufruf-Muster werden als Prozeduren erfasst
  3. Fehlerlösungsverfolgung — Fehler und ihre Lösungen werden für zukünftiges Debugging gepaart

Nach der Verarbeitung werden Events mit einem consolidated_at-Zeitstempel markiert.

Sitzungskontext

Das Event-System liefert eine Sitzungszusammenfassung für den LLM-Kontext, die verwendete Tools, aufgetretene Fehler, erteilte/verweigerte Genehmigungen und Sub-Agent-Aktivität umfasst.

Event-Bereinigung

Eine Hintergrundaufgabe läuft um 3:30 Uhr UTC und entfernt Events, die älter als die Aufbewahrungsfrist sind (Standard 30 Tage).

Unveränderlichkeit
Events sind nur zum Anhängen bestimmt (append-only). Das Feld consolidated_at ist das einzige Feld, das nach der Erstellung jemals aktualisiert wird.