Liath for Multi-Agent Systems

Liath coordinates memory across multi-agent systems. Namespaces isolate memory per agent, tenant, or environment while all agents share one embedded engine, and a shared namespace can hold common context. Each agent writes its own sandboxed Lua retrieval strategy, and Liath can run as a library, CLI/TUI, HTTP server, or MCP server so agent frameworks connect through a standard protocol — giving many agents isolated, programmable memory without separate infrastructure per agent.

Best for: Multi-Agent

Memory for many agents, one engine

Multi-agent systems multiply the memory problem: every agent needs its own working memory, some context must be shared, and none of it should require standing up separate infrastructure per agent. Liath handles this with namespaces — isolated data contexts inside one embedded engine.

Isolation and sharing

Give each agent a private namespace so they never overwrite each other’s memory, and use a shared namespace for common context the whole system relies on. Because it is all one engine, coordination does not mean operating a fleet of memory services — just a single embedded dependency.

Per-agent retrieval strategies

Each agent writes its own sandboxed Lua program, so a planner, a researcher, and an executor can each use a different retrieval, filtering, and ranking strategy against the same store. The strategy travels with the agent, not the database.

Standard interfaces

Liath runs as an embedded library, CLI, TUI, HTTP server, or MCP server. The MCP server lets agent frameworks and AI assistants connect to Liath’s memory through a standard protocol, which makes it straightforward to wire memory into an existing multi-agent orchestration.

See AI agents for single-agent memory patterns and Liath vs Redis for how embedded memory compares to a shared networked store.

Frequently Asked Questions

How does Liath isolate memory between agents?

Liath supports namespaces, which isolate data per agent, tenant, or environment. Each agent can have its own namespace so agents don't overwrite each other's memory, while all sharing one embedded engine.

Can agents share memory too?

Yes. Because namespaces live in one engine, you can give each agent a private namespace and use a shared namespace for common context, then control access through the Lua programs each agent runs.

How do agents connect to Liath?

Liath can run as an embedded library, a CLI/TUI, an HTTP server, or an MCP server. The MCP server lets agent frameworks and AI assistants connect to Liath's memory through a standard protocol.

Does each agent get its own retrieval strategy?

Yes. Each agent writes its own sandboxed Lua program, so different agents can use different retrieval, filtering, and ranking strategies against the same engine.

Is running many agents on Liath heavy?

No. Liath is embedded and a single dependency, and namespaces let many agents share one engine instead of each running its own memory service.

Related Content

Give your agents programmable memory

Open source, MIT licensed. pip install liath or add the liath Rust crate.