← Diplomatic Simulator
Diplomatic Simulator · Methodology & AI Use

How this simulation works

A transparent account of what the simulator does and exactly how AI agents are used to produce each negotiation — including what they do not do.

The Diplomatic Simulator replays multi-party diplomatic negotiations. Each delegation in a scenario is played by an AI agent that argues from that government's real negotiating brief. The output — a round-by-round transcript, a tactic analysis, and a convener report — is generated end-to-end by large language model agents. This page documents that process so the results can be read with the right amount of trust.

Read this first — what these results are

Every statement, score, and summary on this site is generated by an AI language model role-playing a government. It is notional and educational — not a forecast, not intelligence analysis, and not the position of any real government or official. Scenarios are adapted from academic crisis-negotiation exercises (see Provenance). Treat the simulator as a structured thought experiment, not a source of fact about world events.

4
Scenarios
29
Delegation agents
94
Statements generated
1
Model (Claude Opus 4.8)

The pipeline

Each scenario moves through six stages. Stages 1–5 are the same reusable toolchain (sim/); only the source documents change.

  1. Source ingest. The scenario's PDF pack — a public scenario brief plus one confidential "privileged instructions" file per country — is converted to text (PyMuPDF). These packs come from U.S. Army War College ISCNE / academic exercises.
  2. Profile extraction (AI agent, one per country). An agent reads a single delegation's privileged-instructions document and distills it into a structured profile: fundamental principles, desired end-states, red lines, BATNA, tradeable concessions, coalition leanings, and secret instructions. It sees only that one country's brief. Each profile also carries a behavioural profile — seven coded dimensions describing how that delegation bargains.
  3. Public brief (AI agent, one per scenario). A separate agent reads the shared scenario document and writes the neutral public brief every delegation sees — the situation, the list of negotiation issues, the procedure, and a fixed tactic vocabulary.
  4. Negotiation (AI agents, one per country per round). The delegations negotiate across plenary rounds. In each round every delegation writes one statement (see the next section for the isolation rules).
  5. Analysis (AI agent, one per scenario). A "control-group" analyst agent reads the full transcript and all profiles and produces the scoreboard (satisfaction, agreements, red lines crossed), per-delegation debriefs, and the convener report.
  6. Assembly & publishing (deterministic code, no AI). Plain Python (build_session.py, inject.py, build_report.py) stitches the agent outputs into a session record, normalises the self-tagged tactics, and renders the interactive table and this report page. No model is involved here.

Exactly how the AI agents negotiate

The core design choice is information isolation. Real diplomacy runs on private information; so does this simulator. When a delegation agent writes its statement for a round, it is given only:

The agent is instructed to stay in role, ground its claims in its brief, protect its secret bottom lines, and — for the analysis layer — self-tag the negotiating tactics it used from a fixed vocabulary (e.g. anchoringconditional-offerred-line-signaledissue-linkagecoalition-buildingappeal-to-law). It writes one statement and nothing else; it does not see other delegations' private reasoning, only their public words.

Delegation dispositions

A profile says what a delegation wants — its end-states, red lines and tradeable concessions. It says much less about how that delegation bargains. Two delegations with identical objectives can behave completely differently: one concedes early to build momentum, the other holds everything to the last hour; one treats the chair's agenda as binding, the other as an obstacle. Each profile therefore also carries a behavioralProfile block of seven dimensions, each a controlled value with a short note grounding it in that delegation's own role, BATNA or privileged instructions.

DimensionValuesWhat it governs
Temperamentimperturbable · measured · guarded · warm · brittle · volatileAffective baseline, and what pressure does to it
Risk tolerancelow · moderate · highAppetite for the BATNA, the walkout, brinkmanship
Time horizonurgent · patient · attritionalWhether delay costs this party or pays it
Concession patternfront-loading · reciprocal · end-loading · withholdingWhen and on what terms it gives ground
Procedural postureconvening · chair-deferential · rule-exploiting · obstructive · agenda-foreclosingIts relationship to the chair, the agenda and the format
Trust postureverification-first · conditional · relationship-first · assumes-bad-faithWhat it requires before believing a commitment
Registerdeclamatory · legalistic · plainspoken · elliptical · conciliatoryRhetorical mode — how the argument is made, not what it is

