{
  "id": 18079391,
  "title": "How to Build a Super-Agent Like DeepSeek's: Router, Workers and Triggers Explained",
  "url": "https://urgent.news/2026/11/04/how-to-build-a-super-agent-like-deepseeks-router-workers-and-triggers",
  "topic": "ai",
  "section": "AI",
  "published": "2026-11-04T06:41:52.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/hassann/how-to-build-a-super-agent-like-deepseeks-router-workers-and-triggers-explained-5d18"
  },
  "original_language": "en",
  "account": "To create a super-agent like DeepSeek Harness, you need to build two main components: a Router and multiple Workers. Here's a step-by-step guide:\n\n1. Split the Router from the Workers\n- The Router remains a single long-lived session that handles all human interaction and dispatches tasks, while Workers run isolated tasks with full tools.\n- The Router can operate with a lighter, cheaper model and can batch multiple Triggers into one call to improve efficiency.\n\n2. Turn events into Triggers\n- Triggers are inputs to the super-agent, such as chat messages, GitHub webhook events, Slack API payloads, or CI notifications.\n- Implement a two-pass filtering system: a fast path using in-code filtering based on source, group, and user/allowlists, and a slow path with an LLM that applies policies written as prompts.\n- Acknowledge fast-triggered events promptly (e.g., with a 2XX status code) and queue the Triggers for later processing.\n\n3. Route follow-ups by Thread\n- Threads represent a series of consecutive events on a single issue, like a PR comment chain or email thread.\n- The Worker handling the first event of a Thread subscribes to it and receives all subsequent events directly, without requiring additional Router calls.\n- This approach improves efficiency and reduces the number of decisions made by the Router.\n\n4. Treat context as a cache and make tools async\n- The Router cannot hold all context, so treat context like a cache by inlining likely-needed information (IDs, summaries, neighboring messages) and spilling the rest with pointers.\n- Create a Chain of Recall, consisting of stable IDs on Triggers, Threads, and Workers, forming a reference graph that enables multi-hop recall without a large prompt.\n- Replace blocking tools with async start() and stop() functions, allowing the agent to take your next instruction while the previous task is still running.\n- Make replies channel-aware, setting limits (e.g., 100 words for IM replies) and enabling speculative execution by only confirming simple fixes when appropriate.\n\nThe source material is credited to DeepSeek Harness's design essay, \"Exploring Super-agent Design,\" which provides the architecture for building a super-agent. However, the implementation details provided here are not based on DeepSeek's code and are illustrative.",
  "summary": "To build a super-agent like the one DeepSeek Harness describes, split your agent into two layers: one long-lived Router session that talks to humans and dispatches work, and many isolated Worker sessions that each run one task with full tools. Feed both from event Triggers (chat, GitHub, CI), route follow-ups by Thread , and add a separate Watchdog that checks on everything. Try Apidog today This…",
  "key_points": [
    "Router remains a single long-lived session handling human interaction",
    "Workers run isolated tasks with full tools, separate from the Router",
    "Threads represent consecutive events on a single issue, improving efficiency"
  ],
  "editors_take": "Decoupling task routing from isolated worker execution allows developers to build scalable, efficient agents that manage complex event streams through asynchronous tools and optimized context management.",
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}