protocol before personality
most agent discourse leaned on personality: a founder voice, a design guru mask, a partner vibe, a fake biography, hoping competence would follow. in practice that ordering was backwards. shared protocol mattered first. personality was decoration.
what held up
agents cooperated through artifacts, handoff rules, and exit conditions. tone shaped style. protocol determined whether the work survived.
what protocol meant here
protocol is the structure that makes a handoff legible:
- what artifact is being passed
- what status that artifact is in
- what the receiver is allowed to change
- what counts as completion
- what happens on failure or ambiguity
when those rules were missing, personality prompts didn't rescue anything. they just made the failure sound more confident.
the pull of personality
personality prompts felt powerful because they changed output immediately. the prose got sharper. the confidence rose. the advice sounded more "senior."
but a better voice wasn't the same thing as a better operating model.
an agent told to "think like a world-class cto" still needed to know:
- which artifact was canonical
- which constraints were binding
- whether the task was analysis or mutation
- who signed off on irreversible actions
without that, the persona mostly changed the accent of the mistake.
why protocol came first
1. protocol survived model swaps
a decent handoff schema kept working when the model changed. a personality-heavy stack tended to fall apart because too much behavior lived in vibes instead of structure.
2. protocol supported delegation
multi-agent work only made sense when subagents could exchange something more precise than "here is what happened, probably."
3. protocol made failure visible
when the output contract stated what had to be returned, missing fields, unsupported claims, and unresolved blockers became obvious. without protocol, everything degraded into prose review.
4. protocol narrowed disagreement
when two agents, or an agent and a human, disagreed, protocol pointed at where to look: spec, test, decision log, policy file, approval state. that's grounding, not which persona felt wiser.
minimal shared protocol
most agent stacks needed less protocol than expected. but they did need some.
{
"task_id": "AUTH-17",
"artifact": "specs/auth-v2.md",
"artifact_version": "a81c2f4",
"role": "qa",
"allowed_actions": ["analyze", "comment"],
"blocked_on": [],
"done_when": [
"all auth assertions checked",
"edge cases listed with reproduction steps"
],
"on_ambiguity": "escalate",
"on_failure": "return blocker report"
}
this was enough to make a handoff inspectable. no elaborate theory required.
where personality still helped
personality wasn't useless, it was just downstream. it helped with:
- tone consistency
- review posture
- how bluntly tradeoffs were surfaced
- which defaults got emphasized when protocol left room
that mattered. it just wasn't the first-order control surface.
protocol failures observed
unowned handoffs
agent a "finished" and agent b started, but nobody could say what had actually been delivered: analysis, code ready for merge, or only a proposal. this was a protocol failure disguised as a communication problem.
ambiguous mutation rights
the planning agent edited code. the implementation agent rewrote the spec. the review agent silently fixed tests. afterward, nobody knew which role was accountable for what.
no failure channel
when an agent couldn't clearly return "blocked," "ambiguous," or "unsafe to continue," the system quietly converted uncertainty into action. that's how bad pushes happened.
personality collision
one persona optimized for speed. another optimized for elegance. another imitated executive confidence. none of them shared a structured rule for resolving conflict. that wasn't orchestration, it was cosplay with race conditions.
artifacts as the real conversation
in durable agent systems, conversation wasn't the main substrate. artifacts were:
- spec files
- decision logs
- issue states
- rubrics
- tests
- patches
- approval markers
the messages in between mattered only insofar as they updated or interpreted those artifacts. agent-to-agent protocol worked best boring: boring meant legible, legible meant debuggable.
exit conditions
the strongest protocol element was often the simplest one: a clear stop rule.
role: implementation
halt_when:
- tests for changed modules pass
- no schema changes introduced
- diff is ready for review
otherwise:
- return blocker report
compared with an instruction like "act like a meticulous principal engineer," one of these created a checkable boundary. the other created mood.
human review
humans reviewed faster when outputs were shaped, without having to infer intent from narrative sludge. a structured handoff let reviewers ask concrete questions:
- did the agent exceed allowed mutation rights?
- did it satisfy the done condition?
- did it escalate ambiguity correctly?
- did it cite the right artifact version?
that was review. everything else read closer to literary criticism.
what tended to work
- roles got defined by permissions, not only by tone.
- artifacts got passed by reference and version when possible.
- every handoff stated status, blockers, and next action.
- escalation counted as a first-class outcome, not a sign of weakness.
- personality got layered in only after protocol was stable.
personality made an agent nicer to work with. protocol was what made it trustworthy to work with. getting the order backwards tended to leave the stack mistaking style for coordination.
further reading
- persona anchors: where stylistic anchoring helped and where it didn't
- modular workflow stack: role boundaries, gates, and handoffs
- claude code skills stack: decision, context, and execution as separate layers