Benchmarks for agentic scientific research
OpenScience leads every public benchmark for agentic scientific research that we have run. Each benchmark runs in its native environment, with its own verifiers or judge, through Harbor on Modal, and we report each in its own metric. Every other entry shown is from the benchmark's public leaderboard or a published comparison on the same tasks and grader.2
Terminal-Bench Science Terminal-Bench Science is 70 long-horizon research tasks, each with its own verifier and an 8-hour limit, in fields from cosmological inference and spatial transcriptomics to formal proof and hydrology. OpenScience solves 75.7%. The strongest public entry, Codex with the same lead model (GPT-6 Astra), solves 68.1%; the strongest Claude Code entry (Opus 5.5) solves 63.3%.
Terminal-Bench Science resolution rate, % of 70 tasks, every public entry other agents Claude Code Codex OpenScience 0 25 50 75 100 OpenScience · GPT-6 Astra 75.7 Codex · GPT-6 Astra 68.1 Claude Code · Opus 5.5 63.3 Claude Code · Fable 5.1 40.0 Claude Code · Opus 5 30.0 Codex · GPT-5.6 Sol 22.4 Claude Code · Fable 5 21.4 Codex · DeepSeek V4.1 Flash 15.7 Grok Build · Grok 4.7 14.3 mini-SWE-agent · Gemini 3.8 Flash 12.4 Claude Code · Opus 4.8 10.5 Codex · GPT-5.6 Terra 8.6 Claude Code · GLM 5.3 8.1 Claude Code · Kimi K3 7.1 Grok Build · Grok 4.6 7.1 mini-SWE-agent · Gemini 3.7 Flash 5.7 Codex · DeepSeek V4 Pro 3.8 Codex · GPT-5.6 Luna 3.3
Figure 1. OpenScience and all 17 entries on the public Terminal-Bench Science leaderboard.The margin is largest in the life sciences, 73.7% against 59.6% for Codex. Engineering, with nine tasks, is the one domain where Codex is ahead (70.4% against 55.6%).
OpenScience Codex · GPT-6 Astra Claude Code · Opus 5.5 0 25 50 75 100 All 70 tasks 68.1% 63.3% 75.7% 75.7 Life sciences (19) 59.6% 54.4% 73.7% 73.7 Physical sciences (17) 58.8% 60.8% 76.5% 76.5 Earth sciences (8) 79.2% 62.5% 87.5% 87.5 Mathematics (17) 80.4% 76.5% 82.4% 82.4 Engineering (9) 70.4% 63.0% 55.6% 55.6
Figure 2. Resolution rate by scientific domain for OpenScience and the strongest Codex and Claude Code entries. Numbers above the rows are OpenScience's.OpenScience also solved 2 tasks, cmb-cross-inference and variable-star-vetting, that no leaderboard entry solved in any of its 51 attempts.
Life ambient-rna-correction · OpenScience: 1/1 ambient-rna-correction · Codex · GPT-6 Astra: 3/3 ambient-rna-correction · Claude Code · Opus 5.5: 3/3 clinical-metadata-recovery · OpenScience: 1/1 clinical-metadata-recovery · Codex · GPT-6 Astra: 3/3 clinical-metadata-recovery · Claude Code · Opus 5.5: 3/3 dapi-he-alignment · OpenScience: 1/1 dapi-he-alignment · Codex · GPT-6 Astra: 3/3 dapi-he-alignment · Claude Code · Opus 5.5: 3/3 animal-reid · OpenScience: 1/1 animal-reid · Codex · GPT-6 Astra: 2/3 animal-reid · Claude Code · Opus 5.5: 3/3 betalactam-multimodal-transfer · OpenScience: 1/1 betalactam-multimodal-transfer · Codex · GPT-6 Astra: 2/3 betalactam-multimodal-transfer · Claude Code · Opus 5.5: 3/3 foraging-cognitive-model · OpenScience: 1/1 foraging-cognitive-model · Codex · GPT-6 Astra: 2/3 foraging-cognitive-model · Claude Code · Opus 5.5: 3/3 ont-tn-qc · OpenScience: 1/1 ont-tn-qc · Codex · GPT-6 Astra: 3/3 ont-tn-qc · Claude Code · Opus 5.5: 2/3 eeg-erp-recovery · OpenScience: 1/1 eeg-erp-recovery · Codex · GPT-6 Astra: 3/3 eeg-erp-recovery · Claude Code · Opus 5.5: 1/3 genomic-model-ranking · OpenScience: 1/1 genomic-model-ranking · Codex · GPT-6 Astra: 3/3 genomic-model-ranking · Claude Code · Opus 5.5: 1/3 qsm-reconstruction · OpenScience: 1/1 qsm-reconstruction · Codex · GPT-6 Astra: 3/3 qsm-reconstruction · Claude Code · Opus 5.5: 1/3 ankle-mri-findings · OpenScience: 1/1 ankle-mri-findings · Codex · GPT-6 Astra: 1/3 ankle-mri-findings · Claude Code · Opus 5.5: 2/3 cilia-segmentation · OpenScience: 1/1 cilia-segmentation · Codex · GPT-6 Astra: 0/3 cilia-segmentation · Claude Code · Opus 5.5: 3/3 diag-chipseq · OpenScience: 1/1 diag-chipseq · Codex · GPT-6 Astra: 2/3 diag-chipseq · Claude Code · Opus 5.5: 0/3 spatial-cell-annotation · OpenScience: 1/1 spatial-cell-annotation · Codex · GPT-6 Astra: 0/3 spatial-cell-annotation · Claude Code · Opus 5.5: 2/3 cell-lineage-reconstruction · OpenScience: 0/1 cell-lineage-reconstruction · Codex · GPT-6 Astra: 2/3 cell-lineage-reconstruction · Claude Code · Opus 5.5: 1/3 protein-active-learning · OpenScience: 0/1 protein-active-learning · Codex · GPT-6 Astra: 2/3 protein-active-learning · Claude Code · Opus 5.5: 0/3 longitudinal-clinical-agent · OpenScience: 0/1 longitudinal-clinical-agent · Codex · GPT-6 Astra: 0/3 longitudinal-clinical-agent · Claude Code · Opus 5.5: 0/3 mri-harmonization · OpenScience: 0/1 mri-harmonization · Codex · GPT-6 Astra: 0/3 mri-harmonization · Claude Code · Opus 5.5: 0/3 tumor-immune-interface · OpenScience: 0/1 tumor-immune-interface · Codex · GPT-6 Astra: 0/3 tumor-immune-interface · Claude Code · Opus 5.5: 0/3 Physical frustrated-heisenberg-nqs · OpenScience: 1/1 frustrated-heisenberg-nqs · Codex · GPT-6 Astra: 3/3 frustrated-heisenberg-nqs · Claude Code · Opus 5.5: 3/3 geometric-pharmacophore-alignment · OpenScience: 1/1 geometric-pharmacophore-alignment · Codex · GPT-6 Astra: 3/3 geometric-pharmacophore-alignment · Claude Code · Opus 5.5: 3/3 inverse-lithography · OpenScience: 1/1 inverse-lithography · Codex · GPT-6 Astra: 3/3 inverse-lithography · Claude Code · Opus 5.5: 3/3 leaky-bloch-meep · OpenScience: 1/1 leaky-bloch-meep · Codex · GPT-6 Astra: 3/3 leaky-bloch-meep · Claude Code · Opus 5.5: 3/3 neo-orbit-determination · OpenScience: 1/1 neo-orbit-determination · Codex · GPT-6 Astra: 3/3 neo-orbit-determination · Claude Code · Opus 5.5: 3/3 spin-glass-groundstate · OpenScience: 1/1 spin-glass-groundstate · Codex · GPT-6 Astra: 3/3 spin-glass-groundstate · Claude Code · Opus 5.5: 3/3 stacking-disorder-diffraction · OpenScience: 1/1 stacking-disorder-diffraction · Codex · GPT-6 Astra: 3/3 stacking-disorder-diffraction · Claude Code · Opus 5.5: 3/3 xrd-multiphase-qpa · OpenScience: 1/1 xrd-multiphase-qpa · Codex · GPT-6 Astra: 3/3 xrd-multiphase-qpa · Claude Code · Opus 5.5: 2/3 inverse-waveguide-shape · OpenScience: 1/1 inverse-waveguide-shape · Codex · GPT-6 Astra: 3/3 inverse-waveguide-shape · Claude Code · Opus 5.5: 1/3 rv-astrometry-fitting · OpenScience: 1/1 rv-astrometry-fitting · Codex · GPT-6 Astra: 2/3 rv-astrometry-fitting · Claude Code · Opus 5.5: 2/3 rdkit-ic-constraints · OpenScience: 1/1 rdkit-ic-constraints · Codex · GPT-6 Astra: 0/3 rdkit-ic-constraints · Claude Code · Opus 5.5: 3/3 cmb-cross-inference: solved only by OpenScience cmb-cross-inference · OpenScience: 1/1 cmb-cross-inference · Codex · GPT-6 Astra: 0/3 cmb-cross-inference · Claude Code · Opus 5.5: 0/3 variable-star-vetting: solved only by OpenScience variable-star-vetting · OpenScience: 1/1 variable-star-vetting · Codex · GPT-6 Astra: 0/3 variable-star-vetting · Claude Code · Opus 5.5: 0/3 nanoindentation-property-extraction · OpenScience: 0/1 nanoindentation-property-extraction · Codex · GPT-6 Astra: 1/3 nanoindentation-property-extraction · Claude Code · Opus 5.5: 1/3 tess-transit-vetting · OpenScience: 0/1 tess-transit-vetting · Codex · GPT-6 Astra: 0/3 tess-transit-vetting · Claude Code · Opus 5.5: 1/3 3x2pt-inference · OpenScience: 0/1 3x2pt-inference · Codex · GPT-6 Astra: 0/3 3x2pt-inference · Claude Code · Opus 5.5: 0/3 si-fracture-fbc · OpenScience: 0/1 si-fracture-fbc · Codex · GPT-6 Astra: 0/3 si-fracture-fbc · Claude Code · Opus 5.5: 0/3 Earth duan-thesis · OpenScience: 1/1 duan-thesis · Codex · GPT-6 Astra: 3/3 duan-thesis · Claude Code · Opus 5.5: 3/3 hysteretic-aquifer-control · OpenScience: 1/1 hysteretic-aquifer-control · Codex · GPT-6 Astra: 3/3 hysteretic-aquifer-control · Claude Code · Opus 5.5: 3/3 sparse-network-assimilation · OpenScience: 1/1 sparse-network-assimilation · Codex · GPT-6 Astra: 3/3 sparse-network-assimilation · Claude Code · Opus 5.5: 3/3 mendota-ice-phenology · OpenScience: 1/1 mendota-ice-phenology · Codex · GPT-6 Astra: 3/3 mendota-ice-phenology · Claude Code · Opus 5.5: 2/3 masked-spherical-remap · OpenScience: 1/1 masked-spherical-remap · Codex · GPT-6 Astra: 3/3 masked-spherical-remap · Claude Code · Opus 5.5: 1/3 stereo-dem-icesat2 · OpenScience: 1/1 stereo-dem-icesat2 · Codex · GPT-6 Astra: 2/3 stereo-dem-icesat2 · Claude Code · Opus 5.5: 2/3 hbv-calibration-1 · OpenScience: 1/1 hbv-calibration-1 · Codex · GPT-6 Astra: 2/3 hbv-calibration-1 · Claude Code · Opus 5.5: 0/3 supraglacial-lake-classification · OpenScience: 0/1 supraglacial-lake-classification · Codex · GPT-6 Astra: 0/3 supraglacial-lake-classification · Claude Code · Opus 5.5: 1/3 Mathematics amr-poisson-optimize · OpenScience: 1/1 amr-poisson-optimize · Codex · GPT-6 Astra: 3/3 amr-poisson-optimize · Claude Code · Opus 5.5: 3/3 certified-sparse-regression · OpenScience: 1/1 certified-sparse-regression · Codex · GPT-6 Astra: 3/3 certified-sparse-regression · Claude Code · Opus 5.5: 3/3 dna-storage-codec · OpenScience: 1/1 dna-storage-codec · Codex · GPT-6 Astra: 3/3 dna-storage-codec · Claude Code · Opus 5.5: 3/3 energy-routing · OpenScience: 1/1 energy-routing · Codex · GPT-6 Astra: 3/3 energy-routing · Claude Code · Opus 5.5: 3/3 finite-free-stam · OpenScience: 1/1 finite-free-stam · Codex · GPT-6 Astra: 3/3 finite-free-stam · Claude Code · Opus 5.5: 3/3 koopman-mfg-id · OpenScience: 1/1 koopman-mfg-id · Codex · GPT-6 Astra: 3/3 koopman-mfg-id · Claude Code · Opus 5.5: 3/3 ode-law-discovery · OpenScience: 1/1 ode-law-discovery · Codex · GPT-6 Astra: 3/3 ode-law-discovery · Claude Code · Opus 5.5: 3/3 regularized-game-proof · OpenScience: 1/1 regularized-game-proof · Codex · GPT-6 Astra: 3/3 regularized-game-proof · Claude Code · Opus 5.5: 3/3 gen-turan-paths · OpenScience: 1/1 gen-turan-paths · Codex · GPT-6 Astra: 3/3 gen-turan-paths · Claude Code · Opus 5.5: 2/3 noisy-blackbox-optimization · OpenScience: 1/1 noisy-blackbox-optimization · Codex · GPT-6 Astra: 2/3 noisy-blackbox-optimization · Claude Code · Opus 5.5: 3/3 onsager-ising-lean · OpenScience: 1/1 onsager-ising-lean · Codex · GPT-6 Astra: 2/3 onsager-ising-lean · Claude Code · Opus 5.5: 3/3 linked-cell-suppression · OpenScience: 1/1 linked-cell-suppression · Codex · GPT-6 Astra: 3/3 linked-cell-suppression · Claude Code · Opus 5.5: 0/3 small-area-equivalence · OpenScience: 1/1 small-area-equivalence · Codex · GPT-6 Astra: 3/3 small-area-equivalence · Claude Code · Opus 5.5: 0/3 symbolic-regression · OpenScience: 1/1 symbolic-regression · Codex · GPT-6 Astra: 1/3 symbolic-regression · Claude Code · Opus 5.5: 2/3 localized-sspd-solver · OpenScience: 0/1 localized-sspd-solver · Codex · GPT-6 Astra: 2/3 localized-sspd-solver · Claude Code · Opus 5.5: 3/3 traffic-flux-inversion · OpenScience: 0/1 traffic-flux-inversion · Codex · GPT-6 Astra: 0/3 traffic-flux-inversion · Claude Code · Opus 5.5: 2/3 highdim-mediation-debiasing · OpenScience: 0/1 highdim-mediation-debiasing · Codex · GPT-6 Astra: 1/3 highdim-mediation-debiasing · Claude Code · Opus 5.5: 0/3 Engineering microarch-modeling · OpenScience: 1/1 microarch-modeling · Codex · GPT-6 Astra: 3/3 microarch-modeling · Claude Code · Opus 5.5: 3/3 navigation-sensor-calibration · OpenScience: 1/1 navigation-sensor-calibration · Codex · GPT-6 Astra: 3/3 navigation-sensor-calibration · Claude Code · Opus 5.5: 3/3 rolling-shutter-oma · OpenScience: 1/1 rolling-shutter-oma · Codex · GPT-6 Astra: 3/3 rolling-shutter-oma · Claude Code · Opus 5.5: 3/3 inelastic-constitutive-discovery · OpenScience: 1/1 inelastic-constitutive-discovery · Codex · GPT-6 Astra: 3/3 inelastic-constitutive-discovery · Claude Code · Opus 5.5: 2/3 reactor-safety-control · OpenScience: 0/1 reactor-safety-control · Codex · GPT-6 Astra: 3/3 reactor-safety-control · Claude Code · Opus 5.5: 3/3 baseline-free-localization · OpenScience: 1/1 baseline-free-localization · Codex · GPT-6 Astra: 1/3 baseline-free-localization · Claude Code · Opus 5.5: 0/3 tamp-skill-planning · OpenScience: 0/1 tamp-skill-planning · Codex · GPT-6 Astra: 1/3 tamp-skill-planning · Claude Code · Opus 5.5: 3/3 guided-wave-localization · OpenScience: 0/1 guided-wave-localization · Codex · GPT-6 Astra: 1/3 guided-wave-localization · Claude Code · Opus 5.5: 0/3 virtual-baseline-localization · OpenScience: 0/1 virtual-baseline-localization · Codex · GPT-6 Astra: 1/3 virtual-baseline-localization · Claude Code · Opus 5.5: 0/3 OpenScience 76% Codex · GPT-6 Astra 68% Claude Code · Opus 5.5 63%
Figure 3. Every Terminal-Bench Science task, grouped by domain. Cell shade is the fraction of attempts that passed (OpenScience one, leaderboard entries three); open cells never passed. Triangles mark tasks that only OpenScience solved.6 min 30 min 2 h 8 h limit spatial-cell-annotation: solved, 0.17 h spatial-cell-annotation tumor-immune-interface: not solved, 0.25 h tumor-immune-interface regularized-game-proof: solved, 0.30 h regularized-game-proof diag-chipseq: solved, 0.35 h diag-chipseq ankle-mri-findings: solved, 0.37 h ankle-mri-findings eeg-erp-recovery: solved, 0.37 h eeg-erp-recovery variable-star-vetting: solved, 0.40 h variable-star-vetting koopman-mfg-id: solved, 0.42 h koopman-mfg-id rdkit-ic-constraints: solved, 0.44 h rdkit-ic-constraints ont-tn-qc: solved, 0.53 h ont-tn-qc genomic-model-ranking: solved, 0.54 h genomic-model-ranking supraglacial-lake-classification: not solved, 0.55 h supraglacial-lake-classification small-area-equivalence: solved, 0.56 h small-area-equivalence nanoindentation-property-extraction: not solved, 0.58 h nanoindentation-property-extraction clinical-metadata-recovery: solved, 0.59 h clinical-metadata-recovery mendota-ice-phenology: solved, 0.62 h mendota-ice-phenology longitudinal-clinical-agent: not solved, 0.64 h longitudinal-clinical-agent foraging-cognitive-model: solved, 0.66 h foraging-cognitive-model betalactam-multimodal-transfer: solved, 0.68 h betalactam-multimodal-transfer masked-spherical-remap: solved, 0.72 h masked-spherical-remap symbolic-regression: solved, 0.73 h symbolic-regression neo-orbit-determination: solved, 0.74 h neo-orbit-determination linked-cell-suppression: solved, 0.80 h linked-cell-suppression duan-thesis: solved, 0.84 h duan-thesis xrd-multiphase-qpa: solved, 0.85 h xrd-multiphase-qpa energy-routing: solved, 0.86 h energy-routing dapi-he-alignment: solved, 0.87 h dapi-he-alignment spin-glass-groundstate: solved, 0.89 h spin-glass-groundstate leaky-bloch-meep: solved, 0.92 h leaky-bloch-meep hbv-calibration-1: solved, 0.93 h hbv-calibration-1 ambient-rna-correction: solved, 0.94 h ambient-rna-correction inverse-lithography: solved, 0.96 h inverse-lithography cilia-segmentation: solved, 0.96 h cilia-segmentation ode-law-discovery: solved, 0.97 h ode-law-discovery gen-turan-paths: solved, 1.01 h gen-turan-paths localized-sspd-solver: not solved, 1.08 h localized-sspd-solver geometric-pharmacophore-alignment: solved, 1.11 h geometric-pharmacophore-alignment baseline-free-localization: solved, 1.15 h baseline-free-localization tamp-skill-planning: not solved, 1.16 h tamp-skill-planning mri-harmonization: not solved, 1.17 h mri-harmonization finite-free-stam: solved, 1.20 h finite-free-stam sparse-network-assimilation: solved, 1.24 h sparse-network-assimilation protein-active-learning: not solved, 1.52 h protein-active-learning virtual-baseline-localization: not solved, 1.72 h virtual-baseline-localization highdim-mediation-debiasing: not solved, 1.73 h highdim-mediation-debiasing microarch-modeling: solved, 1.79 h microarch-modeling rolling-shutter-oma: solved, 1.86 h rolling-shutter-oma amr-poisson-optimize: solved, 1.86 h amr-poisson-optimize guided-wave-localization: not solved, 2.00 h guided-wave-localization cmb-cross-inference: solved, 2.09 h cmb-cross-inference onsager-ising-lean: solved, 2.38 h onsager-ising-lean qsm-reconstruction: solved, 2.48 h qsm-reconstruction inverse-waveguide-shape: solved, 2.54 h inverse-waveguide-shape 3x2pt-inference: not solved, 2.60 h 3x2pt-inference traffic-flux-inversion: not solved, 2.61 h traffic-flux-inversion rv-astrometry-fitting: solved, 2.62 h rv-astrometry-fitting stacking-disorder-diffraction: solved, 2.77 h stacking-disorder-diffraction noisy-blackbox-optimization: solved, 2.93 h noisy-blackbox-optimization hysteretic-aquifer-control: solved, 3.09 h hysteretic-aquifer-control navigation-sensor-calibration: solved, 3.21 h navigation-sensor-calibration dna-storage-codec: solved, 4.41 h dna-storage-codec tess-transit-vetting: not solved, 5.81 h tess-transit-vetting cell-lineage-reconstruction: not solved, 5.92 h cell-lineage-reconstruction reactor-safety-control: not solved, 6.27 h reactor-safety-control certified-sparse-regression: solved, 6.34 h certified-sparse-regression animal-reid: solved, 6.60 h animal-reid si-fracture-fbc: not solved, 7.01 h si-fracture-fbc frustrated-heisenberg-nqs: solved, 8.00 h frustrated-heisenberg-nqs inelastic-constitutive-discovery: solved, regraded, time not recorded inelastic-constitutive-discovery * stereo-dem-icesat2: solved, regraded, time not recorded stereo-dem-icesat2 * 53/70 solved
Figure 4. OpenScience's wall-clock time per task (spoke length, log scale; the dashed ring is the 8-hour limit), ordered by time. Filled dots passed. The two tasks marked * were regraded after the run and have no recorded time.Terminal-Bench 4.0 On the 14 science tasks of Terminal-Bench 4.0 OpenScience solves 71.4%. We scored all 27 public entries on the same tasks from their published per-trial results: the best is Claude Code with Fable 5.1 (high) at 60%, and the best Codex entry reaches 45.7%.
Terminal-Bench 4.0, science tasks resolution rate, % of 14 tasks, every public entry other agents Claude Code Codex OpenScience 0 25 50 75 100 OpenScience · GPT-6 Astra (high) 71.4 Claude Code · Fable 5.1 (high) 60.0 Claude Code · Fable 5.1 (max) 52.9 Claude Code · Fable 5.1 (medium) 52.9 Claude Code · Fable 5.1 (xhigh) 50.0 Claude Code · Opus 5 (xhigh) 50.0 Claude Code · Opus 5 (max) 47.1 Codex · GPT-6 Astra (high) 45.7 Codex · GPT-6 Astra (xhigh) 44.3 Claude Code · GLM-5.3 (max) 44.3 Codex · GPT-6 Astra (max) 42.9 Claude Code · Opus 5 (high) 42.9 Claude Code · Fable 5.1 (low) 42.9 Codex · GPT-6 Astra (medium) 40.0 Claude Code · Opus 5 (medium) 38.6 Claude Code · Fable 5 (max) 38.6 Codex · GPT-5.6 Sol (max) 38.6 Codex · GPT-6 Astra (low) 34.3 Claude Code · Opus 5 (low) 34.3 Claude Code · Opus 4.8 (max) 31.4 Grok Build · Grok 4.7 (xhigh) 30.0 Codex · GPT-5.6 Luna (max) 21.4 Codex · GPT-5.6 Terra (max) 20.0 Grok Build · Grok 4.6 (high) 20.0 mini-SWE-agent · Gemini 3.7 Flash (high) 15.7 mini-SWE-agent · Gemini 3.8 Flash (high) 14.3 Claude Code · Sonnet 5 (max) 11.4 Grok Build · Grok 4.5 (high) 10.0
Figure 5. OpenScience and every public Terminal-Bench 4.0 entry on the 14 science tasks. Reasoning effort in parentheses.BiomniBench-DA BiomniBench-DA asks for open-ended analyses of published biomedical datasets. The agent may not read the source paper, and a Gemini 3.1 Pro judge grades the full trace against a rubric written with the paper's authors. Over the 50 public tasks OpenScience averages 82.2, with 20 perfect scores. AIPOCH Open Science reports 81.04 under the same judge, and OmicOS 76.6.
BiomniBench-DA mean rubric score, 50 tasks, Gemini 3.1 Pro judge other agents Claude Code OpenScience 0 25 50 75 100 OpenScience · GPT-6 Sol 82.2 AIPOCH Open Science · GPT-5.6 Sol 81.04 OmicOS · DeepSeek V4 Pro 76.6 Claude Code (CSSwitch) · DeepSeek V4 Pro 68.6 EvoScientist · DeepSeek V4 Pro 65.3 ai4s-research/open-science · DeepSeek V4 Pro 63.1 Biomni · DeepSeek V4 Pro 62.6 OpenScience · DeepSeek V4 Pro * 62.2 Wisp Science · DeepSeek V4 Pro 61.8
Figure 6. OpenScience and the published BiomniBench-DA results on the same 50 tasks and judge. The row marked * is OpenScience run by the BiomniBench-AI4S authors with DeepSeek V4 Pro, the model every entry below AIPOCH uses.0 10 20 30 40 50 60 70 80 90 100 OpenScience mean 82.2 AIPOCH Open Science 81.04 da-20-4 da-20-4: 23 da-6-2: 35 da-26-2: 43 da-19-4: 45 da-25-1: 46 da-20-1: 48 da-26-4: 56 da-18-7: 57 da-18-5: 59 da-13-5: 60 da-4-6: 65 da-19-6: 67 da-8-2: 72 da-8-3: 73 da-4-7: 76 da-9-1: 76 da-15-8: 80 da-19-1: 80 da-24-3: 80 da-10-1: 84 da-17-1: 84 da-14-3: 85 da-15-2: 85 da-14-8: 86 da-12-2: 87 da-20-3: 88 da-13-6: 90 da-17-3: 91 da-1-4: 92 da-1-3: 95 da-10-3: 100 da-11-1: 100 da-12-4: 100 da-13-1: 100 da-13-3: 100 da-14-1: 100 da-15-1: 100 da-15-7: 100 da-16-1: 100 da-17-5: 100 da-18-1: 100 da-19-3: 100 da-3-4: 100 da-3-5: 100 da-4-1: 100 da-5-1: 100 da-5-3: 100 da-6-5: 100 da-8-1: 100 da-9-7: 100
Figure 7. OpenScience's score on each of the 50 BiomniBench-DA tasks.OpenScience Bench
The public benchmarks each test part of the work. OpenScience Bench, our internal benchmark, measures end-to-end scientific research, and every entry is scored pass@3. OpenScience with GPT-6 Astra scores 47.3%, ahead of Claude Science with Fable 5.1 (40.6%), K-Dense (BYOK) with GPT-6 Astra (40.3%) and Codex with GPT-6 Astra (38.1%); Grok Build with Grok 4.7 scores 12.2%. Three of those entries run the same model, so their gap is the harness: 7.0 points over K-Dense and 9.2 over Codex.
OpenScience Bench end-to-end scientific research, pass@3 for every entry 0 20 40 60 OpenScience · GPT-6 Astra 47.3 Claude Science · Fable 5.1 40.6 K-Dense (BYOK) · GPT-6 Astra 40.3 Codex · GPT-6 Astra 38.1 Grok Build · Grok 4.7 12.2
Figure 8. OpenScience Bench, pass@3 for every entry. The model each harness ran is after the dot.How OpenScience works
At the centre is a small, general agent loop. The science lives around it: in skills, in the agent definitions, and in a prompt header for each model family. A few optional harness units add checks at the end of a turn: one re-reads a written report against the original request in a fresh context, another enforces the budget. A unit stays only if it improves measured outcomes.
Because the loop is model-agnostic, the product is too. The science instructions are identical across model families, no built-in agent is tied to a model, and each lab can run the model it trusts.
skills 371 in 18 categories, loaded on demand your goal research agent lead: plans, delegates, synthesises tools shell Python and R kernels files literature, 42 databases compute local machine SSH, Slurm, PBS Modal Results with provenance brief report and verification explore general ml biology physics chemistry data workers
Figure 9. How a request moves through OpenScience. The lead agent loads skills as a task needs them, sends briefs to workers and gets back reports with a verification, calls tools and compute, and returns Results with their provenance.An agent built for scientific work
Scientific work follows procedures, and OpenScience carries 371 of them as skills in 18 categories: how a field runs a single-cell analysis, a docking screen, a DESeq2 contrast or a Lean proof. The agent always sees an index and loads a skill's full text when a task needs it. Much of the library comes from other groups: 180 skills from K-Dense, 79 from Orchestra Research, and more from Hugging Face, Anthropic and NVIDIA BioNeMo.
Natural sciences Machine learning Data & infrastructure Research craft biology anndata (biology) benchling-integration (biology) bids (biology) bioimage-analysis (biology) bionemo-nims (biology) biopython (biology) bioservices (biology) bulk-rnaseq (biology) cancer-genomics-analysis (biology) clinical-decision-support (biology) clinical-imaging (biology) clinical-reports (biology) cobrapy (biology) curated-bio-datasets (biology) deepspot-m (biology) deeptools (biology) dnanexus-integration (biology) esm (biology) etetoolkit (biology) flow-cytometry-analysis (biology) flowio (biology) folklore-variant-evidence (biology) genomic-coordinates (biology) genomic-intelligence (biology) gget (biology) ginkgo-cloud-lab (biology) glycobiology (biology) glycoengineering (biology) histolab (biology) immunology-assays (biology) lamindb (biology) latchbio-integration (biology) marker-panel-annotation (biology) microbial-dynamics (biology) molecular-cloning (biology) neurokit2 (biology) neuropixels-analysis (biology) nextflow (biology) omero-integration (biology) opentrons-integration (biology) pacsomatic (biology) pathml (biology) pathogen-variant-surveillance (biology) pathway-enrichment (biology) pharmacology-wetlab (biology) phylogenetics (biology) polars-bio (biology) protein-binder-design (biology) protocolsio-integration (biology) pydeseq2 (biology) pydicom (biology) pyhealth (biology) pylabrobot (biology) pysam (biology) relsa-severity-assessment (biology) scanpy (biology) scikit-bio (biology) scikit-survival (biology) scvelo (biology) scvi-tools (biology) structure-analysis (biology) synthetic-biology (biology) tamarind (biology) tiledbvcf (biology) treatment-plans (biology) waypoint-bio (biology) 66 chemistry admet-prediction (chemistry) admet-reasoning (chemistry) analytical-method-validation (chemistry) atomistic-workflows (chemistry) binding-affinity (chemistry) cheminformatics-definitions (chemistry) datamol (chemistry) deepchem (chemistry) denovo-design (chemistry) diffdock (chemistry) drug-design (chemistry) framework-topology (chemistry) hypogenic (chemistry) matchms (chemistry) medchem (chemistry) molecular-docking (chemistry) molecular-dynamics (chemistry) molecular-optimization (chemistry) molecular-rag (chemistry) molecule-visualization (chemistry) molfeat (chemistry) pkpd-modeling (chemistry) pocket-detection (chemistry) pyopenms (chemistry) pytdc (chemistry) rdkit (chemistry) smiles-validation (chemistry) structure-prediction (chemistry) torchdrug (chemistry) 29 physics astronomy-inference (physics) astropy (physics) autoregressive-neural-pde-solver (physics) bayesian-inference (physics) conservation-law-discovery (physics) dimensional-analysis (physics) dynamical-systems (physics) energy-systems (physics) fluid-dynamics (physics) fluidsim (physics) geoscience-data (physics) hamiltonian-mechanics (physics) neural-operator (physics) ode-solver (physics) openpiv (physics) pde-solver (physics) physics-databases (physics) physics-fitting (physics) physics-visualization (physics) pinn-training (physics) pymatgen (physics) shock-capturing-neural-operators (physics) sindy-identification (physics) spectral-analysis (physics) statistical-mechanics (physics) symbolic-regression (physics) uncertainty-and-units (physics) wave-propagation (physics) 28 quantum cirq (quantum) pennylane (quantum) qiskit (quantum) qutip (quantum) 4 ml-training adaptyv (ml-training) awq-quantization (ml-training) axolotl (ml-training) colab-finetuning (ml-training) deepspeed (ml-training) distributed-llm-pretraining-torchtitan (ml-training) evaluating-code-models (ml-training) evaluating-llms-harness (ml-training) fine-tuning-with-trl (ml-training) geniml (ml-training) gptq (ml-training) grpo-rl-training (ml-training) hqq-quantization (ml-training) hugging-face-evaluation (ml-training) hugging-face-model-trainer (ml-training) huggingface-accelerate (ml-training) implementing-llms-litgpt (ml-training) knowledge-distillation (ml-training) llama-factory (ml-training) mamba-architecture (ml-training) ml-benchmark-evaluation (ml-training) mlflow (ml-training) model-economics (ml-training) model-merging (ml-training) model-pruning (ml-training) moe-training (ml-training) nanogpt (ml-training) nemo-curator (ml-training) nemo-evaluator-sdk (ml-training) nnsight-remote-interpretability (ml-training) openrlhf-training (ml-training) optimizing-attention-flash (ml-training) peft-fine-tuning (ml-training) prime-intellect (ml-training) pufferlib (ml-training) pytorch-fsdp (ml-training) pytorch-lightning (ml-training) pyvene-interventions (ml-training) quantizing-models-bitsandbytes (ml-training) ray-train (ml-training) rwkv-architecture (ml-training) simpo-training (ml-training) sparse-autoencoder-training (ml-training) stable-baselines3 (ml-training) tensorboard (ml-training) torchforge-rl-training (ml-training) training-data-pipeline (ml-training) training-llms-megatron (ml-training) transformer-lens-interpretability (ml-training) unsloth-fine-tuning (ml-training) verl-rl-training (ml-training) weights-and-biases (ml-training) 52 llm-tools autogpt-agents (llm-tools) blip-2-vision-language (llm-tools) chroma (llm-tools) clip (llm-tools) constitutional-ai (llm-tools) crewai-multi-agent (llm-tools) dspy (llm-tools) faiss (llm-tools) guidance (llm-tools) hugging-face-cli (llm-tools) hugging-face-tool-builder (llm-tools) huggingface-tokenizers (llm-tools) instructor (llm-tools) langchain (llm-tools) langsmith-observability (llm-tools) llamaguard (llm-tools) llamaindex (llm-tools) llava (llm-tools) llm-as-judge-evaluation (llm-tools) long-context (llm-tools) nemo-guardrails (llm-tools) outlines (llm-tools) pinecone (llm-tools) qdrant-vector-search (llm-tools) segment-anything-model (llm-tools) sentence-transformers (llm-tools) sentencepiece (llm-tools) stable-diffusion-image-generation (llm-tools) transformers (llm-tools) whisper (llm-tools) 30 ml-inference gguf-quantization (ml-inference) groq-inference (ml-inference) llama-cpp (ml-inference) miles-rl-training (ml-inference) phoenix-observability (ml-inference) serving-llms-vllm (ml-inference) sglang (ml-inference) speculative-decoding (ml-inference) tensorrt-llm (ml-inference) 9 databases alphafold-database (databases) biorxiv-database (databases) brenda-database (databases) cellxgene-census (databases) chembl-database (databases) clinicaltrials-database (databases) clinpgx-database (databases) clinvar-database (databases) cosmic-database (databases) database-lookup (databases) datacommons-client (databases) depmap (databases) drugbank-database (databases) ena-database (databases) ensembl-database (databases) fda-database (databases) fred-economic-data (databases) gene-database (databases) geo-database (databases) gwas-database (databases) hmdb-database (databases) imaging-data-commons (databases) kegg-database (databases) metabolomics-workbench-database (databases) ncats-arax (databases) onekgpd (databases) ontology-term-resolution (databases) openalex-database (databases) opentargets-database (databases) pdb-database (databases) primekg (databases) pubchem-database (databases) pubmed-database (databases) reactome-database (databases) string-database (databases) uniprot-database (databases) usfiscaldata (databases) uspto-database (databases) zinc-database (databases) 39 coding arboreto (coding) audiocraft-audio-generation (coding) denario (coding) exploratory-data-analysis (coding) gtars (coding) matlab (coding) multi-objective-optimization (coding) networkx (coding) optimize-for-gpu (coding) pymc-bayesian-modeling (coding) pymoo (coding) rowan (coding) scikit-learn (coding) shap (coding) simpy (coding) slime-rl-training (coding) statistical-analysis (coding) statsmodels (coding) sympy (coding) timesfm-forecasting (coding) torch-geometric (coding) umap-learn (coding) 22 data-engineering aeon (data-engineering) dask (data-engineering) datalad (data-engineering) geomaster (data-engineering) geopandas (data-engineering) hdf5-pde-data-loading (data-engineering) hugging-face-datasets (data-engineering) markitdown (data-engineering) polars (data-engineering) ray-data (data-engineering) vaex (data-engineering) zarr-python (data-engineering) 12 cloud-compute fireworks-ai-inference (cloud-compute) givemeanode-agent-compute (cloud-compute) lambda-gpu-cloud (cloud-compute) modal-serverless-gpu (cloud-compute) runpod-gpu-cloud (cloud-compute) skypilot-multi-cloud-orchestration (cloud-compute) tensorpool-gpu-cloud (cloud-compute) tinker-fine-tuning (cloud-compute) tinker-training-cost (cloud-compute) together-ai-inference (cloud-compute) vast-ai-gpu-cloud (cloud-compute) 11 core acceptance-checks (core) analysis-report (core) autoresearch (core) brainstorming (core) citations (core) compute (core) delegation (core) execution-hygiene (core) figures (core) generate-image (core) hypotheses (core) literature-review (core) ml-paper-writing (core) paper-writing (core) peer-review (core) reproduce (core) research-lookup (core) schematics (core) scientific-visualization (core) sources (core) statistical-conventions (core) submitted-code (core) 22 other checkpoint (other) compact (other) coq (other) get-available-resources (other) goal (other) handoff (other) hugging-face-jobs (other) hugging-face-trackio (other) init (other) iso-13485-certification (other) iso-standards-readiness (other) lab-hardware-cad (other) labarchive-integration (other) lean4-mathlib (other) plan (other) skill-installer (other) stop (other) 17 research compare (research) experimental-design (research) export (research) market-research-reports (research) paper-lookup (research) patent-mining (research) research-grants (research) research-workflows (research) review (research) statistical-power (research) 10 writing hugging-face-paper-publisher (writing) latex-posters (writing) markdown-mermaid-writing (writing) paper-2-web (writing) pptx-posters (writing) pyzotero (writing) scientific-slides (writing) zotero-local (writing) 8 visualization dna-visualization (visualization) infographics (visualization) matplotlib (visualization) plotly (visualization) protein-diagram (visualization) seaborn (visualization) 6 document-parsing docx (document-parsing) liteparse (document-parsing) pdf (document-parsing) pptx (document-parsing) xlsx (document-parsing) 5 scholar-evaluation scholar-evaluation (scholar-evaluation) 1
Figure 10. The skill library, one square per skill, grouped by category and coloured by field.It reaches data through 42 connectors to scientific databases in 6 domains, and literature through a tool that searches OpenAlex and arXiv and then reads the full text of the paper. It runs code in long-lived Python and R kernels and a shell, and sends heavier jobs to an SSH host, a Slurm or PBS cluster, or Modal as durable jobs that outlive the conversation. Each remote dispatch needs your approval.
literature 7 proteins 7 genomics 8 omics 7 pathways 7 chemistry 6 PubMed Europe PMC bioRxiv / medRxiv Crossref OpenAlex Semantic Scholar arXiv UniProt RCSB PDB PDBe AlphaFold DB InterPro Pfam SIFTS Ensembl NCBI Gene NCBI dbSNP ClinVar gnomAD UCSC Genome Browser MyGene.info MyVariant.info NCBI GEO ArrayExpress / BioStudies GTEx Human Protein Atlas Expression Atlas Single Cell Expression Atlas DepMap Reactome KEGG STRING BioGRID IntAct WikiPathways Open Targets ChEMBL PubChem BindingDB Guide to PHARMACOLOGY SureChEMBL ChEBI
Figure 11. The 42 database connectors, grouped by domain.A lab of specialists
The lead agent can hand bounded tasks to seven workers in parallel: explore, a scout for literature, data and code; five domain specialists (ml, biology, physics, chemistry, data); and general. Workers cannot start other workers or publish anything. A worker's report without a verification section counts as a claim, and when two workers compute the same quantity independently and disagree, the disagreement is reported as a finding.
Figure 12 shows one Terminal-Bench Science run, hysteretic-aquifer-control: calibrate a four-state aquifer model, identify miscalibrated devices, forecast all four states and design a pump-and-treat intervention. The lead brought in ml, data and physics workers. The run took 3.1 hours and passed the task's verifier.
shell files Python / R compute skills plan lead dispatches or resumes a worker 0 h 0.5 h 1 h 1.5 h 2 h 2.5 h 3 h 3.5 h research · lead 159 ml · worker Add exact-state acceptance 178 data · worker Accelerated solver 15 physics · worker Occupancy-constrained kinetics 122
Figure 12. Tool calls over time in one run, one row per session, labelled with the brief the lead wrote.Logistic map x n +1 = r x n (1 − x n ), 2.85 ≤ r ≤ 4
Availability
OpenScience is released under Apache 2.0. It works with your own API keys (22 provider SDKs are bundled), with local models through Ollama or LM Studio, or with Ace , the pay-as-you-go service we run. Usage through your own keys or a local model is never billed through Ace.
Install the desktop app , or use the terminal:
$ npm install -g @synsci/openscience
$ openscience ~/research/my-project
# connect a model: your own key, or a local endpoint
$ openscience keys add
$ openscience local add
Then describe the task as you would to a colleague:
Inspect data/samples.csv for missing values and inconsistent labels. Keep the original data unchanged. Save a quality report and a plot in results/, with the code needed to reproduce them.
The source is on GitHub , the documentation at docs , and contributions are welcome.
Notes Figures and counts are computed by the launch post's scripts from OpenScience (commit 132dfdf), benchmarks-openscience (commit 61328d9) and snapshots of the public leaderboards taken 2026-09-26. The build checks the recomputed scores against the benchmarks repository's README. OpenScience runs: Terminal-Bench Science with a GPT-6 Astra lead, GPT-6 Sol workers and 8 hours per task; BiomniBench-DA with GPT-6 Sol and 1 hour per task; Terminal-Bench 4.0 with a GPT-6 Astra lead and GPT-5.6 Sol workers. OpenScience rows report one counted trial per task. Leaderboard entries average 3 trials per task on Terminal-Bench Science and 5 on Terminal-Bench 4.0. Other entries come from the Terminal-Bench Science and Terminal-Bench 4.0 leaderboards, the BiomniBench-AI4S comparison (Gemini 3.1 Pro judge column) and AIPOCH's published result . Citation @misc{gangwani2026openscience,
title = {OpenScience: The #1 Scientific Agent, Open Source},
author = {Gangwani, Ishaan and Bansal, Aayam},
year = {2026},
month = sep,
organization = {Synthetic Sciences},
howpublished = {\url{https://github.com/synthetic-sciences/OpenScience}}
}