In OpenClaw, the standard way to build a multi-agent workflow is to create a completely new workspace for every new agent.
If you want a social media agent, you create a social media workspace. If you want an engineering agent, you create an engineering workspace.
This multi-workspace architecture keeps the agents perfectly isolated. But if you are a solo operator running multiple projects, it introduces a massive pain point: You are constantly switching environments, and your agents can't easily share a ground truth.
For months, I tried to bypass this by running all my projects through a single OpenClaw workspace and bloating my global system prompt (AGENTS.md) with rules for every startup I was running.
The result? A massive "Context Bloat" wall.
My agent's startup context hit 27,000 tokens. The agent spent 20 seconds just "reading its own brain" before it could answer a simple prompt. Engineering logic was bleeding into my social media drafts.
I wanted the project isolation of a multi-workspace setup, but I absolutely refused to manage the overhead of multiple environments.
Here is how I engineered my single OpenClaw workspace to act as a multi-agent environment — and cut my context bloat by 85%.
1. Gutting the Root Config
Most people stuff all their project rules into the global AGENTS.md file. Don't.
I stripped my global system prompt down to only the bare essentials: voice, formatting rules, and universal constraints. It acts purely as a baseline router.
More importantly, I completely deleted the global MEMORY.md file. There is no longer a single, massive file trying to hold the state of every project I am working on.
2. Channel-Level Identity Injection
If there is no global memory, how does the agent know what project it is working on?
Instead of relying on the global workspace config, I hard-coded project isolation into the chat environment itself using OpenClaw's Discord channel configuration.
I mapped specific Discord channels to specific project roles:
"1478382862150664344": {
"systemPrompt": "You are the social media agent in #social-media. Focus exclusively on LinkedIn-to-Substack growth. Stay in the memory/social_media/ folder.\nStartup: read memory/social_media/YYYY-MM-DD.md (today) and memory/social_media/MEMORY.md.",
"skills": ["linkedin-content-writing", "nano-banana-pro"]
}
The agent is now "born" with its project identity based purely on where I talk to it. It is the social media agent when I message it in #social-media, and it is the engineering agent when I message it in #engineering.
3. Segregated Memory Folders
Notice the startup instructions in the JSON snippet above.
Because the global MEMORY.md is gone, I created dedicated memory folders inside the single workspace (e.g., memory/social_media/). When I open the #social-media channel, the agent boots up and only reads:
- The active daily log for that specific project (
YYYY-MM-DD.md) - The channel's scoped, project-specific
MEMORY.md
My engineering agent is completely blind to my social media drafts, achieving the exact isolation of a multi-workspace setup without leaving the single environment.
4. Slicing the Tool Tax
If you give an OpenClaw agent 50 tools globally, it wastes massive amounts of context just keeping those JSON schemas in its head.
I moved to a minimal global profile (tools.profile: "coding") and inject specialized tools only when the agent is in the relevant channel (notice the "skills" array above).
The Human Interface: The Obsidian Symlink
Isolation in the agent's mind is useless if it's a mess for the human.
I recursively symlinked my single OpenClaw workspace directly into my Obsidian Vault:
ln -s ~/.openclaw/workspace/memory/ ~/Documents/Obsidian\ Vault/Coke/memory/
If I am working on my social media project in Obsidian, the agent is working in the exact same memory/social_media/ folder via Discord. We are editing the exact same files in real-time.
The Result
By engineering the environment instead of just "prompting harder," I achieved the perfect multi-agent setup:
- Zero Context Bleed: My startups stay in their own clean rooms.
- Minimal Setup: One workspace, one agent, infinite hats.
- Extreme Speed: Startup context slashed from 27,000 down to 4,000 tokens — an 85% drop.
You don't need the overhead of multiple OpenClaw workspaces to build a multi-agent system. You just need a cleanly engineered single environment.
Top comments (0)