Why we built our own agent framework
Existing frameworks weren't enough. Here's what we needed and what we built.
We evaluated every major agent framework before deciding to build our own. LangChain, CrewAI, AutoGen, Semantic Kernel — each had strengths, but none solved the problem we were trying to solve.
What we needed
We needed agents that could: work in parallel across multiple repos, maintain episodic memory across sessions, enforce quality gates at every stage, and coordinate through a human-in-the-loop orchestrator. We needed the whole system to be observable — every decision visible, every action reversible.
What was missing
Existing frameworks are optimized for single-agent, single-task interactions. They don't handle multi-agent coordination well. They don't have opinions about quality enforcement. And they don't provide the observability layer needed for production use.
What we built
kill9's agent framework is built around three primitives: workflows (state machines with gates), worktrees (isolated execution environments), and memory (episodic + semantic, per-agent and shared). The orchestrator coordinates everything, and every action is logged, reversible, and auditable.
Open architecture
Despite building our own framework, kill9 is extensible. Skills and MCP servers let you connect any tool. BYOK means any model provider. The framework is opinionated about orchestration and quality, but open about everything else.