Plan mode and agent mode
The assistant runs in two modes, and they do not differ merely in convenience. In plan mode the model produces a workflow that a human reviews and the engine executes: the result is replayable. In agent mode the model calls the tasks directly: the exchange is more direct, and the resulting sequence is not reproducible.
Comparison
| Plan mode | Agent mode | |
|---|---|---|
| Model output | A JSON object describing a workflow | Successive tool calls |
| Execution | By the engine, after human validation | Immediate, as the conversation goes |
| Replayable | Yes: the workflow is an artefact you can version, sign and hand over | No: the same prompt yields a different sequence |
| Traced | Yes | Yes |
| Writes | After the steps have been reviewed | Announced before execution, but decided by the model |
| Use | Regulated contexts, client deliverables, repeated procedures | Exploration, iteration, one-off questions |
Plan mode
The model touches nothing. It receives the list of tasks and answers with a JSON object only, with no surrounding text.
The plan is shown in the Assistant panel as readable steps. The user reviews it, corrects it if needed, then runs it. The validated workflow can be saved, exported and replayed from the Workflows panel.
Agent mode
The model calls tools as the conversation goes, up to a maximum of twelve turns. Every call is shown with its arguments, and every result is rendered on screen.
The system instruction requires the model to explain any action that writes before executing it. That is not a technical guarantee: the guarantee comes from the fact that the available tools delete nothing and never leave the machine.
| Guard | Nature |
|---|---|
| The model explains before writing | An instruction. Not binding. |
| No task deletes anything | A property of the code. Binding. |
| No access to the DOM, the disk, the network | A property of the code. Binding. |
| Twelve tool turns maximum | A property of the code. Binding. |
| Every write recorded in the signed registry | A property of the code. Binding. |
Streaming
The answer text arrives as a stream (NDJSON read line by line, with buffering across cut lines). Streaming is switched off when tools are offered to the model: a tool call arrives in fragments, and the model writes it as text. Reassembling it on the fly would mean guessing, at every fragment, whether you are in the middle of a JSON object or of a sentence, at the risk of displaying half a tool call.
In practice the tool-calling turn is short; it is the final answer turn that is long, and that one is streamed.
Choosing a mode
| Situation | Mode |
|---|---|
| Exploring an unfamiliar dataset | Agent |
| Producing a figure for a manuscript | Plan, then archive the workflow |
| A procedure repeated on every campaign | Plan, workflow saved and versioned |
| A deliverable for an audited client | Plan. The workflow goes with the report. |
| A one-off question about a sample | Agent |