Run configuration
1Who is talking
Choose how the conversation is shaped — two models alone, the two of them with you woven in, or a one-on-one with a single model.
How turns are ordered. “them” lets the models talk; “all of us” weaves you in as a third voice; “me and one” is a direct one-on-one.
The name your messages appear under.
Display label shown in the header. Does not affect the models.
2The speakers
The two voices in the dialogue. Each owns its accent colour throughout the app. Blank generation fields fall back to the shared defaults below.
3Opening & shared framing
What starts the dialogue, and what the models are told about the experiment they’re part of.
The opening user message handed to the first speaker to start the dialogue.
Prepended to each speaker’s system prompt to make the models aware of the experiment. {self} = that speaker’s name, {others} = the other participants, filled per speaker. Leave blank to tell them nothing.
4Generation defaults
The shared sampling settings every speaker inherits — and the optional private reflection pass each model can run before it speaks.
Model turns before the run stops on its own. Solo mode ignores this.
Recent turns each model sees, plus the opening turn.
Tokens each model may generate per turn.
0 = deterministic, higher = more varied.
Auto-generate highlights every N turns. 0 = off.
Which model writes the synthesis. The human stand-in is skipped.
Max tokens for the private reflection pass.
Appended to the speaker’s system prompt for the reflection pass.
5Stop condition
How the run decides it’s finished.
“none” runs to max turns and you judge convergence. “declared” stops one turn after a speaker emits the marker.
Exact string that ends the run in declared mode — only fires if your prompts instruct the models to emit it.
Watcher thresholdsExpert tuning — the live convergence detector’s calibration
Live convergence, stagnation and breakout detection. The defaults are sensible — only touch these if you’re calibrating the watcher against your own runs.
Opening turns defining the programmed-register baseline.
Breakout when register < drop × baseline.
Return when register ≥ ratio × baseline.
Consecutive turns required to flip phase.
Turns per speaker defining their position centroid.
Recent points used for slope estimates.
Converged when gap ≤ ratio × early gap.
|gap slope| below this counts as stable.
Gap slope beyond ± this = converging / diverging.
Novelty % below this enables stagnation.
Self-repetition above this enables stagnation.
Gap must stay above ratio × early gap to count as stagnant rather than converged.
Velocity below this enables stagnation.
what am I looking at?
| state | verdict from the gap trajectory: exploring / converging / converged / stagnant / diverging |
| gap | 1 − cosine between the speakers' recent-position centroids. Low + flat = met. High + flat + low novelty = circling. |
| velocity | semantic displacement vs the speaker's own previous turn. Zero with open gap = stagnation; spike = breakout. |
| novelty | fresh trigrams this turn. Drops when they start repeating anyone, including themselves. |
| self-rep | similarity to the speaker's own recent turns — the "frozen on own attractor" signal. |
| novelty (JSD) | Jensen-Shannon divergence of the turn's word distribution vs the decayed history. Length-normalised; falls during stagnation where the old trigram measure stayed flat. |
| stagnation | graded 0–100% circling index: geometric mean of gap-open × gap-flat × speakers-frozen. ≥60% flags real stagnation. |
| mirror | cross − self JSD. Negative = drifting toward the partner (merging); positive = holding distinct ground. |
| converge ETA | turns to convergence with an [optimistic–pessimistic] band; suppressed (with a reason) when the trend sign is uncertain. |
| register | density of the model's assistant boilerplate + list formatting. Your breakout theory is measured on this. |
Saved runs
A space for two models to think together
Model Dialogue runs a live conversation between two language models — and lets you watch, measure, and join it. There's no transcript loaded yet.
Configure the run
Open Run configuration to set the two speakers, their prompts, and how the dialogue should open.
Start the dialogue
Press New run to begin. Turns stream in live, with a watcher tracking convergence as they talk.
Read, steer, export
Synthesize highlights, join the conversation, or save the whole run for later replay.