← Back
Home › Systems › Frontier AI research

ai-co-scientist

hypothesis generation and lab automation

Google AI co-scientist, FutureHouse

Open the ai-co-scientist pageai-co-scientist Agent loopagentic-ai: Agent memoryagentic-ai: Citation groundingagentic-ai: Attaching answer spans to retrieved source passages and verifying each claim is supportedContext window managementagentic-ai: Keep an agent's growing history inside the model's window by truncating, clearing and summarizing old turns in a cheap-to-lossy ladder, at turn boundaries.›Human-in-the-loop approvalagentic-ai: Classify each proposed action as auto, ask or deny; park asks as durable pending records a human approves, edits or rejects, executing once, with timeouts that deny.›Subagent orchestrationagentic-ai: Task planningagentic-ai: Tool callingagentic-ai: The model emits a structured call (id, name, JSON arguments) instead of prose; your code validates, runs it and returns a result tagged with the same id.›Durable workflow executiondistributed: Ordinary code made crash-proof by logging every side-effect result and replaying the code from that log; activities run at least once, workflow logic must be deterministic.›Elo ratinggame-networking: One number per competitor, moved by K × (actual − expected score) after each pairwise result; expected score is logistic in the rating difference.›Density-based clustering(DBSCAN)machine-learning: Group points that are packed densely, label the rest as noise: no k, arbitrary shapes, two parameters (eps, minPts), cost set by the neighbour index.›Embedding inferencemachine-learning: Serve a pretrained embedding model: tokenize, batch requests, run the encoder, pool and normalize vectors, cache them; no trainingEntity linkingmachine-learning: Map each mention to a knowledge-base id, or to NIL, by generating candidates from an alias table, scoring them on prior and context, and thresholding.›LLM-as-judgemachine-learning: Grade open-ended outputs with a language model under a rubric, then correct its known biases by order swapping, voting and calibration against human labels.›PDF text extractionmachine-learning: Rebuild words, lines, columns and reading order from the glyph positions a born-digital PDF stores, and route pages without usable text to OCR.›Relation extractionmachine-learning: Extracting (subject, relation, object) triples from text with classifiers or LLMsSelf consistency votingml-training: Sample several answers and pick by majority or execution agreement to raise reliabilityHybrid search and rank fusionsearch-sort: Merge a keyword (BM25) result list and a vector (ANN) list into one ranking, by ranks (RRF) or by normalized scores (convex combination).›Bradley terry modelstatistics: Pairwise comparison model P(i beats j)=s_i/(s_i+s_j); MLE fit, link to Elo and reward modelsExponential backoff with jittersystems: Retry after delays that grow geometrically and are randomized, so failed clients spread out instead of hammering a recovering service in synchronized waves.›Memory consolidationagentic-ai: Periodically merge near-duplicate memories, resolve contradictions, decay the unused and cap the store, so an agent's long-term memory stays small, current and cheap to search.›HNSWsearch-sort: Hierarchical Navigable Small World: a layered proximity graph searched greedily from a sparse top layer; the default in-memory approximate nearest-neighbour index.›Text chunkingmachine-learning: Cut documents into token-bounded pieces along structure boundaries, keeping offsets and section paths, so each piece embeds well and can be cited.›Fuzzy string matchingsearch-sort: Edit distance, Jaro-Winkler and trigram indexes for approximate name and address matchingPrompt cachingagentic-ai: Reuse the attention keys/values of a repeated prompt prefix, so an agent's growing context is prefilled once and later turns pay only for the new tokens.›Byte-pair encoding (BPE)tokenizationmachine-learning: Learn a subword vocabulary by repeatedly merging the most frequent adjacent pair; byte-level BPE encodes any input losslessly with 32k-200k tokens.›Statechartsgraphics: State machines with nesting, parallel regions, history and entry/exit actions, so UI and animation logic stays linear in size instead of exploding.›Dual control approvalsecurity: Four-eyes / maker-checker approval with quorum policies for sensitive operationsTamper-evident audit logsecurity: An append-only log whose Merkle root, signed per batch, lets anyone verify an entry is present and history was never rewritten, with log-size proofs.›Topological sortgraphs: Order the vertices of a DAG so every edge points forward; the core of build systems, schedulers and dependency resolution, with cycle detection for free.›Hierarchical timing wheelsystems: Timers bucketed by expiry into wheels of slots, coarser wheels for far deadlines: O(1) insert and cancel for millions of timeouts.›+ 21 moreNear-duplicate detection withMinHash LSHmachine-learning: Estimate set Jaccard similarity from k min-hashes and find similar pairs with banded LSH buckets; the standard dedup for web crawls, training corpora and sequence collections.›PRNGs (PCG, xoshiro)numerics: Small, fast, statistically strong non-cryptographic generators: PCG32 and xoshiro256**, with seeding, parallel streams and unbiased ranges.›Time decay scoringsearch-sort: Scoring items by recency with exponential decay or half-life, combined with relevanceEntity resolutionstorage: Decide which records describe the same real-world thing: block to cut the pair space, score pairs with a probabilistic model, cluster the matches transitively.›d-ary heapdata-structures: Array heap with d children per node (d = 4 typical): half the binary heap's depth, siblings in one cache line, faster priority queues.›SIMD programminghardware-os: Process 4-16 lanes per instruction with AVX2, AVX-512 or NEON via Rust std::arch, with runtime dispatch and a portable fallback.›Scalar quantizationsearch-sort: Per-dimension int8/binary quantization of vectors with rescoringFast hash functionsdata-structures: Non-cryptographic hashes built from 64×64→128-bit multiplies and xor-shifts; pick by key size, trust level and whether the hash is persisted.›Radix triedata-structures: Compressed prefix tree for path routing, domain matching and prefix lookupsPaged KV cacheml-training: Store each sequence's attention keys/values in fixed-size blocks mapped through a block table, like virtual memory pages; near-zero fragmentation and copy-on-write sharing.›LRU and CLOCKsystems: LRU evicts the least recently used entry via hash map plus linked list; CLOCK approximates it with a reference bit, so hits take no lock.›Text normalizationmachine-learning: Rewrite messy text into one canonical form for matchers and models, or into spoken words for speech output (and back), keeping a map to the original offsets.›+ 26 moreRolling hashdata-structures: Rabin-Karp polynomial rolling hashes and winnowing for substring fingerprints and document matchingSwiss tabledata-structures: Open-addressing hash table that filters 8-16 slots at once with 1-byte hash tags and SIMD, giving fast lookups at 87.5 % load.›Record linkagesearch-sort: Probabilistic record matching (Fellegi-Sunter) with blocking for patient or entity indexesReference countingcompilers: Keep a count of owners in each object, free it when the count hits zero; deterministic and local, but pays on every copy and leaks cycles.›+ 9 more+ 1 more