Because the values are coded rather than free prose, they can be counted across the corpus: no two delegations at the same table share all seven, and the average pair differs on 4.9 of the 7. The register dimension is the one to watch against cross-party bleeding — if delegations authored as declamatory and legalistic end up sounding alike in transcript, that is measurable homogenization rather than an impression.

Provenance, stated plainly. These blocks were authored in a later pass as a structured reading of profiles that already existed — they are not output of the original per-country extraction agent, and they were not present when any published transcript was generated. Nothing on this site was produced under their influence. They are a lens over the corpus and an input available to future runs, not a record of how these runs were made.

They are not yet an experimental variable. A disposition is authored per delegation from its source pack and held constant across runs of that scenario, exactly like a red line. Testing whether disposition changes outcomes needs the opposite arrangement — the same profile played under deliberately different dispositions — which is a separate design and is not what is published here.

Round structure

RoundPhaseWhat each delegation does
1Opening plenaryHeadline priorities, framing, opening anchors, coalition signals
2Positioning Arctic only / BargainingReact to rivals by name; defend challenged red lines; probe for trades
3Bargaining & coalitionsTable concrete conditional offers and packages; form coalitions; use linkage / side-payments
4Closing plenaryAssess progress; state supported understandings and remaining gaps; propose a way forward

The flagship Arctic scenario runs four rounds; the others run three (opening → bargaining → closing).

How scores and the convener report are produced

After the talks conclude, a single analyst agent reads the whole transcript alongside every delegation's profile and judges how well each side achieved its stated objectives. It outputs:

These numbers are an AI's subjective judgement of an AI-written transcript. They are internally reasoned and differentiated across parties, but they are not measured outcomes and carry no ground truth. Read satisfaction as "how the analyst rated the argument on the page," not as a real assessment of national interest.

Monte Carlo analysis — testing outcomes under uncertainty

What a Monte Carlo simulation is. A single negotiation run tells you one story. But the result depends on chance and on conditions no one controls — a sudden crisis, the mood in the room, who has leverage that week. A Monte Carlo simulation answers a different question: if we ran this many times under many different conditions, what range of outcomes would we see, and how often? The technique — named after the casino — is simple: (1) identify the uncertain inputs, (2) draw random values for them, (3) run the model once for that draw, and (4) repeat many times and look at the distribution of results rather than any single run. Where a point estimate says "the deal fails," a Monte Carlo says "the deal fails in 2 of 8 runs, usually when a hardline shock coincides with a confrontational mood" — which is far more useful for judging how robust or fragile an outcome is.

How this simulator applies it

For each scenario we re-simulate the negotiation many times, and each trial randomizes four exogenous conditions:

An agent simulates the negotiation's outcome under that specific draw — who concedes, which coalitions form, whose red lines hold, and whether a deal is reached — and returns a structured result (deal type, per-party satisfaction, goal status, red-line holds). Across the trials we aggregate the distribution: the mix of deal types, each delegation's satisfaction spread (mean and min–max range), how often each red line survives, and which coalitions recur. A wide spread means the outcome is condition-sensitive; a tight one means it is robust. Results are on the Monte Carlo page.

Reduced-form, and still not a forecast. To keep this affordable, each trial is a single-agent outcome simulation conditioned on the random draw — not a full re-run of the multi-round negotiation. So the Monte Carlo samples the model's distribution over plausible outcomes, not an empirical distribution of real events. The randomized conditions are illustrative, not calibrated probabilities. Read it as "how sensitive does the model think this outcome is to shocks and mood," never as odds on real diplomacy. Trial counts are shown per scenario on the Monte Carlo page (40 each, plus 20 for the Strait of Hormuz demonstration). A further caveat added 2026-07-22: the trial outcomes are authored under each randomized draw rather than sampled from re-run negotiations. That means a result like "0 comprehensive settlements across every scenario" partly reflects how the trials were written, and is not independent evidence for the claim it appears to support.

Delegation profiles, group dynamics & the meaning of “success”

