Files
obsidian-sympozium/04-Zarządzanie-Agentami/Scheduled Tasks - heartbeaty i swepy.md
2026-03-25 00:05:57 +01:00

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:

  1. Czyta pamięć z poprzednich runów
  2. Kontynuuje od miejsca gdzie skończył
  3. 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