How it is built

Architecture overview

An AI co-scientist turns a research goal written in plain language into a ranked list of testable hypotheses and research proposals, and hands the best ones to people who run the experiments. The model never works alone: a supervisor keeps a task queue, a pool of workers executes specialised agent roles (generate, review, rank, cluster, evolve, summarise), and a persistent state records every hypothesis, review and tournament result so the run can be restarted and so later rounds learn from earlier ones. The one idea that makes it work is generate, debate, evolve: hypotheses are compared pairwise in a tournament whose Elo scores decide which get refined, and review feedback is not trained into the model but appended to the agents' prompts in the next round. More compute means more rounds of the loop, not a bigger model. Google's AI co-scientist (built on Gemini 2.0; Gottweis et al. 2025) is the reference design; Sakana's AI Scientist and FutureHouse's Robin use the same ingredients but differ in what follows the hypothesis: write and run code, or plan wet-lab assays.

Parts:

 scientist ──research goal──► goal parser ──plan config──► SUPERVISOR ◄──── stats ────┐
     ▲   ▲                                                 │  weights, queue          │
     │   └── reviews, own hypotheses, redirects ───────────┼───────────────┐          │
     │                                                     ▼               │          │
     │              ┌──────────────── task queue ──────────────────┐       │          │
     │              ▼            ▼          ▼          ▼          ▼       │          │
     │         Generation   Reflection   Ranking   Proximity   Evolution  │          │
     │         (web search) (reviews)   (Elo debates) (graph)   (new, never edits)    │
     │              └────────────┴──── workers: LLM + tools ───┴──────────┘          │
     │                                    │ read / write                              │
     │                                    ▼                                           │
     │                         ┌── CONTEXT MEMORY ──┐   Meta-review: feedback ────────┘
     │                         │ hypotheses, reviews│   appended to next prompts
     │                         │ tournament, stats  │
     │                         └────────────────────┘
     └── research overview + ranked hypotheses ◄── Meta-review
                                     │
                          (outside the system) experiments in the lab

