graftyRequest a demo

A year of AI coding / 09

What makes a group of coding agents a team

Multiple coding agents need shared contracts, integration checks, and explicit ownership before their separate results form a reliable system.

By Grafty team · · 3 min read

Written in .

A frontend agent expects approved, pending, and rejected. A backend agent implements accepted, waiting, and declined. Both changes pass their local tests because each agent wrote fixtures that match its own implementation.

This is a hypothetical example, but the failure is ordinary integration work. Adding more agents does not remove it. It creates more places where assumptions can diverge.

On February 5, 2026, Anthropic introduced agent teams in Claude Code as a research preview alongside Opus 4.6. The release announcement described agents working together on tasks. We see the feature as an invitation to think carefully about coordination, rather than a reason to split every change among several workers.

A shared, owned contract guides frontend, API, and persistence workers so their independently implemented pieces can integrate.Open full-size diagram
Separate workspaces prevent file collisions. A shared contract prevents incompatible assumptions.

Agree on the shared parts first

In an internal approvals application, useful boundaries might separate the interface, the API, and the persistence layer. But those components share field names, state transitions, error behavior, and authorization rules.

Before parallel implementation, we would establish the contract in a form the workers can inspect. That could be a schema, a small interface definition, or representative request and response examples. Include the failure cases. Whether a repeated approval returns the existing result or an error is part of the contract, not an incidental implementation detail.

One worker should own changes to that shared contract. If another discovers a problem, it should propose a correction rather than quietly changing its local interpretation. Otherwise the coordination mechanism becomes a series of incompatible patches.

This does not require a heavyweight specification for every task. A short written agreement can be enough. What matters is that all workers refer to the same current version.

An early integration check creates a request through the API, stores its state, renders that state in the UI, and checks authorization across the whole path.Open full-size diagram
Test the connections between components before every worker considers its part finished.

Integrate before the end

Separate workspaces make concurrent editing safer, but integration should happen while the changes are still small. Waiting until every component is "finished" creates a large debugging problem with several possible causes.

For the approvals example, an early check could create a request through the API and render its state in the interface. Later checks can add authorization and persistence behavior. These tests exercise the connections the individual workers are most likely to miss.

We would also give one role responsibility for the combined result. That role can be supported by an agent, but the team needs a clear human owner for accepting the final change. "Each agent said its part was done" is not an acceptance criterion.

Independent review can help, especially when it receives the original requirements rather than only the implementation summary. Still, two agents agreeing is not strong evidence if they share the same mistaken assumption. Tests need to assert the externally required behavior.

Use fewer workers when the task is tightly coupled

A small refactor across a handful of related files may be easier for one agent to reason about. Dividing it adds handoffs without producing much independent work.

Multi-agent execution looks more promising when the tasks can be separated cleanly: investigate several unrelated failures, compare alternative approaches, or inspect different subsystems against a common set of questions. Even then, someone has to reconcile the results.

Our working rule would be to parallelize what can be verified independently and coordinate what shares a contract. A team of agents is useful when the structure of the work supports it. The presence of several chat threads is not enough.