Skip to content
A workflow diagram connecting a human owner through a Paperclip control plane to planning, implementation, data, QA, and review agents.

Beyond one AI coding agent: How I organize multi-agent development with Paperclip

· 10 min read

  • Paperclip
  • AI Agents
  • Software Engineering
  • Developer Productivity
  • Multi-Agent Systems

I was already using AI coding agents. The challenge was no longer getting them to write code—it was coordinating the work as the project grew.

Claude Code, Codex, Cursor, OpenCode, and similar tools can explore a repository, make substantial changes, run tests, and review code. They keep getting better at longer and more complex tasks. The problem I ran into was one level above code generation.

When a change involved implementation, database work, tests, an independent audit, browser-based UX checks, and a few decisions that needed my approval, I became the orchestration layer. I was splitting work across sessions, repeating context, tracking which result depended on which other result, and working out whether “done” meant implemented, tested, reviewed, or actually ready to merge.

That is why I started exploring Paperclip: an open-source control plane for organizing AI agents around goals, roles, tasks, execution history, and human governance.

Paperclip did not replace my coding agents. It gave them an operating structure.

Where a single-agent workflow becomes difficult

A single coding-agent session is still my preferred tool for a well-bounded change. If I can explain the requirement in a few paragraphs, the work fits in one area of the codebase, and I can review the result immediately, adding an orchestration platform would be unnecessary ceremony.

The friction starts when the work stops being one thread.

One agent may be implementing an API change while another checks the database migration. A reviewer needs the implementation to stabilize before auditing it. The UI cannot be tested until the backend is running. A new discovery changes the original plan. One task is blocked on a business decision while another can safely proceed. Meanwhile, each session has its own context and history.

None of this proves that one agent is incapable. It means the workflow now has the same coordination problems that appear in human engineering teams:

  • Who owns each outcome?
  • Which work can happen in parallel?
  • What is blocked, and by what?
  • Where is the latest decision recorded?
  • Has the code merely been written, or has it been tested and independently reviewed?
  • If a process fails, who notices and what happens next?
  • Which actions require a human decision?

Opening more agent terminals adds parallelism. It does not answer those questions.

Why I tried Paperclip

I first saw Paperclip in a YouTube video where someone used it to solve a specific problem. My initial thought was simple: if it could coordinate agents for one problem, perhaps I could make it part of my daily implementation workflow.

The turning point came when I gave it a real, complicated defect. The issue was resolved much faster than I expected, with edge-case testing that went beyond what I had originally considered. More importantly, while fixing the reported problem, the workflow uncovered a related issue elsewhere in the system that I did not know existed.

That experience did not tell me that Paperclip was magically better than every single-agent approach. It showed me that decomposing implementation, testing, live validation, and independent audit into explicit work could expose problems that one linear “fix this bug” session might miss.

I started refining the organization, responsibilities, and agent instructions around that pattern.

What Paperclip actually does

Paperclip describes itself as a control plane rather than the execution plane. Its server stores companies, projects, agents, issues, reporting relationships, budgets, approvals, and run history. Adapters connect that control plane to runtimes such as Claude Code, Codex, OpenCode, Cursor, processes, or HTTP services. The official architecture describes a React interface over an Express REST API and PostgreSQL persistence, with adapters starting the configured runtime and capturing its result. (Architecture, adapter overview)

In simplified form, a human defines the outcome, Paperclip stores the task and ownership structure, runtime adapters invoke specialized agents, and the repository and test evidence feed back into review. I built the companion case study with an animated version of this workflow.

The unit of work is an issue. An issue has a status, priority, assignee, project, and optional parent. Moving work into progress uses atomic checkout so two agents do not take ownership of the same task. Agents execute in heartbeat windows triggered by assignments, events, schedules, or manual invocation, depending on configuration. Paperclip records the resulting run, logs, status, and usage when the adapter supplies it. (Core concepts, task management)

That distinction matters: Paperclip coordinates work, but the underlying agent still reasons about and changes the code. A task reaching done does not prove the code is correct.

