initial commit

This commit is contained in:
2026-03-25 00:05:57 +01:00
commit 25c7d598ca
63 changed files with 5257 additions and 0 deletions

View File

@@ -0,0 +1,68 @@
# 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
```yaml
# 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]]