3.1 KiB
3.1 KiB
Sympozium vs kagent
#sympozium #porównanie #kagent
Fundamentalna różnica
| Sympozium | kagent | |
|---|---|---|
| Model wykonania | Ephemeral Pod (Job) per run | Persistent engine process |
| Optymalizuje dla | Izolacja, bezpieczeństwo, auditability | Niska latencja, konwersacja |
Szczegółowe porównanie
| Wymiar | Sympozium | kagent |
|---|---|---|
| Agent runtime | Ephemeral Pod (K8s Job) | Long-running engine (Python/Go ADK) |
| Tool isolation | Sidecar per skill + ephemeral RBAC | In-process (MCP client w engine) |
| Kernel sandbox | gVisor/Kata via agent-sandbox + warm pools | Brak |
| Multi-tenancy | Namespace-per-tenant, per-instance RBAC, webhooks | Namespace-scoped CRDs |
| Agent packaging | PersonaPacks (bundle personas+skills+schedules+memory) | Individual Agent CRDs |
| Persistent memory | SQLite + FTS5 na PVC | Vector-backed (in-engine) |
| Channels | Telegram, Slack, Discord, WhatsApp (dedykowane Deployments + NATS) | Slack, Discord (in-engine) |
| Scheduled runs | SympoziumSchedule CRD + concurrency policies | Brak |
| MCP | MCPServer CRD + auto-discovery + tool filtering + managed deploy | MCP tools as CRDs |
| Human-in-the-loop | SympoziumPolicy CRD (admission-time) | Tool-level approve/reject w UI |
Analiza: Tool Isolation
To najważniejsza różnica z perspektywy bezpieczeństwa.
kagent (in-process):
Engine process (z credentials)
↓
Tool call: kubectl get pods
↓
Wykonanie w tym samym procesie z tymi samymi credentials
Jeśli LLM "przekona" engine do złośliwego tool call → pełne uprawnienia engine'a.
Sympozium (sidecar):
Agent container (BEZ credentials K8s)
↓
Tool call: kubectl get pods
↓
/ipc/tools/cmd.json → IPC Bridge → NATS → Skill Sidecar
↓
Sidecar (z scoped, ephemeral RBAC: ONLY get pods)
Agent nigdy nie ma bezpośrednich credentials. Sidecar ma minimum wymaganych uprawnień.
Kiedy który?
Wybierz Sympozium gdy:
- Agenty wykonują cluster-admin operations (kubectl, helm, scaling)
- Multi-tenant environment (wiele zespołów, jeden klaster)
- Scheduled, unattended runs (nocne sweepy, triage alertów)
- Kanały poza Slack/Discord (Telegram, WhatsApp)
- Kernel-level sandboxing (untrusted agent code)
- Auditability i compliance requirements
Wybierz kagent gdy:
- Low-latency conversational agents (brak cold-start)
- Google ADK, CrewAI, LangGraph integration
- Single-tenant experimentation
- A2A (Agent-to-Agent) protocol support
- Lżejszy setup
Trade-off spectrum
Szybkość odpowiedzi ←─────────────────────────→ Izolacja/Bezpieczeństwo
kagent Sympozium
(persistent engine, (ephemeral pods,
fast responses, strong isolation,
shared process) per-run RBAC)
Powiązane: Model efemerycznych agentów | Skill Sidecars i auto-RBAC | Agent Sandbox - gVisor i Kata