There are two time scales: inside the system, asynchronous model calls that need no person; outside it, a scientist picks hypotheses and runs real experiments, which is where the real validation happens.

How the parts fit together

Goal parser and plan configuration

The goal is natural language, possibly with long background documents. The system parses it into a research plan configuration: preferences (for example only novel hypotheses), attributes and the criteria used later for auto-evaluation, such as novelty and experimental feasibility (Gottweis et al. 2025, section 3.2). The contract is that this configuration is data every agent prompt is built from. In a build of your own, make it a typed record validated before the run (JSON Schema validation) and force structured output where a model writes it (Constrained decoding); a malformed configuration silently changes what "good" means for the whole tournament.

Supervisor, task queue and workers

The supervisor does not reason about science. It builds a task queue, assigns weights and resources to the agent roles, and periodically computes statistics (how many hypotheses are waiting for review, how the tournament is progressing, whether new ideas from Generation or improved ideas from Evolution win more matches) and writes them to memory. They drive the next round of sampling and the stop decision. Workers take one agent action off the queue, call the model and tools, and write the result back.

This is a Durable job queue with a scheduler on top. Each task is leased to one worker (Leases) so a crashed worker's task reappears, and retries use Exponential backoff with jitter because most failures are rate limits and timeouts of model APIs. Because every step can be repeated safely from stored state, the run behaves like Durable workflow execution without a full workflow engine; compare DAG workflow execution, which fixes the order of steps in advance; here the next task depends on tournament results. The paper says the supervisor weights and samples agents using the statistics, without naming an algorithm. Treating each role as an arm and its recent win rate as the reward (Multi-armed bandits) is our reading, not a claim of the paper.

task-planning (no page yet) is how the supervisor turns the goal and the current statistics into the next batch of tasks: for example, generate more hypotheses, review the unreviewed ones, or run matches between close pairs, with a dependency noted where one task needs another's result. Each worker runs an agent-loop (no page yet): call the model with the role's prompt and the task's context, execute the tool calls it asks for, feed results back, and stop when the role's output is complete or a budget of steps is spent. subagent-orchestration (no page yet) is the contract between the two: the supervisor starts a worker as a subagent with its own fresh context and only the task's inputs, and receives a compact result (a hypothesis, a review, a match verdict) that it writes to memory, instead of the worker's whole transcript.

Context memory

Memory holds the state of the whole run: every hypothesis with its reviews and Elo score, the proximity graph, the meta-review text, the research overview and the supervisor's statistics. The paper states two uses: long-horizon iteration, and restart after a failure of any component (section 3.2). That makes it the system's source of truth, so the useful shape is an append-only record of events with the current state derived from it (Event sourcing, Write-ahead log). The agents' own context is not memory: the model sees only what a task puts in its prompt, which is why Context window management decides what a review sees (the hypothesis, its reviews, the relevant papers) and what is left out. agent-memory (no page yet) covers recall across sessions; here the store is per research goal.

