Tessl
Patterns
Practices for
PatternPeopleIndividual & TeamVerifiedReviewed and verified by a human.

Collaborating with Agents

Where orchestration is the role shift, collaboration is the per-task question: how closely do you work with the agent? Clarity and risk set the dial -- unclear or high-stakes work keeps you in the loop (pairing, planning and triaging together), while clear, low-risk work is handed off to run. The skill is routing each task to the right mode.

The Pattern

"Higher [autonomy] isn't always better." -- Swarmia (source)

Where orchestration is the role shift, collaboration is the per-task question: for this piece of work, how closely do you work with the agent? And it is not only a coding question -- agents are collaborators in planning, triage, and review as much as in implementation.

Pairing is the on-ramp. Early tools made it literal -- Aider billed itself as "AI pair programming in your terminal," one human and one assistant editing the same files (Aider). But pairing is just one setting on a dial. Swarmia describes agent autonomy as levels set by "a single variable: how much of the work does the agent do autonomously before returning to you for feedback," and warns the highest setting is not the goal -- the right level is the one that fits the task (Swarmia).

So the skill is routing: deciding how far into the loop to stay. Two things set the dial -- clarity and risk:

  • Unclear or high-stakes work keeps you in the loop. When the spec is fuzzy, the change is load-bearing, or you are new to the code, you pair: think out loud with the agent, plan and triage together, co-discover the requirements before much code is written. The agent is a thinking partner, not an executor.
  • Clear, low-risk, reversible work goes to the agent. Hand it off, let it run, and judge the result -- you reach for autonomy exactly when, as Swarmia puts it, "the task is so well-defined that you don't need to be present."

The rule a team can say out loud: if the spec isn't clear, it's a human-at-the-whiteboard problem; once it's clear, it's an agent problem. Most work starts in the first bucket and graduates to the second as the understanding firms up -- which is why the in-loop conductor and out-of-loop orchestrator modes are the same person dialing the same knob.

Why It Matters

Picking the wrong setting fails in both directions. Stay in the loop on everything and you throw the leverage away -- you are hand-steering tasks an agent could own. Hand off work that was never clear and you get confident, plausible code for the wrong problem, plus comprehension debt you did not choose. Matching the collaboration mode to a task's clarity and stakes is what holds both the speed and the understanding.

The other half is a people problem no tool solves. Collaboration norms are adopted bottom-up -- "you can't force this top-down; people resist change that's done to them" -- and one team only reached "2-3x" once the human work moved upstream, where "a spec review matters more than a code review" (Vinay Perneti). Those norms only hold if a team shares context and conventions, so everyone's agents behave consistently instead of drifting apart (shared context). The skill to teach is not which button to press but judgment: reading a task and knowing whether it wants a partner or an executor -- and not defaulting to a private solo run for work that others will have to maintain.

Last reviewed: 2026-06-25

PREVIEW