Files
obsidian-sympozium/04-Zarządzanie-Agentami/Sub-agenty i hierarchia.md
2026-03-25 00:05:57 +01:00

2.0 KiB

Sub-agenty i hierarchia

#sympozium #agenty #sub-agents

Koncepcja

Sympozium wspiera hierarchiczne spawning sub-agentów - agent może tworzyć kolejne AgentRun CRs, które stają się jego "dziećmi".

Konfiguracja

# W SympoziumInstance
spec:
  agents:
    default:
      subagents:
        maxDepth: 2              # Max zagnieżdżenie (parent → child → grandchild)
        maxConcurrent: 5         # Max równoległych agent runów w drzewie
        maxChildrenPerAgent: 3   # Max dzieci per agent

Mechanizm

Parent AgentRun
  ├── spec.parent: null
  ├── Tworzy child AgentRun:
  │   spec:
  │     parent:
  │       runName: parent-run
  │       sessionKey: parent-session
  │       spawnDepth: 1
  │   ↓
  │   └── Child AgentRun
  │       ├── Tworzy grandchild:
  │       │   spec.parent.spawnDepth: 2
  │       │   ↓
  │       │   └── Grandchild AgentRun
  │       │       └── maxDepth=2 → NIE może tworzyć dalej
  │       └── Child może mieć max 3 siblings (maxChildrenPerAgent)
  └── Parent czeka na wyniki children

Policy enforcement

SubagentPolicySpec w SympoziumPolicy enforcuje limity:

  • maxDepth: 3 - admission webhook odrzuca AgentRun z spawnDepth > 3
  • maxConcurrent: 5 - controller sprawdza ile runów jest aktywnych

Use case

Sub-agenty umożliwiają divide-and-conquer workflows:

"Zoptymalizuj klaster" (parent)
  ├── "Sprawdź zużycie CPU per namespace" (child 1)
  ├── "Sprawdź zużycie pamięci per namespace" (child 2)
  └── "Sprawdź nieużywane PVC" (child 3)

Każdy child to osobny Job z własnym RBAC, izolacją i lifecycle.

Śledzenie

Env var SPAWN_DEPTH mówi agentowi na jakiej głębokości jest. Agent może podejmować decyzje na tej podstawie (np. nie tworzyć sub-agentów jeśli jest już głęboko).


Powiązane: AgentRun | SympoziumPolicy | Model efemerycznych agentów