{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/the-ai-scientist-towards-fully-automated-open","title":"The AI Scientist: Towards Fully Automated Open-Ended Scientific Discovery","arxiv_id":"2408.06292","date":"2024-08-12","proceeding":null,"authors":["Chris Lu","Cong Lu","Robert Tjarko Lange","Jakob Foerster","Jeff Clune","David Ha"],"abstract":"One of the grand challenges of artificial general intelligence is developing agents capable of conducting scientific research and discovering new knowledge. While frontier models have already been used as aides to human scientists, e.g. for brainstorming ideas, writing code, or prediction tasks, they still conduct only a small part of the scientific process. This paper presents the first comprehensive framework for fully automatic scientific discovery, enabling frontier large language models to perform research independently and communicate their findings. We introduce The AI Scientist, which generates novel research ideas, writes code, executes experiments, visualizes results, describes its findings by writing a full scientific paper, and then runs a simulated review process for evaluation. In principle, this process can be repeated to iteratively develop ideas in an open-ended fashion, acting like the human scientific community. We demonstrate its versatility by applying it to three distinct subfields of machine learning: diffusion modeling, transformer-based language modeling, and learning dynamics. Each idea is implemented and developed into a full paper at a cost of less than $15 per paper. To evaluate the generated papers, we design and validate an automated reviewer, which we show achieves near-human performance in evaluating paper scores. The AI Scientist can produce papers that exceed the acceptance threshold at a top machine learning conference as judged by our automated reviewer. This approach signifies the beginning of a new era in scientific discovery in machine learning: bringing the transformative benefits of AI agents to the entire research process of AI itself, and taking us closer to a world where endless affordable creativity and innovation can be unleashed on the world's most challenging problems. Our code is open-sourced at https://github.com/SakanaAI/AI-Scientist","url_abs":"https://arxiv.org/abs/2408.06292v3","url_pdf":"https://arxiv.org/pdf/2408.06292v3.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"the-ai-scientist-towards-fully-automated-open","repo_url":"https://github.com/sakanaai/ai-scientist","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"the-ai-scientist-towards-fully-automated-open","repo_url":"https://github.com/Masao-Taketani/AI-Scientist-with-Local-LLMs","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"language-modeling","task_name":"Language Modeling"},{"task_slug":"language-modelling","task_name":"Language Modelling"},{"task_slug":"scientific-discovery","task_name":"scientific discovery"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2408.06292","atlas_url":"https://app.syntology.ai/?focus=2408.06292","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2408.06292"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Masao-Taketani/AI-Scientist-with-Local-LLMs","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/sakanaai/ai-scientist","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"ran":9,"ran_honours":1,"unverified":1},"by_repo_kind":{"official":{"samples":9,"ran":9,"repositories":1},"listed":{"samples":2,"ran":1,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":9,"samples":[{"code_sha256_prefix":"41adbcc04070fd12","entry":"extract_json_between_markers","repo":"sakanaai/ai-scientist","repo_kind":"official","path":"ai_scientist/llm.py","file_url":"https://github.com/sakanaai/ai-scientist/blob/HEAD/ai_scientist/llm.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"41adbcc04070fd12"}},{"code_sha256_prefix":"de494a578ed3156e","entry":"generate_color_palette","repo":"sakanaai/ai-scientist","repo_kind":"official","path":"example_papers/layerwise_lr_grokking/plot.py","file_url":"https://github.com/sakanaai/ai-scientist/blob/HEAD/example_papers/layerwise_lr_grokking/plot.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"de494a578ed3156e"}},{"code_sha256_prefix":"b9a353fd9f420101","entry":"get_available_gpus","repo":"Masao-Taketani/AI-Scientist-with-Local-LLMs","repo_kind":"listed","path":"launch_scientist.py","file_url":"https://github.com/Masao-Taketani/AI-Scientist-with-Local-LLMs/blob/HEAD/launch_scientist.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b9a353fd9f420101"}},{"code_sha256_prefix":"ef71cac55b75b747","entry":"get_data","repo":"sakanaai/ai-scientist","repo_kind":"official","path":"example_papers/layerwise_lr_grokking/experiment.py","file_url":"https://github.com/sakanaai/ai-scientist/blob/HEAD/example_papers/layerwise_lr_grokking/experiment.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"ef71cac55b75b747"}},{"code_sha256_prefix":"0560771a47a3e327","entry":"load_review","repo":"sakanaai/ai-scientist","repo_kind":"official","path":"ai_scientist/perform_review.py","file_url":"https://github.com/sakanaai/ai-scientist/blob/HEAD/ai_scientist/perform_review.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"0560771a47a3e327"}},{"code_sha256_prefix":"ef0e4401922abbd5","entry":"operation_mod_p_data","repo":"sakanaai/ai-scientist","repo_kind":"official","path":"example_papers/layerwise_lr_grokking/experiment.py","file_url":"https://github.com/sakanaai/ai-scientist/blob/HEAD/example_papers/layerwise_lr_grokking/experiment.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"ef0e4401922abbd5"}},{"code_sha256_prefix":"5dfa236b6bc7969c","entry":"perform_experiments","repo":"sakanaai/ai-scientist","repo_kind":"official","path":"ai_scientist/perform_experiments.py","file_url":"https://github.com/sakanaai/ai-scientist/blob/HEAD/ai_scientist/perform_experiments.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"5dfa236b6bc7969c"}},{"code_sha256_prefix":"8d71b435fe16e51f","entry":"run_experiment","repo":"sakanaai/ai-scientist","repo_kind":"official","path":"ai_scientist/perform_experiments.py","file_url":"https://github.com/sakanaai/ai-scientist/blob/HEAD/ai_scientist/perform_experiments.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"8d71b435fe16e51f"}},{"code_sha256_prefix":"4faf099f4b9d5c34","entry":"run_plotting","repo":"sakanaai/ai-scientist","repo_kind":"official","path":"ai_scientist/perform_experiments.py","file_url":"https://github.com/sakanaai/ai-scientist/blob/HEAD/ai_scientist/perform_experiments.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"4faf099f4b9d5c34"}},{"code_sha256_prefix":"a8a8eb2391a886e7","entry":"train","repo":"sakanaai/ai-scientist","repo_kind":"official","path":"example_papers/layerwise_lr_grokking/experiment.py","file_url":"https://github.com/sakanaai/ai-scientist/blob/HEAD/example_papers/layerwise_lr_grokking/experiment.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"a8a8eb2391a886e7"}},{"code_sha256_prefix":"d3a0ec611e5c88d1","entry":"train","repo":"Masao-Taketani/AI-Scientist-with-Local-LLMs","repo_kind":"listed","path":"templates/nanoGPT/experiment.py","file_url":"https://github.com/Masao-Taketani/AI-Scientist-with-Local-LLMs/blob/HEAD/templates/nanoGPT/experiment.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d3a0ec611e5c88d1"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}