Richer delegations. Each delegation profile now carries a cultural-background note, a named diplomatic style (for example wolf-warrior assertiveness, cowboy directness, reserved consensus-seeking, or bamboo diplomacy), its real alliances, and its key figures — the actual head of government and foreign and defence ministers as of mid-2026, characterised from public reporting. These are sourced characterisations of office-holders, not claims about any individual’s private conduct, and they are labelled as such on the dashboard.

Group dynamics. Each Monte Carlo trial now records its blocs rather than a flat coalition label: whether a bloc is a standing alliance (NATO, the US-Japan-ROK trilateral, the China-Russia axis) or a situational partner of convenience, and whether its cohesion is tight, loose, or fractured. The aggregate view reports how often blocs of each type and cohesion recur.

Agreement type and ratification. Outcomes are tagged with the form of any deal — none, communiqué, memorandum, framework, or treaty — and, for each party, whether it could realistically ratify and deliver that outcome at home. A deal at the table is not a deal until it survives ratification, the domestic half of the two-level game.

What “success” means. Because success is party-relative — a breakdown can be a win for a spoiler that prefers no deal — the probability of success is reported as several separate figures rather than one: the share of trials reaching any agreement, the share reaching a framework or better, each party’s primary-goal attainment, and how often red lines and ratification hold. A high in-simulation success rate on a low-plausibility table still says more about the scenario pack than about the world.

Same caveat as the rest of the Monte Carlo layer. These variables are authored under each randomised draw, not sampled from re-run negotiations, so they describe the model’s own distribution over plausible outcomes, not real-world odds.

Convening plausibility — how real each table is

An editorial layer, not a model output. Each scenario is a teaching pack, and some describe a table that no government would currently join. Alongside the six scenarios we publish a convening-plausibility rating — low, moderate, or high — for how plausible it is, in the real world of 2026, that these parties would actually convene and bargain in good faith in the format staged. This is the author's judgement drawn from the public record, offered as a caveat: it is not produced by the simulator and it is not a forecast.

The ratings. Central Asia rates high — Kyrgyzstan, Tajikistan and Uzbekistan actually signed the Treaty of Khujand fixing their border tripoint in March 2025. Cyprus rates moderate — the parties convene under the UN but remain split between a federation and two states since the Crans-Montana talks collapsed in 2017. The Arctic, the South China Sea, Korea and Jammu & Kashmir all rate low: the Arctic Council's Russia track has been frozen since 2022; China rejects the 2016 arbitral award and any multilateral South China Sea format; the Korean Six-Party process has been defunct since 2009; and India refuses any third-party Kashmir table. That four of the six rate low is itself the point — it cautions against reading any negotiation result here as commentary on how these disputes are likely to move, and it is the same fact the "0 comprehensive settlements" result reflects: the packs describe more willing tables than the real ones.

Model, orchestration & reproducibility

Model. Every agent in the main negotiations — profile extraction, public brief, delegation role-play, and analysis — is Claude Opus 4.8 (Anthropic), run through Claude Code's agent framework. The lighter-weight Monte Carlo trials use Claude Sonnet to keep that batch inexpensive. There is no fine-tuning and no other provider.

Orchestration. The Arctic scenario was run with direct parallel agent calls. The next three were run as a background workflow that fans out one agent per delegation per round and sequences the phases (setup → profiles → rounds → analysis). Roughly 130 agent tasks produced those four simulations. Korea and Jammu & Kashmir were run later, as direct parallel calls with persistent delegation agents: each delegation is spawned once and resumed by message for rounds 2 and 3, so it carries its own memory of what it said and why, while receiving only the public transcript of the rounds before. That run was 41 agent tasks and completed without failures.

An honest note on reliability

The first orchestration run hit a transient network outage that failed about half its agents mid-negotiation. A targeted re-run then completed the missing rounds and analyses cleanly. No gaps were papered over — every published statement is a real agent output, and the run artifacts (profiles, transcripts, analyses) are committed under sim/scenarios/ for inspection.

Design decisions, and why

Decisions that shape what this simulator does and does not claim are recorded here as they are taken, with the reasoning, so a reader can disagree with the reasoning rather than guess at it.