My local setup

My researched snapshot uses Paperclip 2026.824.1 on Ubuntu 22.04 with Node.js 20 and its embedded PostgreSQL database. This is a packaged local installation, not a clone of the Paperclip source repository.

For this specific version, the reproducible quickstart is:

# Verify Node. The installed release supports Node 20+.
node --version

# First-time local onboarding
npx [email protected] onboard --yes

# Start the existing instance later
npx [email protected] run

The version pin is deliberate. Paperclip evolves quickly, and its current documentation may describe behavior added after my installed release. The tag-pinned quickstart for 2026.824.1 lists Node 20+ and embedded storage; newer releases can have different prerequisites or upgrade steps. (Version-specific quickstart, release notes)

The local dashboard is available at:

http://127.0.0.1:3100

My instance runs in local-trusted mode and binds to loopback. That is suitable for a single-user local experiment, but it is not application-level authentication: official documentation says local-trusted requests are treated as the local board operator. If the service is exposed beyond the machine, authenticated deployment and a security review become necessary. (Authentication)

After starting the server, my setup sequence is:

  1. Create an organization and its goal.
  2. Connect a project workspace.
  3. Add agents with narrow roles and reporting relationships.
  4. Choose and test each runtime adapter.
  5. Write explicit instructions for ownership, delegation, review, escalation, and completion evidence.
  6. Start with a bounded task and inspect every run before increasing autonomy.

The agent runtimes must already be installed and authenticated on the host. One runtime I wanted was not built into Paperclip, so I installed a community adapter. Its Paperclip skills did not integrate automatically, which meant I also had to configure the equivalent behavior manually in that runtime. This is a good example of the difference between “an adapter exists” and “the whole ecosystem works seamlessly.”

How I organize the work

My agents are organized by responsibility rather than by model brand. I have coordination and technical-lead roles, implementation and data specialists, QA, independent code audit, and supporting roles for design, research, and documentation.

The exact hierarchy belongs to a confidential project, so the public model is deliberately generic: a human owner delegates through a coordinator, specialists implement the work, and QA and audit roles verify it independently.

My normal flow is now predictable because I have spent time tuning those roles:

  1. I create a top-level requirement or problem.
  2. The coordinator investigates and proposes a plan.
  3. Larger outcomes become child tasks with clear owners and dependency order.
  4. Specialists work in isolated execution contexts and leave durable status and evidence.
  5. QA or an independent auditor reviews the implementation.
  6. Findings become explicit follow-up work, followed by re-review.
  7. Consequential choices stop for my approval.
  8. I retain control of the final PR merge and deployment.

I did not give the agents a completely rigid script. I gave them strong rules: delegation boundaries, safety constraints, evidence requirements, and escalation paths. Within those boundaries they can decide how to investigate and execute.

A fictional example

Imagine an appointment-booking product needs configurable cancellation policies.

A single-agent prompt could ask for the database field, API changes, admin UI, validation, and tests. That may work. But the requirement contains several separable concerns:

  • a data specialist designs the migration and backfill;
  • a backend agent implements policy evaluation;
  • a frontend agent builds the admin controls;
  • QA tests time-zone and boundary conditions;
  • an auditor reviews authorization and refund logic;
  • the coordinator tracks the order and resolves findings.

The database contract must stabilize before backend behavior can be verified. The UI can start against an agreed contract, but final browser testing depends on the running backend. Audit findings may reopen implementation. A human must approve any policy choice with business consequences.

Paperclip can represent that structure. It cannot decide that the business policy is correct, guarantee the migration is safe, or prevent two branches from conflicting unless the workflow and repository strategy are designed to do so.

Paperclip versus one coding agent

Claude Code, Codex, and Cursor already provide substantial agentic capabilities. Claude Code supports persistent instructions, skills, MCP connections, hooks, and isolated subagents. Codex can write, review, and debug code through IDE, CLI, web, mobile, and CI surfaces. Cursor supports planning, implementation, review, rules, plugins, MCP, subagents, and cloud agents. (Claude Code extensions, OpenAI Codex code generation, Cursor documentation)

