[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f2rd0yyeuht3wc":3},{"_id":4,"slug":5,"title":6,"subtitle":7,"kind":8,"cards":9,"tags":58,"categories":60,"source":62,"lang":65,"author":66,"audioState":69,"stats":70,"publishedAt":73,"renderer":74},"6ab9f8c1ca21c797c7e97335","single-responsibility-for-ai-agents-one-workspace-one-job-80487e09","Single Responsibility for AI Agents: One Workspace, One Job","You would never ship a God class that handles billing, email templates, database migrations and the marketing site.","news",[10,13,18,23,28,33,38,43,48,53],{"headline":6,"body":11,"imageUrl":12,"sourceImageUrl":12},"You would never ship a God class that handles billing, email templates, database migrations and the marketing site. So why do so many of us run exactly that as an AI agent?","https:\u002F\u002Fmedia2.dev.to\u002Fdynamic\u002Fimage\u002Fwidth=1200,height=627,fit=cover,gravity=auto,format=auto\u002Fhttps%3A%2F%2Fagentrq.com%2Fassets%2Fblog%2Fisolated-single-purpose-workspaces-og.png",{"headline":14,"body":15,"imageUrl":16,"images":17},"I did, for months. One agent, one workspace","I did, for months. One agent, one workspace, every repository, every note I had ever written, and a mission description trying to cover a whole company. It was never bad. It was never great at anything either. It wrote landing page copy in the tone of a commit message. It suggested a database migration in the middle of a blog post. It applied a rule from one project to another where that rule was flat-out wrong.","\u002Fapi\u002Fmedia\u002Fposts\u002Fsingle-responsibility-for-ai-agents-one-workspace-one-job-80487e09\u002F1.webp",{"local":16},{"headline":19,"body":20,"imageUrl":21,"images":22},"So I refactored it the way I would","So I refactored it the way I would refactor code: one workspace, one job. This post covers what that means in practice, the two reasons it works, how isolated agents still collaborate (pub\u002Fsub, not DMs), and the places where I think you should disagree with me. An AI agent's memory is only useful if every note in it is true for every task it runs. Mixing jobs breaks that.","\u002Fapi\u002Fmedia\u002Fposts\u002Fsingle-responsibility-for-ai-agents-one-workspace-one-job-80487e09\u002F2.webp",{"local":21},{"headline":24,"body":25,"imageUrl":26,"images":27},"Everything an agent loads at the start of","Everything an agent loads at the start of a task, it pays for on every turn. A narrow job means a small starting context.","\u002Fapi\u002Fmedia\u002Fposts\u002Fsingle-responsibility-for-ai-agents-one-workspace-one-job-80487e09\u002F3.webp",{"local":26},{"headline":29,"body":30,"imageUrl":31,"images":32},"Isolated workspaces coordinate through events (publish\u002Fsubscribe) and one","Isolated workspaces coordinate through events (publish\u002Fsubscribe) and one supervisor agent, never agent-to-agent messages. Split where the knowledge diverges, not where the task names differ. What is an isolated, single-purpose AI agent workspace?","\u002Fapi\u002Fmedia\u002Fposts\u002Fsingle-responsibility-for-ai-agents-one-workspace-one-job-80487e09\u002F4.webp",{"local":31},{"headline":34,"body":35,"imageUrl":36,"images":37},"I build AgentRQ, so that is the vocabulary","I build AgentRQ, so that is the vocabulary I will use, but the idea is tool-agnostic. A workspace is the unit an agent connects to. It holds: a mission the agent reads when it starts a task, a task board with the history of every job, a memory the agent reads and writes (loadMemory \u002F saveMemory over MCP), a set of skills it can search and load.","\u002Fapi\u002Fmedia\u002Fposts\u002Fsingle-responsibility-for-ai-agents-one-workspace-one-job-80487e09\u002F5.webp",{"local":36},{"headline":39,"body":40,"imageUrl":41,"images":42},"\"Single-purpose\" is just a discipline on top: one","\"Single-purpose\" is just a discipline on top: one workspace, one definition of done. Not \"engineering\". Something closer to \"the static marketing site and its SEO content.\" If you can't describe success in one sentence, the scope is too wide.","\u002Fapi\u002Fmedia\u002Fposts\u002Fsingle-responsibility-for-ai-agents-one-workspace-one-job-80487e09\u002F6.webp",{"local":41},{"headline":44,"body":45,"imageUrl":46,"images":47},"Today I run a handful: static site, core","Today I run a handful: static site, core app, QA, support, social, outreach. They don't know about each other. That is the point. Why does a shared workspace make AI agent memory go bad? This is the part I underestimated most.","\u002Fapi\u002Fmedia\u002Fposts\u002Fsingle-responsibility-for-ai-agents-one-workspace-one-job-80487e09\u002F7.webp",{"local":46},{"headline":49,"body":50,"imageUrl":51,"images":52},"Agent memory rots in a specific way when","Agent memory rots in a specific way when jobs share it: a lesson that is true in one context gets applied in another where it is false.","\u002Fapi\u002Fmedia\u002Fposts\u002Fsingle-responsibility-for-ai-agents-one-workspace-one-job-80487e09\u002F8.webp",{"local":51},{"headline":54,"body":55,"imageUrl":56,"images":57},"Put both in one pile and the agent","Put both in one pile and the agent has to guess which rules apply, on every task. Sometimes it guesses wrong, confidently. It's the agent equivalent of a global mutable config shared between services.","\u002Fapi\u002Fmedia\u002Fposts\u002Fsingle-responsibility-for-ai-agents-one-workspace-one-job-80487e09\u002F9.webp",{"local":56},[59],"dev",[61],"Technology",{"name":63,"url":64},"Dev.to","https:\u002F\u002Fdev.to\u002Fagentrq\u002Fsingle-responsibility-for-ai-agents-one-workspace-one-job-3532","en",{"handle":67,"displayName":68},"spots","Spots","queued",{"views":71,"likes":72,"saves":72,"shares":72,"completions":72,"opens":72,"skips":72,"depthSum":72},5,0,"2026-09-28T05:18:57.245Z","local"]