Generation

Generation produces the first list of hypotheses. The paper names four techniques: iterative literature search with web tools, simulated scientific debates between expert personas, finding testable intermediate assumptions and aggregating them into hypotheses, and "research expansion" into areas the current set does not cover, guided by the previous overview. The tool contract is Tool calling: a search call returns documents, which are cleaned with PDF text extraction, cut with Text chunking, and merged from keyword and vector hits with Hybrid search and rank fusion. The paper names search and retrieval as the primary tools, optionally over a private paper repository; the retrieval stack above is the standard way to build that, not a description of Google's internals. Grounding is only real if each claim points to the passage that supports it: citation-grounding (no page yet).

Literature is also read as structured claims. relation-extraction (no page yet) pulls (subject, relation, object) triples from the cleaned passages, for example that a compound inhibits a protein in a given cell type, and Entity linking maps each mention to one identifier, or to none when it is not in the knowledge base, so "TNF-alpha" and "tumor necrosis factor" count as one thing. The linked triples feed two uses: debate personas can be handed concrete, cited facts about the goal's entities, and a new hypothesis can be checked against what is already known, which supports the novelty criterion that Reflection scores.

Reflection

Reflection plays the peer reviewer, in several depths so that cheap filters run first (section 3.3.2). An initial review without external tools discards flawed or non-novel hypotheses quickly. A full review adds literature search. A deep verification review splits a hypothesis into assumptions and sub-assumptions and checks each alone, which finds a wrong step even when the hypothesis as a whole sounds plausible. Further types look at whether the hypothesis explains existing observations, simulate the proposed mechanism step by step, and adapt to what the tournament has shown. All of these are LLM-as-judge calls with a rubric. Such judges have known biases; the co-scientist's answer is to decompose the judgement, ground it in searched papers, and let a person add reviews. Cross-encoder reranking is the cheap way to pick which retrieved papers a full review reads.

Reviews are noisy, so a verdict that decides whether a hypothesis survives is not taken from one sample. self-consistency-voting (no page yet) draws several independent reviews, or deep-verification runs, at nonzero temperature and keeps the majority verdict per assumption; a hypothesis is cut only when most samples find the same flaw, and split votes are sent on with a note instead of being discarded. The same vote settles a tournament debate whose two sides are close, at the price of a few extra model calls on exactly the matches where it matters.

Ranking tournament

Ranking is the selection pressure of the whole system. New hypotheses enter at an Elo rating of 1200, and pairs are compared in a debate: top-ranked hypotheses in multi-turn debates, lower-ranked ones in single-turn comparisons. Matches are scheduled so that similar hypotheses meet (using the proximity graph) and newer and higher-ranked ones play more often (Gottweis et al. 2025, section 3.3.3). Elo rating is the update rule; Glicko-2 adds an uncertainty per rating, which would suit hypotheses with few matches, and bradley-terry-model (no page yet) is the batch fit of the same pairwise model. The paper notes that Elo has assumptions and limits but is a good proxy for relative ranking. Every match is model calls, so the scheduler decides where evidence is worth the money, and Top-k selection picks what goes to the evolution step.

Proximity

Proximity builds a graph of how similar the hypotheses are for the research goal. It serves clustering and de-duplication for the scientist and the choice of opponents in the tournament. The paper does not say how similarity is computed. A typical build embeds each hypothesis with embedding-inference (no page yet: a pretrained embedding model served as is, with batching and a vector cache, and no training in this system) and merges duplicates with Union-find or groups them with DBSCAN; for text that is near-verbatim, Near-duplicate detection with MinHash LSH is cheaper. Without it the tournament fills with paraphrases of one idea.

Evolution and meta-review

Evolution takes top-ranked hypotheses and makes new ones: grounding them with more literature, making them more feasible, combining several, simplifying them, or moving away from them on purpose. One design rule matters: it only adds hypotheses and never edits or replaces existing ones, so a flawed "improvement" cannot damage a good hypothesis; it has to win matches in the tournament like everything else.

