3.0 KiB
3.0 KiB
Scheduled Tasks - heartbeaty i swepy
#sympozium #agenty #scheduling
Koncepcja
Sympozium traktuje agentów jak CronJob'y - mogą być uruchamiane cyklicznie bez interwencji użytkownika. To enabler dla scenariuszy DevOps/SRE.
Typy scheduli
| Typ | Cel | Typowy interwał | Przykład |
|---|---|---|---|
| heartbeat | Regularne sprawdzanie stanu | 5-30 min | "Sprawdź czy wszystkie pody są healthy" |
| scheduled | Zaplanowane zadania | 1-24h | "Poranny raport z kosztów klastra" |
| sweep | Przeglądy i cleanup | 1-7 dni | "Znajdź i zgłoś nieużywane PVC" |
Self-scheduling
Wyjątkowa cecha: agenty mogą same zarządzać swoimi schedulami:
Agent dostaje task: "Monitor klaster"
↓
Agent decyduje: "Powinienem sprawdzać co 15 minut"
↓
Agent wywołuje tool: schedule_task(
action: "create",
schedule: "*/15 * * * *",
task: "Sprawdź stan podów w namespace production"
)
↓
/ipc/schedules/create.json → IPC Bridge → NATS: schedule.upsert
↓
Schedule Router → tworzy SympoziumSchedule CRD
↓
SympoziumSchedule Controller → tworzy AgentRun co 15 min
Agent może też: update, suspend, resume, delete swoje schedules.
Concurrency control
spec:
concurrencyPolicy: Forbid # Nie twórz nowego jeśli poprzedni działa
| Polityka | Zachowanie | Use case |
|---|---|---|
| Forbid | Pomiń trigger jeśli run active | Health checks (nie chcemy pile-up) |
| Allow | Twórz nowy niezależnie | Niezależne analizy |
| Replace | Anuluj stary, twórz nowy | Real-time monitoring |
Memory context
spec:
includeMemory: true # Inject MEMORY.md do każdego runu
Dzięki temu scheduled run:
- Czyta pamięć z poprzednich runów
- Kontynuuje od miejsca gdzie skończył
- Buduje kontekst między uruchomieniami
Przykład: agent monitorujący w heartbeat co 30 min:
- Run 1: "Wykryłem 3 restarty poda X"
- Memory: "Pod X ma problem z restartami (3 do tej pory)"
- Run 2: "Pamięć mówi o restartach poda X. Sprawdzam - już 7 restartów. Eskalaruję."
Przykład z PersonaPack
personas:
- name: sre-watchdog
schedule:
type: heartbeat
interval: "5m"
task: |
Check cluster health:
- Pod restarts > 3
- Node conditions
- PVC usage > 80%
Report and create issues for anomalies.
memory:
enabled: true
seeds:
- "Track repeated issues for trend analysis"
- "Escalate if same issue persists > 3 checks"
Architektoniczne znaczenie
Scheduled tasks transformują Sympozium z "narzędzia do chatowania z AI" w autonomiczną platformę operacyjną:
- Agenty działają 24/7 bez ludzkiej interwencji
- Budują pamięć i kontekst
- Mogą eskalować do ludzi (via kanały)
- Mogą same modyfikować swoje harmonogramy
To "sel-healing infrastructure" driven by AI.
Powiązane: SympoziumSchedule | Persistent Memory | PersonaPacks - zespoły agentów