Files
obsidian-sympozium/07-Porównania/Sympozium vs frameworki in-process.md
2026-03-25 00:05:57 +01:00

3.5 KiB

Sympozium vs frameworki in-process

#sympozium #porównanie #langchain #crewai

Kontekst

Frameworki in-process (LangChain, CrewAI, AutoGen, LlamaIndex) uruchamiają agentów w jednym procesie. Sympozium reprezentuje podejście "infrastructure-native".

Porównanie architektoniczne

Aspekt In-process frameworks Sympozium (K8s-native)
Wykonanie agenta Shared memory, single process Ephemeral Pod per invocation
Orkiestracja In-process registry + queue CRD-based + controller reconciliation
Sandbox Docker sidecar (long-lived) Pod SecurityContext + Agent Sandbox
IPC In-process EventEmitter Filesystem sidecar + NATS JetStream
Tool gating In-process pipeline Admission webhooks + SympoziumPolicy
Persistent memory Files on disk SQLite + FTS5 na PVC
Scheduled tasks Cron jobs / external SympoziumSchedule CRD
State SQLite + flat files etcd + PostgreSQL
Multi-tenancy Single-instance file lock Namespaced CRDs + RBAC
Scaling Vertical only Horizontal - stateless control plane
Channels In-process per channel Dedicated Deployment per channel
External tools Plugin SDKs MCPServer CRD + auto-discovery
Observability Application logs kubectl, OTel, TUI, Web UI

Dlaczego "infrastructure-native"?

Sympozium nie implementuje orkiestracji w kodzie aplikacji. Zamiast tego mapuje koncepty agentowe na prymitywy Kubernetes:

LangChain concept     →  Sympozium concept    →  K8s primitive
─────────────────────────────────────────────────────────────
Agent                 →  AgentRun              →  Job/Pod
Tool                  →  SkillPack sidecar     →  Container + RBAC
Memory                →  Memory server         →  Deployment + PVC
Chain                 →  Sub-agents            →  Parent-child Jobs
Guard rail            →  SympoziumPolicy       →  Admission Webhook
Scheduler             →  SympoziumSchedule     →  CRD + Controller
Callback handler      →  NATS events           →  JetStream pub/sub
Vector store          →  SQLite FTS5           →  PVC-backed DB

Analiza trade-offs

Complexity

  • In-process: Prosty pip install, kilka linii Pythona
  • Sympozium: K8s cluster, Helm install, CRDs, controllers

Flexibility

  • In-process: Dowolny Python code, łatwe prototyping
  • Sympozium: Deklaratywny YAML, ograniczony do tego co CRDs oferują

Production readiness

  • In-process: Trzeba samemu zbudować izolację, scaling, monitoring
  • Sympozium: Built-in isolation, scaling, monitoring, multi-tenancy

Debugging

  • In-process: Standard Python debugger, print statements
  • Sympozium: kubectl logs, OTel traces, TUI, CRD status

Kiedy co?

Scenariusz In-process Sympozium
Prototyping Idealne Overkill
Single developer Idealne Za dużo overhead
Production multi-tenant Trudne Idealne
Cluster operations Niebezpieczne Bezpieczne
Scheduled automation Wymaga dodatkowej infra Built-in
Compliance/audit Wymaga budowy Native

Powiązane: Sympozium vs kagent | Kluczowe decyzje projektowe | Model efemerycznych agentów