Agent-to-Agent Negotiation by Email: A Pre-Experiment Protocol
The original version of this article described a 25-agent email negotiation experiment as if it had already produced results. It had not.
The project logs show a completed email transport test, an inbound-email guardrail, one active operator, and a second participant who expressed interest and began setup. The success metrics were still undefined, and the experiment itself was marked not started.
Five outreach drafts were editorial iterations, not an A/B test. There was no logged invitation denominator, response rate, winning version, or behavioral dataset. This rewrite publishes the experiment we could actually run.
First, define “agent-to-agent”
This study uses agent-to-agent descriptively: two autonomous systems exchange negotiation messages through email. It is not a test of the formal A2A protocol. Email is the transport and research instrument.
The related Go product is separate. It exposes negotiation capabilities to agents through the Model Context Protocol and optional A2A HTTP endpoints. On July 28, 2026, its complete Go test suite passed. That proves the software packages execute as tested; it does not prove 25 independent agents negotiated over email.
What was observed
| Milestone | Status in project record | Safe conclusion |
|---|---|---|
| Research design | Complete | The hypotheses and risks were documented |
| Email transport test | Complete | A small email path worked end to end |
| Inbound guardrail | Complete | Messages could be screened before reaching a model |
| Participant onboarding | One active; one awaiting setup | At least one external person showed interest |
| Quantitative metrics | Not defined | No behavioral claim can be evaluated |
| 25-agent experiment | Not started | No emergent protocol, strategy, or deadlock result exists |
The hypotheses
- Assigned negotiation strategies produce measurably different behavior.
- Email latency is acceptable for bounded, multi-round negotiation.
- Independent operators will contribute agents to a shared study.
- The transport can deliver the planned message volume without material loss or throttling.
Each claim needs its own metric. “The agents behaved differently” is not a result until strategy assignment, behavioral features, and comparison rules are fixed before observing the data.
Run a three-agent dry run first
Scaling directly to 25 agents makes failures harder to diagnose. The project’s own risk review recommended a two- or three-agent transport test. The dry run should be a complete miniature experiment:
- Create a synthetic negotiation scenario with known reservation values and a deterministic utility function.
- Assign strategy profiles randomly and hide the assignments from the evaluator.
- Use a fixed message schema, maximum round count, time limit, and model configuration.
- Log send, delivery, receipt, guardrail, parse, decision, and terminal events.
- Repeat enough sessions to distinguish transport failure from strategy behavior.
- Review the logs before recruiting the remaining operators.
{
"experiment_id": "email-negotiation-dry-run-001",
"session_id": "session-017",
"round": 3,
"sender_agent": "agent-b",
"recipient_agent": "agent-c",
"message_type": "counter_offer",
"offer": {"price": 72, "term_months": 12},
"mandate_hash": "sha256:...",
"sent_at": "2026-08-01T10:00:00Z",
"received_at": null,
"guardrail_result": null
}
Append-only events preserve the difference between what an agent attempted, what the transport delivered, and what the recipient accepted.
Pre-register the outcome metrics
| Metric | Definition | Why it matters |
|---|---|---|
| Delivery rate | Delivered messages ÷ sent messages | Separates transport reliability from agent behavior |
| Deal rate | Sessions ending inside both reservation bounds | Measures agreement without rewarding invalid deals |
| Normalized joint utility | Realized utility ÷ maximum feasible utility | Compares outcome quality across scenarios |
| Rounds to outcome | Completed rounds before agreement or walk-away | Measures efficiency |
| Deadlock rate | Sessions hitting the round limit without a terminal decision | Measures coordination failure |
| Protocol violations | Messages rejected by schema, mandate, or safety checks | Measures unsafe or invalid behavior |
| Human interventions | Operator actions after a session begins | Tests the autonomy claim |
| Cost per session | Model and infrastructure cost for one terminal session | Tests whether the experiment can scale |
Recruitment needs the same discipline. Conversion is consenting, onboarded operators divided by delivered invitations. Because the original outreach log did not preserve the invitation denominator, it cannot support a response-rate claim.
Safety and research ethics
- Use synthetic stakes. No agent may commit money, sign a contract, or contact an uninvolved party.
- Obtain explicit operator consent and disclose what messages and metadata will be retained.
- Use pseudonymous agent IDs in any public dataset.
- Never place API keys, credentials, or personal data in negotiation messages.
- Give each operator a kill switch and define automatic stop conditions.
- Cap rounds, message size, rate, time, and spend.
- Screen inbound content before it reaches a model and record the guardrail result.
- Publish null and negative results, not only interesting transcripts.
Go/no-go gates for 25 agents
Scale only after the dry run establishes:
- at least 99% delivery with no unexplained message duplication;
- valid reservation bounds and utility calculations for every scenario;
- zero high-severity mandate or secret-handling violations;
- a stable event schema and reproducible evaluator;
- a budget cap and tested emergency stop;
- enough consenting operators to avoid simulating independence with one owner’s clones.
If strategy-diversity metrics are chosen after reading the transcripts, report them as exploratory. Confirm them in a new run.
What to publish after the run
A credible result package should include the preregistered protocol, model and prompt versions, randomization seed, scenario definitions, event schema, exclusions, aggregate results with uncertainty, failure cases, and an anonymized event dataset where consent permits.
The five outreach drafts can remain as an appendix to the project history, but they are not the experiment. The experiment begins when the hypotheses, metrics, sample, and stop conditions are fixed.
You can download the experiment protocol and metric registry. For human negotiation preparation, see the LLM preparation workflow. For a working agent handoff, see the orchestrator-to-implementer case study.
Pre-register transport, outcome, safety, cost, and recruitment metrics before inviting more agents.
Download the Protocol