{"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/dataenvgym-data-generation-agents-in-teacher","title":"DataEnvGym: Data Generation Agents in Teacher Environments with Student Feedback","arxiv_id":"2410.06215","date":"2024-10-08","proceeding":null,"authors":["Zaid Khan","Elias Stengel-Eskin","Jaemin Cho","Mohit Bansal"],"abstract":"The process of creating training data to teach models is currently driven by humans, who manually analyze model weaknesses and plan how to create data that improves a student model. Approaches using LLMs as annotators reduce human effort, but still require humans to interpret feedback from evaluations and control the LLM to produce data the student needs. Automating this labor-intensive process by creating autonomous data generation agents - or teachers - is desirable, but requires environments that can simulate the feedback-driven, iterative, closed loop of data creation. To enable rapid, scalable testing for such agents and their modules, we introduce DataEnvGym, a testbed of teacher environments for data generation agents. DataEnvGym frames data generation as a sequential decision-making task, involving an agent consisting of a data generation policy (which generates a plan for creating training data) and a data generation engine (which transforms the plan into data), inside an environment that provides student feedback. The agent's goal is to improve student performance. Students are iteratively trained and evaluated on generated data, and their feedback (in the form of errors or weak skills) is reported to the agent after each iteration. DataEnvGym includes multiple teacher environment instantiations across 3 levels of structure in the state representation and action space. More structured environments are based on inferred skills and offer more interpretability and curriculum control. We support 4 domains (math, code, VQA, and tool-use) and test multiple students and teachers. Example agents in our teaching environments can iteratively improve students across tasks and settings. Moreover, we show that environments teach different skill levels and test variants of key modules, pointing to future work in improving data generation agents, engines, and feedback mechanisms.","url_abs":"https://arxiv.org/abs/2410.06215v2","url_pdf":"https://arxiv.org/pdf/2410.06215v2.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":"dataenvgym-data-generation-agents-in-teacher","repo_url":"https://github.com/codezakh/dataenvgym","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"math","task_name":"Math"},{"task_slug":"sequential-decision-making","task_name":"Sequential Decision Making"},{"task_slug":"visual-question-answering","task_name":"Visual Question Answering (VQA)"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2410.06215","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2410.06215"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+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/codezakh/dataenvgym","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":5,"unverified":2},"by_repo_kind":{"official":{"samples":7,"ran":5,"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":0,"samples":[{"code_sha256_prefix":"dec9b5793e1db075","entry":"extract_code_in_markdown_backticks","repo":"codezakh/dataenvgym","repo_kind":"official","path":"src/dataenvgym/utils.py","file_url":"https://github.com/codezakh/dataenvgym/blob/HEAD/src/dataenvgym/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"dec9b5793e1db075"}},{"code_sha256_prefix":"52040a03e753ccda","entry":"format_records_for_llama_factory_sft","repo":"codezakh/dataenvgym","repo_kind":"official","path":"src/dataenvgym/llama_factory_utils.py","file_url":"https://github.com/codezakh/dataenvgym/blob/HEAD/src/dataenvgym/llama_factory_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"52040a03e753ccda"}},{"code_sha256_prefix":"e8cebe1229936609","entry":"get_experiment_path_from_script_name","repo":"codezakh/dataenvgym","repo_kind":"official","path":"src/dataenvgym/experiment_utils.py","file_url":"https://github.com/codezakh/dataenvgym/blob/HEAD/src/dataenvgym/experiment_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e8cebe1229936609"}},{"code_sha256_prefix":"bd09a6c2fa8f2bf5","entry":"get_output_dir_for_prev_experiment","repo":"codezakh/dataenvgym","repo_kind":"official","path":"src/dataenvgym/experiment_utils.py","file_url":"https://github.com/codezakh/dataenvgym/blob/HEAD/src/dataenvgym/experiment_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bd09a6c2fa8f2bf5"}},{"code_sha256_prefix":"421d77d00740f5dd","entry":"implements","repo":"codezakh/dataenvgym","repo_kind":"official","path":"src/dataenvgym/gym/domain_models.py","file_url":"https://github.com/codezakh/dataenvgym/blob/HEAD/src/dataenvgym/gym/domain_models.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"421d77d00740f5dd"}},{"code_sha256_prefix":"93549046b4ecf909","entry":"generate_llama_factory_cli_args","repo":"codezakh/dataenvgym","repo_kind":"official","path":"src/dataenvgym/llama_factory_utils.py","file_url":"https://github.com/codezakh/dataenvgym/blob/HEAD/src/dataenvgym/llama_factory_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"93549046b4ecf909"}},{"code_sha256_prefix":"ba9fccea11f2d5a9","entry":"make_output_dir_for_run","repo":"codezakh/dataenvgym","repo_kind":"official","path":"src/dataenvgym/experiment_utils.py","file_url":"https://github.com/codezakh/dataenvgym/blob/HEAD/src/dataenvgym/experiment_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ba9fccea11f2d5a9"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}