murmur
← all posts

The Pharmakon of a Billion Capsules

A Billion Capsules Without Losing Our Agency.

“Each increase in artificial agency should produce a corresponding increase in human agency.”

As early as 2023, AI agents shifted from a niche idea to a mainstream bet on the future of work. The idea that every person could have one or more agents handling mundane and repetitive work suggested that we are heading toward a world with billions of agents. As exciting as that prospect is, it also leaves me with a lingering concern. What happens to our own agency if the primary goal becomes eliminating human effort?

Every major leap in computing has been a pharmakon, and artificial agency is unlikely to be any different. The question I keep coming back to is not whether we should build AI agents, but how we can design them so they remain more of a remedy than a poison.

Human agency is our ability to set goals, make informed judgments, choose, refuse, and ultimately remain responsible for our actions. AI systems are beginning to exhibit forms of agency of their own: they can reason, plan, and act on our behalf. But those capabilities are precisely what I believe humans should continue to cultivate rather than surrender. Agents can help clarify goals, expose trade-offs, and support decision-making. Thoughtful design can increase human competence instead of quietly replacing it through silent automation.

So the question I want Murmur to answer is simple: how do we ensure that every increase in artificial agency also expands human agency?

Rather than jumping straight into technical solutions, I first wanted to crystallize the design principles behind Murmur. They are not intended as a universal solution, but as a technical ideal that guides the system’s evolution. The principles below shaped the initial infrastructure layer for deploying agents. It’s what I call the capsule runtime environment emphasizing containment and openness. These principles will continue to guide the Murmur ecosystem as I envision it for as long as they remain useful.

Principles

  1. Control stays outside the model. The system enforces the manifest without asking the model to interpret its own limits.
  2. Off is the default. Nothing runs or reaches outside the system unless the operator allows it.
  3. Everything is declared in one manifest. There is no hidden behavior or second policy. Set the limits once without approving every step inside them.
  4. An execution can always be stopped. Every running system has a break the operator controls and the machine cannot override.
  5. Every action leaves a trace. The system records what ran, what it accessed and what it changed.
  6. Runs are reproducible. Pin every choice by version. What runs today runs the same way in the future.
  7. Keep the system open and forkable. People must be able to inspect and improve the infrastructure they depend on.
  8. Prefer keeping capability local. Data and compute stay near the person without depending on a central providers.
  9. Knowledge endures. Models are replaceable. Tools, skills, and specifications are portable, shareable, and build on each other over time.
  10. Use the simplest correct primitive. Prefer plain files and direct tools over layers that hide what is happening.
  11. Opinionated about shape, not the solution. Do not impose one approved approach. Support more than one path.
  12. First party tools get no special treatment. What ships with the system competes equally with anything users add. Every community addition to the system is treated equally.

So here is the real test. Before adding anything to make the system more capable, we are asking one question:

Does this leave the person with more control, more understanding, or more skill, or less?

- @ewdegraaff