Skip to main content

ASI-Bench: AI Scientist’s Last Exam

A Project-Level Benchmark for Evaluating LLM Agents on AI for Science

Website  GitHub  CI  Hugging Face  Leaderboard

Core Authors   Junwei Zhou3,†, Zhen Sun1,2,†, Binyu Li1,2, Jiangyu Zhou1,2, Yuexi Pan1,2, Hengyu Wang1,2, Honghe Ren1, Xiaohan Jia1,2, Xueyang Zhou1,2, Yongchao Chen1,2,*
Equal contribution  ·  * Corresponding author
Contributors   Yuanning Feng1,2, Junhao Wu1,2, Xiaoyu Cao1,2, Cheng Zhang3, Sijia Chen5, Haoyu Xue1,2, Chengsong You1,2, Huan Wang1,2, Peigan Gao4, Jiakun Wu1, Koutian Wu3, Wenzhe Li1, Ergan Shang6, Jingjing Zhou1, Ruixuan Jia1,2, Qingyuan Zheng1, Yan Xu7, Hongrui Zhang8, Xiao-Han Ma4, Zhengxiang Cheng1,2, Yuexing Hao7, Liting Mai9, Xianglin Ji7, Wenjun Zhang10, Zhuofan Chen1,2, Yixiao Huang1, Chi Wang11, Wenyue Hua12, Yilun Hao7, Yuantao Zhai2
1 Tsinghua University   ·   2 Apex Intelligence   ·   3 Independent Researcher   ·   4 University of Science and Technology of China   ·   5 Flatiron Institute   ·   6 Carnegie Mellon University   ·   7 Massachusetts Institute of Technology   ·   8 Boston University   ·   9 University of Illinois Urbana–Champaign   ·   10 University of Queensland   ·   11 AG2 AI   ·   12 Microsoft Research

ASI-Bench overview: 60 project-level tasks across scientific domains and benchmark results across difficulty levels

Figure 1: Overview of ASI-Bench. Left: B3 performance across agents. Right: scores from B1 to B4.

Overview

ASI-Bench evaluates scientific autonomy: whether an AI agent can translate a scientific objective into an executable and independently validated workflow, rather than merely follow prescribed procedures.

Benchmark scope Description
Tasks 60 project-level tasks
Scientific coverage 11 domains
Information levels B1–B4, with progressively less methodological guidance
Evaluation Expert cross-review, execution testing, and reliable scoring
Evaluated systems 18 agent–model configurations

Across all evaluated systems, the average scores are 50.92 at B1, 29.64 at B2, 27.17 at B3, and 27.33 at B4 as concrete procedural guidance is progressively removed. The sharp drop after B1 and persistently lower scores at B2–B4 show that strong workflow execution does not yet imply independent scientific problem-solving.

Resources

Resource Link
Project homepage & documentation asibench.apexin.ai
Source code apexin-ai/ASI-Bench
Leaderboard View official results
Dataset · seed42 Apexintelligence-AI/ASI-Bench-seed42
Dataset · seed31415 Apexintelligence-AI/ASI-Bench-seed31415
Python package asibench on PyPI

Quick start

1. Install ASI-Bench

pip install asibench
asibench --help

Requirements: Python 3.11 or later. The default installation is lightweight and includes everything needed to download public benchmark instances. For local agent execution or task authoring, install the optional full stack:

asibench is the canonical CLI. The legacy ai4sci-bench command remains only as a backwards-compatibility alias.

pip install 'asibench[full]'

2. Download a benchmark set

Each fixed-seed dataset contains its own prompts and input data. Choose one seed for each run:

mkdir asi-bench-run
cd asi-bench-run

asibench task pull \
  --repo seed42 \
  --output-dir hf_instances_seed42/

3. Run an agent

asibench run \
  --instances-dir hf_instances_seed42/ \
  --agent-cmd 'python my_agent.py --workspace {workspace}' \
  --sandbox linux_ns \
  --output-dir out_seed42/

The command above evaluates all four prompt levels (b1,b2,b3,b4). Use --prompt-levels only when intentionally running a subset.

4. Submit for official scoring

asibench login
asibench submit --results-dir out_seed42/

submit creates an authenticated draft on the ASI-Bench website. Review the completeness summary and confirm the draft to enter the official scoring queue. Local benchmark runs do not calculate official scores.

Run configuration

