How is Bigwave different from LangGraph / Autogen / CrewAI / OpenAI Assistants?
For the full claim-checked comparison doc, see Positioning — Bigwave vs adjacents.
Bigwave is an agent harness — the deterministic rails between an LLM and production. It is self-hosted, every layer is swappable, and evals gate which prompt/model versions are promoted.
It is not trying to be the broadest connector hub or the easiest no-code builder. If that is what you need, one of the adjacent frameworks below is probably the better pick.
TL;DR
| Bigwave | LangGraph | Autogen | CrewAI | OpenAI Assistants | |
|---|---|---|---|---|---|
| Eval gate refuses regressed deploys | ✓ | ✗ | ✗ | ✗ | ✗ |
| Audit log + workspace isolation | ✓ | ✗ | ✗ | ✗ | ✗ |
| Self-hosted by default | ✓ | ✓ | ✓ | ✓ | ✗ |
| OpenAI-compatible API server | ✓ | ✗ | ✗ | ✗ | ✓ |
| Anthropic-compatible API server | ✓ | ✗ | ✗ | ✗ | ✗ |
| Deterministic guardrails | ✓ | ✗ | ✗ | ✗ | partial |
| Fine-tuning / DPO in the loop | ✓ | ✗ | ✗ | ✗ | ✗ |
| Pre-built connector ecosystem | minimal | very large | medium | medium | OpenAI only |
| Multi-agent conversation patterns | minimal | strong | strong | medium | ✗ |
| License | MIT / Apache-2.0 | MIT | MIT | MIT | proprietary |
One-line positioning
LangGraph — you want the biggest connector ecosystem and a mature graph DSL.
Autogen — your problem genuinely needs multiple agents conversing.
CrewAI — you want a role/crew mental model and fast first demo.
OpenAI Assistants — you want zero infra and you are all-in on OpenAI.
Bigwave — you are building for production operators who need every layer swappable, evals in the loop, and an auditable self-hosted harness.
What sets Bigwave apart
Eval gate that actually binds
Most eval suites produce a number that a human reviews and then ignores. Bigwave's gate is wired into ReplicaManager.activate — the activation route cannot return success without the gate's allow. There is no "we ran the eval but shipped anyway" path. When a candidate regresses below the baseline Wilson lower bound, the old handle stays live and the audit log records exactly why the swap was blocked.
See Eval-as-a-gate for the full walkthrough.
Swappable at every layer
Every axis is an abstract base class with multiple in-tree adapters:
| Axis | What it controls |
|---|---|
ServingEngine | Which local model server runs (Ollama, vLLM, llama.cpp, …) |
StorageBackend | SQLite vs Postgres |
TrainingBackend | unsloth / axolotl / llama_factory / raw PEFT |
EvalScorer | exact_match / trajectory_match / llm_judge / drift detector |
GuardrailProvider | noop / DSL policy / LlamaGuard |
ObservabilityBackend | stdout / Phoenix |
Switching adapters is a config change — never a refactor of existing wiring.
Workspace fence + audit log
Every agent action is logged to an append-only audit row. Agent A cannot read or write outside its workspace. Every inference log row is linked to the OTel trace tree and accessible from /admin/audit.
See Workspace fence for details.
Closed feedback loop
Chat → feedback → preference data → DPO fine-tuning → eval → promote. All of this runs inside the harness as one capability among many. No external training pipeline to wire up.
Third-party framework compatibility
LangGraph runners, DSPy graphs, and Pydantic AI agents can bypass /v1/agent-sessions entirely and treat Bigwave purely as the OpenAI- and Anthropic-compatible serving + eval + audit substrate they ride on top of. Both shapes are first-class.
Honest weaknesses
- Connector breadth: LangChain has significantly more pre-built integrations.
- Multi-agent conversation: Autogen's group-chat patterns are more developed.
- Managed cloud: Bigwave is self-hosted only today.
- Community size: all four adjacent projects have larger communities.
Full comparison, including "when they are the right pick" framing, lives in Positioning — Bigwave vs adjacents.