Skip to main content
Research Factory is a persistent, asynchronous experiment assembly line. You define an objective, workspace, evaluation, cadence, budget, and stopping conditions. The Factory runs bounded experiments and leaves durable Results you can inspect later: reports, prompts, policies, datasets, models, artifacts, and draft code changes. It is not a generic autonomous employee, an unrestricted agent, or a promise that every objective improves. The evaluator and stopping policy are part of the product contract, not optional polish.

Results

A Result is anything a Factory produces that is directly valuable to you: a report, prompt, policy, dataset, model, artifact, or draft code change. Results are the canonical output of a Factory. Logs, scheduler receipts, health sensors, and raw traces are not Results — they are evidence a Result may reference. Most Results are ordinary: a Factory that is not hillclimbing still produces Results and needs no evaluation. When a Factory does optimize against a benchmark, a Result can carry two optional pieces of metadata:
  • evaluation — a benchmark-owned grade (held-out score and verdict).
  • current-best selection — a marker that this Result is the current best for a named objective, recorded in an append-only selection history.
Selection is historical state, not identity: a Result stays the same Result after another Result becomes current best.
You never need to understand evaluation or current-best selection to use a Factory; both are covered in the optional hillclimbing flow in Factory concepts.

The operating loop

An operator-triggered wake is always preview-first. The preview names the work that is ready and binds the resolved request. Confirmation replays that exact contract; it does not silently substitute a new workspace, resource set, or launch request. A no-ready preview starts no work, but the WRITE-scoped preview route may still persist scheduler or admission metadata.

When to use it

Unsupported launch workloads include unbounded spend, work without an inspectable evaluation, implicit access to resources outside the configured workspace, and claims that require reliability windows that have not completed.

Surfaces

  • Python: SynthClient().research.factories for preview, confirmation, status, and research.factories.results for Results; the advanced research.session namespace for Factory/Effort setup.
  • MCP: hosted Managed Research tools for create, preview, confirm, inspect, pause, resume, and archive.
  • Dashboard: /smr/factories for interactive review and WorkProduct opening.
Research Factory ships in synth-ai[research]; there is no second package.

“24/7” At Launch

At launch, “24/7” describes an asynchronous Factory that can remain scheduled and continue producing bounded work without an open browser. It does not claim completed 24-hour, 72-hour, 12-cycle, or 30-day durability evidence until those clocks and their monitoring receipts are complete.

Next steps

Factory quickstart

Preview, confirm, inspect, and stop one bounded Factory cycle.

Factory concepts

Controls, receipts, failure behavior, and outputs.

Usage and budgets

Understand spend, caps, and recovery actions.

MCP quickstart

Connect an agent client to the hosted MCP server.