Setting Behavior
Dataset seed seed42 and seed31415 are separate runs; use distinct instance and output directories
Prompt levels All four levels run by default; select a subset with --prompt-levels
Timeout --timeout defaults to 10,800 seconds and applies uniformly to every task
Submission submit uploads a draft by default; --no-upload creates a local bundle only
Custom agents --agent-cmd supports the none and linux_ns sandboxes
Built-in agents Use --agent with --agent-config; compatible adapters can use Docker-based os isolation

Platform note: The examples use Linux Bash, and the linux_ns sandbox requires Linux. Windows users should run it through WSL2. PowerShell and Command Prompt use different line-continuation and JSON-escaping syntax.

See Getting Started for agent configuration, sandbox selection, and platform-specific commands.

Package and CLI compatibility

  • asibench is the only published Python distribution and the canonical CLI.
  • Existing Python integrations may continue to import ai4sci_bench.
  • ai4sci-bench remains available as a legacy CLI alias.
  • Benchmark instances are downloaded separately with asibench task pull.
  • Runtime and declared-output metadata come from tasks/ or --tasks-dir.
  • Retired internal orchestration commands are not part of the public CLI. Use run, report, batch-report, review, and the Portal workflows.

Built-in CLI agents — installation

Install the CLI agent you want to evaluate, then select its ASI-Bench adapter with --agent.

  • New model, existing harness. When a supported harness such as Codex CLI, Claude Code, or Kimi Code adds a model, select the new model through --agent-config. If the model is served through a third-party endpoint and the adapter supports that route, also set api_base, api_key, and api_protocol (openai or anthropic). No ASI-Bench code change is normally needed while the harness accepts the model and the endpoint remains protocol compatible.
  • New agent harness. A new CLI or runtime can be used immediately through --agent-cmd when it can read the prepared workspace and write result files; this generic mode supports none and linux_ns. First-class built-in integration—its own --agent name, harness-specific authentication and configuration, proxy wiring, and Docker-based os support—requires ASI-Bench maintainers to implement and test a new adapter.
Agent Install command Notes
Claude Code npm install -g @anthropic-ai/claude-code Requires Anthropic API key or local login (claude /login)
Codex CLI npm install -g @openai/codex Requires OpenAI API key
Kimi Code npm install -g @moonshot-ai/kimi-code Use the npm package. The PyPI package (kimi-cli) has different CLI arguments and is not compatible with this adapter. Requires Moonshot API key or local login (kimi /login)
CodeWhale See CodeWhale docs Requires DeepSeek API key by default
AntiGravity npm install -g @anthropic-ai/antigravity Experimental

Example with Kimi Code:

asibench run --agent kimi_code_cli \
  --agent-config '{"model": "kimi-k2.7"}' \
  --output-dir out/

Framework-managed model proxies use text-only input by default. For endpoints that accept images, set "supports_image_input": true in --agent-config. Without this flag, image attachments are replaced with a short notice before the next model request. Direct endpoints outside the framework proxy remain the responsibility of the connected agent.

Contribute a task

We welcome project-level scientific tasks from the research community. Authors can draft a task locally or in the Portal, validate it, and submit a frozen revision for review.

Quick start for task authors

# 1. Create a task scaffold
asibench task create --domain physics --name my_new_task

# 2. Edit the generated files in tasks/physics/my_new_task/:
#    - task_meta.yaml   — task metadata (public)
#    - task_eval.yaml   — evaluation config: scoring rules, parameter space (private)
#    - generate_gt.py   — ground-truth generator (private)
#    - custom_scorer.py — custom scoring logic, if needed (private)
#    - prompt_b1.md … prompt_b4.md — difficulty-ladder prompts (public)

# 3. Required pre-submit validation
asibench validate --pre-submit tasks/physics/my_new_task/

# 4. Required same-model trial across B1, B2, B3, and B4
asibench difficulty-check --task physics.my_new_task

# 5. Open the Portal task-submission form
asibench task submit

Submission requirements

  • Complete validate --pre-submit and a same-model difficulty-check across B1–B4 before submission.
  • Use lowercase letters, digits, and underscores for task IDs. The canonical form is domain.task_name.
  • asibench task submit opens the Portal form; files are uploaded and reviewed in the browser, not from the terminal.
  • Set ASIBENCH_NO_BROWSER=1 to print the form URL without opening a browser.
  • The Portal requires local_testing_done and one finite score for each level before freezing a revision.
  • Authors do not create repository pull requests. Administrators publish accepted tasks after review.

