2.0 KiB
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 > 3maxConcurrent: 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