Meta-review reads the tournament and the reviews, finds recurring points (the paper's example is a reviewer that catches a blood-brain-barrier problem in 90 % of reviews but should catch it in all) and writes a critique that is appended to the prompts of the other agents in the next round. This is learning without gradient steps: the prompt is the parameter, and it relies on long-context models. It also periodically writes a research overview that summarises the top hypotheses and suggests experiments, which can be formatted into a grant template with Constrained decoding. A long shared feedback prefix suits Prompt caching.

Scientist in the loop

The scientist can rewrite the goal, add reviews, enter their own hypotheses (they are ranked next to the system's), and steer the system toward given papers. All three wet-lab validations in the paper had experts select which hypotheses to test. A real deployment treats that as an approval flow (Human-in-the-loop approval). An append-only record of who changed what (Tamper-evident audit log) lets you explain why a hypothesis was promoted.

Data and control flow

One research goal, end to end (inside the system):

  1. The scientist submits the goal; the parser writes the plan configuration to memory.
  2. The supervisor seeds the queue: Generation tasks first (literature search, debates), each writing hypotheses into memory with a starting Elo of 1200.
  3. Reflection tasks pick hypotheses without a review. Initial review is tool-free and cheap; survivors get full and deep-verification reviews that read papers fetched through the search tool.
  4. Ranking tasks pick pairs (similar, new, high-ranked first), run the debate, and update both ratings.
  5. Proximity tasks update the similarity graph; clusters and duplicates are marked.
  6. Evolution tasks take the current top hypotheses and add new ones, which go back to step 3.
  7. Meta-review summarises review and debate patterns into feedback text; the supervisor writes statistics to memory and reweights the roles. Time goes to model calls and web fetches; queue, Elo update and graph are small.
  8. When the supervisor decides the run is done, Meta-review writes the overview and the ranked list goes to the scientist.

One hypothesis, outside the system:

  1. The scientist reads the overview, adds reviews or changes the goal, and selects candidates.
  2. The lab runs the experiment (days to weeks; this is the slowest step of the whole loop).
  3. Results go back as feedback or as a new goal. The co-scientist paper reports validated cases as separate studies; Robin (below) closes this loop with a data-analysis agent.

Scaling

In the order they bite:

  1. Model-call throughput and cost. Every review and every match is a long-context call. Levers: cheap tool-free filters before expensive reviews, single-turn matches for low-ranked pairs (the paper's own optimisation), Prompt caching for the shared goal and feedback prefix, more workers.
  2. Tournament size. All-pairs comparison grows quadratically. Levers: schedule by proximity and rank, drop low performers, de-duplicate first.
  3. Context length. Papers, reviews and feedback compete for the window. Levers: retrieve passages, summarise reviews, keep meta-review feedback short.
  4. Search quality. The system reads only open-access literature and has little access to negative results (section 5), so more compute eventually does not help. Levers: private repositories, domain databases, specialised models as tools.
  5. Evaluation validity. The auto-evaluation Elo is not independent ground truth. The paper reports that the best and top-10 Elo rise over time across 203 research goals and that higher Elo goes with higher accuracy on GPQA diamond questions (78.4 % top-1 when taking the highest-rated answer), but it states the metric can favour attributes scientists do not care about. Lever: expert review and wet-lab tests, which cost the most and scale the least.

Failure modes

FailureSymptomCauseFix
Missed prior worka "novel" hypothesis is already publishedopen-access-only search, or a relevant paper judged irrelevant by the modelprivate paper repository, second full review with different queries, expert check on the top few
Judge driftElo rises but experts rate hypotheses no betterthe tournament rewards what the judge model likesadd human reviews as matches, keep an outside metric, compare against baselines
Hallucinated supporta cited paper does not say what the hypothesis claimsungrounded review or generationrequire passage-level citations and check them (citation-grounding, no page yet)
Paraphrase floodthe top ten are one idea in different wordsno de-duplication, matches between unrelated pairsproximity graph, merge near-duplicates, schedule similar pairs
Feedback over-fittingall hypotheses avoid one critique and become blandmeta-review text weighted too strongly in Generationuse feedback selectively (the paper does this for Generation)
Lost runan outage kills hours of workstate held only in process memorypersist state after each task; lease and retry
Dual-use or unethical goalthe system helps with a harmful research goalgoal screening absent or weakrefuse at the goal stage; the paper reports a preliminary test with 1,200 adversarial goals across 40 topics, which the system passed
Unsafe execution (in code-writing variants)runaway processes, huge files, edited time limitsLLM-written code run without a sandboxcontainer with limits on network, storage and time, as the AI Scientist authors recommend

Real implementations

namewhat it isrepolicencenotes
Google AI co-scientistthe multi-agent hypothesis system described above, on Gemini 2.0none public; paper, blogproprietarythe blog announces Trusted Tester access for research organisations; wet-lab validation in AML drug repurposing, liver fibrosis targets and a bacterial gene-transfer mechanism
The AI Scientist (v1)idea, code, experiment, paper and automated review for ML research from a code templateSakanaAI/AI-Scientistcustom "AI Scientist Source Code License" (see repo)uses Aider for code edits and Semantic Scholar for novelty checks; the README warns that it runs LLM-written code and asks for containers
The AI Scientist-v2drops the code templates, adds agentic tree search and a vision-language reviewerSakanaAI/AI-Scientist-v2custom, same family (see repo)reports one fully AI-generated paper that passed workshop review (paper)
Robin (FutureHouse)literature agents plus a data-analysis agent in a lab-in-the-loop cycle for therapeuticsFuture-House/robinApache-2.0proposes assays and drug candidates, analyses the assay data, and ranks reports with an LLM judge; the data-analysis part needs the Edison platform (README); paper
PaperQA2cited question answering over scientific papers, the retrieval piece of a literature agentFuture-House/paper-qaApache-2.0closest open building block for the Generation and Reflection tools; paper
Coscientist (Boiko et al.)LLM agent that plans and runs chemistry experiments with lab toolsgomesgroup/coscientistApache-2.0 with Commons Clause (see repo)the repo holds supporting data and a simple implementation; the lab-automation side of the field; Nature 2023
Agent Laboratoryresearch-assistant workflow from literature review to reportSamuelSchmidgall/AgentLaboratoryMITpaper; human feedback at each stage

The alternative: a single "deep research" agent that searches, reads and writes one report. It is cheaper and good for synthesis, but nothing compares candidates or learns from review patterns. Pick the tournament when the output is a ranked set of ideas that are expensive to test; pick one research agent for a grounded summary. If validation is a computation rather than a lab assay, the AI Scientist family uses experiment results instead of a tournament as the signal.

Sources

  • J. Gottweis et al., Towards an AI co-scientist, 2025 (v1 title; later versions are titled Accelerating scientific discovery with Co-Scientist). paper (agent roles, Elo 1200, tournament, GPQA concordance, scaling plots, limitations: sections 3 to 5).
  • Google Research blog, Accelerating scientific breakthroughs with an AI co-scientist, 19 February 2025. blog
  • C. Lu et al., The AI Scientist: Towards Fully Automated Open-Ended Scientific Discovery, 2024. paper (code-sandbox failures and the cost per paper are in section 8 and the introduction).
  • Y. Yamada et al., The AI Scientist-v2, 2025: paper.
  • A. Ghareeb et al., Robin: A multi-agent system for automating scientific discovery, 2025. paper
  • D. A. Boiko et al., Autonomous chemical research with large language models, Nature 2023. paper
  • Repositories in the table above; licences read from the GitHub API or LICENSE file on 2026-10-21.

Similar systems

Share the most building blocks with this one.