Turn a research objective and evaluator into long-running coding agents that run experiments, accumulate evidence, and return a verified result.
Start · Research loop · Install · What is open · Docs
Install the CLI and the plugin for your coding agent, then describe the research outcome:
Use Synthetic Scientists to improve this solver.
Preserve correctness and minimize the benchmark runtime.
The host agent reads the repository before asking anything. It proposes one compact research contract:
Objective Reduce benchmark runtime
Metric paired runtime ratio, maximize
Correctness existing tests + held-out cases
Isolation srt; network disabled
Compute 4 autonomous workers · no automatic stop
Deliverable verified branch + reproduction command
Launch, or change any line?
After approval, workers run the research loop autonomously. The host monitors health and budget, verifies the selected commit against a matched baseline, and imports the branch into the source repository.
objective + evaluator + compute budget
│
▼
registered baseline
│
┌────────────┼────────────┐
▼ ▼ ▼
retrieve propose local checks
▲ │ │
└──── shared evidence ◄─ evaluate
│
▼
repeated candidate + baseline
│
▼
verified branch
Workers control retrieval, hypotheses, local testing, and evaluation timing. Synthetic Scientists supplies isolated worktrees, scored commits, persistent research memory, user-directed compute, health management, and final verification.
- Search breadth: independent workers explore different mechanisms and starting points.
- Search depth: long-lived sessions iterate through implementation failures instead of stopping after one generation.
- Knowledge accumulation: experiments, failed approaches, notebook evidence, and reusable methods remain available to every worker.
- Verification: search-time leaders are repeated against the registered baseline before delivery.
Representative uses include algorithm discovery, systems optimization, machine-learning experimentation, and scientific software.
npm install -g synthetic-scientists
scientist loginThe launcher provisions the core into ~/.synthetic-scientists/; project
dependencies remain untouched.
/plugin marketplace add synthetic-sciences/scientist
/plugin install scientist@scientist-marketplace
codex plugin marketplace add synthetic-sciences/scientist
codex plugin add scientist@scientist-marketplaceagent plugin marketplace add \
https://github.com/synthetic-sciences/scientist.git \
--git-ref mainRun /plugin, select scientist, and choose User or Project scope.
git clone https://github.com/synthetic-sciences/scientist \
"$HOME/.local/share/synthetic-scientist"
"$HOME/.local/share/synthetic-scientist/plugin/install-skills.sh"The durable .agents/skills installation is also discovered by Cursor and
Codex.
| Preset | Workers | Organization |
|---|---|---|
solo |
1 | One autonomous trajectory |
team |
4 | Autonomous peers + shared evidence |
diverse |
8 | Peers + adaptive search biases |
hierarchical |
16+ | Coordinator groups |
Presets do not add automatic stops. Score, evaluation, and wall-time conditions remain available when the user explicitly requests a bounded campaign.
scientist verify <hash> --repetitions 3
scientist promote <hash> \
--branch research/verified-result \
--into /path/to/source-repositoryverify regrades the clean candidate and matched run baseline under the
registered evaluator. promote --into transfers the verified branch without
checking it out or modifying the user's working tree.
plugin/
├── skills/
│ ├── scientist-orchestrator/ intent → contract → research → verification
│ ├── scientist-bootstrap/ installation and source snapshots
│ ├── scientist-evaluator/ evaluator and acceptance-contract authoring
│ ├── scientist-operator/ session operation and recovery
│ └── scientist-profiles/ runtime profiles
├── agents/ task authoring and session diagnosis
├── hooks/ non-provisioning session context
└── host manifests/ Claude Code, Codex, and Cursor
launcher/ npm launcher source
install.sh no-Node installation path
The skills, launcher, and installer are Apache-2.0. The separately distributed core requires access.
scientist new my-task
scientist check my-task
scientist launch -c my-task/task.yaml agents.count=4
scientist overview
scientist results --recent
scientist inspect <hash> --diff
scientist verify <hash>
scientist promote <hash> -b research/result --into /path/to/sourceFull reference: documentation.