atlas

Research map / Multi-agent systems and games / LLM agents

Commit0: Library Generation from Scratch

ICLR 2025 · Multi-agent systems and games › LLM agents · approach: Software engineering agent benchmarks · 0 citations (OpenAlex)

Read the paperCheck your idea against 108,967 papers

AI-extracted summary. Written by AI from the paper's full text. Numbers and claims can be wrong or missing context, so check the paper before you cite or build on it.

Introduces Commit0, a benchmark of 54 Python libraries where agents must implement libraries from specification documents and unit tests, plus the SDE-I agent baseline with interactive test/lint feedback.

Problem

Existing coding benchmarks test single functions or patches within existing repos; generating a full library from scratch under long specifications, complex inter-module dependencies, and multi-stage feedback is not measured.

Approach

Turn real Python libraries into generation tasks by stripping public function bodies and providing their PDF-converted specifications and unit tests, with Dockerized interactive unit-test, lint, and coverage feedback; a prototype agent (SDE-I) fills modules in topological import order and refines using static analysis and test errors.

Key results

Measured effects reported in the paper

What was changedWhereMeasuredEffect
Add unit test feedback iterations after the initial draft (ablation)SDE-I with Claude 3.5 Sonnet · Commit0 liteunit test pass rate: 17.80 -> 29.30Helped
Add unit test feedback iterations after the initial draft (ablation)SDE-I · Commit0 liteunit test pass rateHelped
Add static analysis feedback (ablation)SDE-I with open-weights models · Commit0 liteunit test pass rateHurt
Add only the first 10,000 specification tokens to context (ablation)SDE-I Stage 1 · Commit0 liteunit test pass rateHurt
Add test modules to the prompt (ablation)SDE-I Stage 1 · Commit0 liteunit test pass rateHurt
Retrieve the top 10 specification chunks with BM25 rather than use the first 10,000 tokens (ablation)SDE-I Stage 1 · Commit0 liteunit test pass rateHelped
Use random module ordering instead of topological-sort ordering (ablation)SDE-I Stage 1 · Commit0 liteunit test pass rate: 17% -> 22%Helped
Exclude relevant imported modules from context (ablation)SDE-I Stage 1 · Commit0 liteunit test pass rateHurt
Increase test-time compute by sampling more module implementations (ablation)SDE-I Stage 1 · Commit0 liteunit test pass rateHelped
Increase the number of unit-test-feedback iterations (ablation)SDE-I Stage 3 · Commit0 liteunit test pass rateHelped
Generate by individual pass statement instead of module (ablation)SDE-I · Commit0 liteaverage pass rate: 17.80 -> 12.42Hurt
Use OpenHands instead of SDE-ICommit0 · Commit0 liteunit test pass rate: 42.95% (a 13.65% improvement compared to SDE-I)Helped

Surprising findings

Limitations

Experimental setup

Datasets: Commit0 library specifications and unit tests from 54 Python libraries

Benchmarks: Commit0 lite Commit0 all

Metrics: unit test pass rate API cost (USD) 10-gram overlap

Baselines: OpenAI o1-preview Claude 3.5 Sonnet DeepSeek-V2.5 Llama-3.1-8B-Instruct Llama-3.1-70B-Instruct Llama-3.1-405B-Instruct Codestral GPT-4o-mini OpenHands

Builds on: SWE-bench Aider OpenHands R2E DevBench

Closest papers by meaning

Writing a paper in this area? scime draft is a free LaTeX editor with AI included, real-time co-authors and a check of your references and venue rules before you submit. It also imports OpenAI Prism projects.

Open scime draft

Get the next scime Dispatch and a monthly field update

Free. We send a confirmation link first; every email has a one-click unsubscribe. Privacy