Orchestrate fleets of agents — reliably

Pinard is a distributed engine for running fleets of LLM agents through semi-deterministic loops — deterministic runbooks that drive non-deterministic agents, coordinated over NATS across many repositories and machines.

A raw agent is powerful but unpredictable: it wanders, forgets, and can’t be resumed. Pinard wraps every agent in a defined loop where the control flow is code and only the work inside a step is left to the model. The result is agent work that is reliable (the loop decides what happens next), resumable (every step is journaled), auditable (you can read exactly what ran), and distributed (loops run as a fleet across repos and machines).

Three pillars hold it up:

Deterministic control · Non-deterministic agents · Persistent memory

A sketched vineyard estate with several independent worker parcels connected to a central control house and a persistent cellar archive. C · Central control A · Agent parcels M · Persistent memory ↔ · Deterministic routes
One coordinated estate. Deterministic routes connect independent agent work to shared control and durable memory.
  • CCentral control — the daemon and optional conductors coordinate the estate.
  • AAgent parcels — workers operate independently inside bounded workstreams.
  • Deterministic routes — explicit control and events connect every component.
  • MPersistent memory — distilled knowledge survives individual sessions.

Automating code review — turning issues into merged MRs — is just one built-in loop. You write your own loops for whatever your fleet does, and the fleet gets smarter over time as it writes what it learns to memory.

One conductor. Many agents. One harvest. 🍷

New here? Start with the Overview, then The Semi-Deterministic Loop and Memory & Recall — the ideas that make the rest cohere.