Paperclip is therefore not valuable because those products “cannot use agents.” Its value is the cross-runtime organizational layer I wanted: a persistent task hierarchy, named ownership, reporting lines, board controls, run history, and one place to see work performed by different harnesses.

There are three distinct workflows:

Approach Best quality Main trade-off
One coding agent Lowest setup and fastest feedback for bounded work The human carries decomposition and cross-workstream state
Several manually coordinated agents Flexible parallel work without a new platform The human becomes the scheduler, task tracker, and integration bus
Paperclip-orchestrated agents Persistent ownership, dependency state, run history, and governance More infrastructure, configuration, failure modes, and monitoring

I still use the first approach often. Orchestration earns its cost only after coordination becomes a meaningful part of the job.

What worked

The biggest personal benefit has been a substantial reduction in implementation time. I am deliberately not attaching a percentage because I do not have a controlled comparison against equivalent single-agent tasks.

The other improvement is depth. Separating implementation, testing, and audit has produced edge cases I had not considered, including the related defect found during my first serious workstream. Browser-based UX validation has also caught problems that unit tests alone would not reveal.

Persistent sessions, strong instructions, and MCP tools such as a project-memory layer and a structural code graph also appeared to reduce token use after the initial setup period. Again, that is an observed trend in my environment, not a benchmark. The first days were expensive because the system and agents were building context.

What did not work cleanly

Setup required more manual work than the happy path suggests. A third-party adapter was necessary for one CLI, and skills/plugins required manual integration. Provider quotas interrupted runs. Processes occasionally went silent or disappeared. Some queued work was cancelled after ownership changed. Cost records did not translate all subscription and free usage into money.

Model behavior mattered as much as model intelligence. My initial coordinator used Claude Opus 5.5 at medium effort and followed the delegation structure naturally. After switching the coordinator to Codex with GPT-5.6 Terra at medium effort, it initially tried to do more work itself instead of delegating. I had to strengthen its instructions to restore the management behavior I wanted.

That is a useful warning: an organization chart is data. The model still has to interpret the role. Changing the model can change the operating behavior even when the task system stays the same.

Security is another serious consideration. Version-specific Paperclip guidance warns that local CLI adapters run unsandboxed. Headless coding agents may also be configured to bypass interactive permission prompts. Working-directory scope, credentials, network access, approval rules, and human merge boundaries need to be designed—not assumed. (Agent runtime security notes)

When Paperclip makes sense

I would consider it when:

  • work regularly spans implementation, data, testing, review, and documentation;
  • several agents or model providers are already in use;
  • tasks run long enough that terminal history is no longer adequate;
  • dependencies and approvals matter;
  • you want durable execution records and explicit ownership;
  • you are willing to operate the orchestration layer itself.

I would keep a single-agent workflow when:

  • the change is small and locally reviewable;
  • one person and one session can maintain the necessary context;
  • parallelism would create merge conflicts rather than useful independence;
  • the project lacks reliable tests or review discipline;
  • the cost of configuring roles exceeds the cost of doing the task.

What I would measure next

My current evidence shows activity and coordination, not causality. A fair evaluation would give equivalent, representative tasks to three workflows: one coding agent, several agents coordinated manually, and Paperclip-orchestrated agents.

For each, I would record elapsed time, human intervention minutes, model usage, failed runs, rework, test results, review findings, escaped defects, and integration conflicts. The same acceptance criteria and human reviewer should be used for all three.

That is the difference between an impressive demo and an engineering decision.

Conclusion

The value of AI-assisted development increasingly depends on more than the capability of the individual model. It depends on how work is divided, how context persists, how dependencies are handled, how results are verified, and where humans retain authority.

Paperclip has helped me make those parts explicit. It gives my coding agents a shared coordination layer and gives me a clearer view of what is happening across the work.

It does not make parallel agents a team automatically. The team appears only when ownership, boundaries, review, and integration are designed well—and when someone is still accountable for the result.