Skip to content
Niki

Planner → Coder → Tester → Reviewer.

The multiagent path runs Planner, Coder, Tester and Reviewer as separate sessions that exchange typed artifacts. In auto mode, low-complexity tasks can collapse to Planner plus a solo Coder; set [pipeline].topology = "multiagent" to force the full chain.

The full multiagent path.

separate LLM sessions + typed artifacts, validated against JSON schemas
Plannerstage 1

Reads the task and the current files, produces the TaskSpec.

The Planner never writes code. It reads your task description plus existing file contents and emits a typed plan: scope, files, approach. With plan mode (`niki plan`), this is the only stage that runs; you review `plan.md` before anything executes.

→ emits TaskSpec, which files to touch and the approach
Coderstage 2

Emits a unified diff, applied to the active execution workspace.

The Coder works from the TaskSpec alone; it never sees the Planner's conversation. It emits a unified diff that Niki applies in the active execution workspace: a container bind mount for the container backend or a local worktree for the worktree backend. Sequential stages intentionally share one execution environment so the diff persists; independence is at the LLM-session layer. Parallel coder topologies and a Synthesizer agent are available via `[parallel]`.

→ emits unified diff, applied in the active execution environment
Testerstage 3

Generates a test report and runs a test command when one resolves.

The Tester generates a test report and runs a configured or auto-detected test command when one is available. A run can complete with `test_execution = None` when no command resolves. When tests do run, failing suites block branch creation unless you explicitly use `--force` (recorded as NOT verified).

→ emits test report and, when available, execution results
Reviewerstage 4

Issues the verdict; bounces work back until approved.

The Reviewer audits the prior stage's artifact. On request-changes it loops back to the Coder for up to `max_revision_rounds`. Optional agents extend the loop: an adversarial Red agent before the Reviewer, and a Security Auditor appended after the Reviewer when enabled or forced by risk.

→ emits verdict: correctness, quality, coverage scores
local branch when createdniki/<id>Agent artifacts are validated against their JSON schemas before handoff.

vs. one agent in one conversation.

separate stages make context and handoffs visible
single-agent loop
  • Confirmation bias: the same agent may review its own reasoning
  • Context drift: long conversations can make relevant context harder to manage
  • More steering: you may still need to steer and re-check edits
niki's pipeline
  • Separate Tester and Reviewer sessions receive the typed artifacts they need
  • Narrow stage inputs instead of one growing conversation
  • The Reviewer can request another Coder pass within the configured revision limit

Specialized agents.

configurable; risk tiers can force the Security Auditor
opt-in

Red agent

An adversarial reviewer that probes the diff before the Reviewer. Opt-in via [red_blue] enabled = true; sees evidence-only projections.

opt-in

Security Auditor

A dedicated security pass over the change via [security] or risk policy, appended after Reviewer; sees Planner and Coder artifacts only.

opt-in

Parallel Coders

Run multiple Coder implementations in parallel with a Synthesizer agent that reconciles them, via [parallel].