2026-07-22 — Korea and Jammu & Kashmir were regenerated under information isolation. Both scenarios were first written in a single context: one process produced all six or seven delegations' statements at once. Every statement was still model-generated, but the isolation this page claims — each delegation seeing only its own privileged instructions — did not hold for them. Rather than soften the claim, both were re-run properly: one agent per delegation, each reading only the public brief and its own profile, three rounds in lockstep, each round seeing only the public transcript of the rounds before. The superseded single-context versions remain in git history (commit ac390a5) rather than being deleted, so the difference is inspectable. Known limit: isolation is enforced by instruction, not by sandbox — an agent is told not to read another delegation's profile and could physically do so. Enforcing it properly needs per-agent filesystem scoping, which is not yet built.

2026-07-22 — A mixed-model run was added to test whether the results are an artifact of one model. The independent peer review's central finding is that a single model plays every side, that this is acknowledged but never tested, and that the headline "0 comprehensive settlements" result may reflect the model's disposition rather than anything about diplomacy. Because the isolated Korea run gives a controlled baseline, the test is now cheap: the same scenario, the same profiles, the same prompts and rounds, changing only which model sits behind each delegation. Delegations defending hard red lines (DPRK, United States) stay on the strongest model, since the existing bake-off found weaker models self-breach red lines at dense adversarial tables; the remaining seats are split across mid- and small-tier models. If the same convergences and red-line breaks recur, the original finding survives a real test; if they do not, the finding is about the model, which is more useful to know than to assume.

2026-07-22 — A live news feed alongside the scenarios was considered and declined. The proposal was to attach current headlines, retrieved by a research API, to each scenario page. Two reasons not to. The practical one: this is a static site in a public repository, with no backend and nowhere to hold an API key that would not be readable by any visitor; it would require a scheduled build that fetches and commits a digest. The substantive one: this project deliberately disables search indexing so that AI-invented statements attributed to real governments cannot circulate as reporting. Placing genuine, sourced headlines directly beside fabricated quotes attributed to the actual governments of India, Pakistan or the DPRK works against that, and makes a reader more likely to mistake the invented material for real. If context about how current each scenario is becomes necessary, the intended form is a dated provenance note — "this pack's timeline ends here; here is what has happened since, with sources" — kept structurally separate from the simulated transcript.

2026-07-23 — Behavioural dispositions were added to every delegation profile. Profiles recorded what each delegation wanted but only a single prose line about how it bargained, and that line was never used for anything beyond display. All 42 profiles across the six scenarios now carry a seven-dimension behavioural block, coded so it can be counted rather than only read. Three things this deliberately is not. It is not retroactive: the blocks were authored after every published transcript was generated, so no transcript on this site was produced under their influence. It is not new evidence: each value is a reading of material already in that delegation's profile or source pack, not an additional fact about the delegation. And it is not yet an experiment — dispositions are authored per delegation and held constant, so they cannot currently test whether disposition changes outcomes; doing that requires varying disposition independently of profile, which is a separate design.

Reproducibility. The toolchain and every intermediate artifact are in the repository. Given the same source PDFs, the pipeline (sim/extract_pdf.py → profiles → negotiation → sim/build_session.py → sim/inject.py → sim/build_report.py) reproduces a comparable session; because language models are stochastic, exact wording will differ between runs.

Limitations & what the AI does not do

IP, risks & mitigations

The working paper, reference architecture, and convening behind this project were scoped to respect Microsoft's IP, public-disclosure, and conflict-of-commitment obligations. About 70% of the working paper is publishable as-is from public Microsoft references, EEA / x402 Foundation materials, and existing academic literature; material touching Microsoft Traceability Program internals is treated synthetically or routed through CELA and Microsoft Communications review on a published timeline. The Diplomacy Table reference architecture is built on the open-source DTFS / TwinForge stack and is publishable in full.

Provenance & credits

Scenario packs are adapted from U.S. Army War College International Strategic Crisis Negotiation Exercise (ISCNE) and related academic crisis-negotiation materials — notional exercise content for educational purposes. The simulator, toolchain, and generated negotiations were built under Ethical Tech CoLab. Negotiation content is AI-generated with Claude Opus 4.8.

← Back to the Diplomatic Simulator · Source repository

“Diplomacy is telling someone to go to hell and they look forward to the trip.”
— an ISCNE maxim