Skep
Space as the agent's workspace.
Most LLM agents live in time. Every tool call, observation, and stray thought is appended to one ever-growing transcript. The agent's memory is a timeline that only gets longer; its attention is "everything that has happened, in order." Nothing else works this way — no human carries every pixel of every page they've ever read. They carry the gist, and they move on.
Skep gives the agent space instead.
A bee is somewhere — inside a cell, a room that renders what's there and offers a few actions. The bee sees that room, its goal, and what its scouts brought back — not the world's transcript. To go deeper it doesn't grow a log; it sends another bee into another cell. The run isn't a timeline. It's a comb the bees build as they go.
The default agent remembers everything and goes nowhere. A skep agent holds a small, local view — and moves.
Why the shift matters
The dominant variable in agent performance is the interface — what gets painted into the model's context each turn — not raw model smarts. Treating the workspace as space makes that interface deliberate:
- Context stays small and local. A bee sees its current cell, its path back to the queen, and the results its own children returned. Not the whole history — exactly a function's view of its own call chain.
- Parallelism is free. Sibling bees explore different cells, blind to each other. There is no shared blackboard to corrupt; isolation falls out of the model rather than being bolted on.
- Distillation is the default. A bee finishes by resolving with a result — a takeaway — not a transcript. The detail stays in the cell; only the answer travels up the comb.
The whole model, on one page
There is one actor: the bee. It carries a goal, a mind (its policy: decide observation → action), and a set of keys. The queen is just the root bee.
import { skep, registerCell } from "@syntropy-systems/skep";
import { llmMind } from "@syntropy-systems/skep/agents/llm";
const hive = skep({
cells: [registerCell(mailbox, { name: "support" }, { as: "scout" })],
mind: llmMind(),
});
const comb = await hive.run("find the thread where the customer threatened to churn");
comb.result; // the takeaway: { outcome, summary }
comb.queen.children; // the tree of bees that wove it
- Cell — a reusable room: renders content, offers lock-gated actions.
- Bee — an actor in a cell, pursuing a goal; it can spawn child bees into other cells.
- Mind — one method,
decide; the bee's policy.llmMind()is a ready-made one. - Comb — what a run weaves: the queen and her tree of bees.
resolve is injected into every cell, so a bee can always finish. The package has zero
runtime dependencies.
Next
- Getting started — install it and run your first skep.
- The model — bees, cells, minds, locks & keys, and the comb in depth.