The default submission form is asibench.apexin.ai/submit/proposals/new. Use --endpoint or ASIBENCH_SUBMIT_ENDPOINT to select another Portal.

Runnable samples from the official benchmark

The following final tasks can be used to verify the runner workflow:

Task Domain Description
astronomy.nbody_close_encounters Astronomy Close-encounter few-body scattering
math.homotopy_poly_roots Math Isolated complex roots via homotopy continuation

Pull and run one in produce-only mode:

asibench task pull \
  --repo seed42 \
  --tasks astronomy.nbody_close_encounters \
  --output-dir example_instances/

asibench run \
  --instances-dir example_instances/ \
  --tasks astronomy.nbody_close_encounters \
  --agent-cmd 'python my_agent.py --workspace {workspace}' \
  --sandbox linux_ns \
  --output-dir example_results/

asibench submit --results-dir example_results/

For official benchmark tasks, the GitHub catalog contains metadata only. Prompts and input data come from Hugging Face, while reference answers and scorers remain on the private scoring service.

Five opt-in sample tasks are fully public examples. Their B1–B4 prompts, ground-truth generators, and scorer implementations or configurations are available under tasks/:

  • robotics.minimum_snap_trajectory_conditioning
  • chemistry.bsse_counterpoise_cbs_extrapolation
  • materials.phonon_dispersion
  • medicine.ethics_disclosure_diagnosis_1670
  • medicine.jama_id0014_malignant_an

The examples were synchronized from apexin-ai/Agent-AI4Sci-Bench at revision 2ba9258442bf53ad6c4911957234e03e767476ad.

Dataset layout

Item Contract
Official tasks 60 final task definitions shared by both fixed-seed datasets
Public examples 5 opt-in sample tasks with complete prompts and scoring assets
Instance layout <output-dir>/<instance-id>/ after asibench task pull
Default selection Unfiltered official runs exclude sample tasks
Including samples Use --include-sample or name a sample explicitly with --tasks

Pull the two fixed-seed datasets separately:

asibench task pull --repo seed42 --output-dir hf_instances_seed42/
asibench task pull --repo seed31415 --output-dir hf_instances_seed31415/

seed42 and seed31415 are the only official Hugging Face contracts, and --repo is required. They share task schemas and declared outputs but contain different generated inputs. Matching schemas live in tasks/**/task_meta.yaml; private manifests, references, and scorers stay on the scoring side.

The task workflow uses the grouped asibench task create, task pull, and task submit commands. See Contribute a Task for the complete authoring guide.

How scoring works (and stays fair)

  • Public execution framework: agent adapters, sandboxes, instance loading, output collection, and submission packaging are auditable in this repository.
  • Centralized official scoring: asibench login identifies the submitter, and asibench submit sends a draft for confirmation and scoring. Self-reported scores are not accepted.

Sandboxing & reproducibility

  • Runs support task, os, and linux_ns sandboxes with pinned per-task runtimes.
  • Every run records agent, model, effort, sandbox, and framework provenance.
  • Source checkouts are installed editable into task environments; wheel-based runs install the matching asibench version.
  • Mutable caches live under ~/.asibench/, never under site-packages.
  • Namespace and Docker prerequisites are checked before execution. Missing prerequisites produce a non-zero CLI exit.

Documentation

Installation, execution, submission, task contribution, catalog, and leaderboard documentation are available on the ASI-Bench website.

License

See LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asibench-0.1.2.tar.gz (241.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

asibench-0.1.2-py3-none-any.whl (291.8 kB view details)

Uploaded Python 3

File details

Details for the file asibench-0.1.2.tar.gz.

File metadata

  • Download URL: asibench-0.1.2.tar.gz
  • Upload date:
  • Size: 241.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for asibench-0.1.2.tar.gz
Algorithm Hash digest
SHA256 d5b5acc5df6df6f3898d6bc9acb88cdc080747a39900c9ad6c4eb3bc30669436
MD5 978388f5c6f1663468cfe9d735badaa2
BLAKE2b-256 e7e2522466175e673359db66e66670792384ee94555c50c8606514fff1600b0e

See more details on using hashes here.

File details

Details for the file asibench-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: asibench-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 291.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for asibench-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f4c4582fb02b000ea51caf5477f23c93982e1089d7b8889a72fd29df4f20983a
MD5 3a6ed6c5777c0ce1b1e546b8ee932949
BLAKE2b-256 f6f705ef1703263732154f2c12f50163e5b11fc57e8fc596dad6f6c99e57f2d8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page