{"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/taskcraft-automated-generation-of-agentic","title":"TaskCraft: Automated Generation of Agentic Tasks","arxiv_id":"2506.10055","date":"2025-06-11","proceeding":null,"authors":["Dingfeng Shi","Jingyi Cao","Qianben Chen","Weichen Sun","Weizhen Li","Hongxuan Lu","Fangchen Dong","Tianrui Qin","King Zhu","Minghao Yang","Jian Yang","Ge Zhang","Jiaheng Liu","Changwang Zhang","Jun Wang","Yuchen Eleanor Jiang","Wangchunshu Zhou"],"abstract":"Agentic tasks, which require multi-step problem solving with autonomy, tool use, and adaptive reasoning, are becoming increasingly central to the advancement of NLP and AI. However, existing instruction data lacks tool interaction, and current agentic benchmarks rely on costly human annotation, limiting their scalability. We introduce \\textsc{TaskCraft}, an automated workflow for generating difficulty-scalable, multi-tool, and verifiable agentic tasks with execution trajectories. TaskCraft expands atomic tasks using depth-based and width-based extensions to create structurally and hierarchically complex challenges. Empirical results show that these tasks improve prompt optimization in the generation workflow and enhance supervised fine-tuning of agentic foundation models. We present a large-scale synthetic dataset of approximately 36,000 tasks with varying difficulty to support future research on agent tuning and evaluation.","url_abs":"https://arxiv.org/abs/2506.10055v1","url_pdf":"https://arxiv.org/pdf/2506.10055v1.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":"taskcraft-automated-generation-of-agentic","repo_url":"https://github.com/oppo-personalai/taskcraft","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2506.10055","atlas_url":"https://app.syntology.ai/?focus=2506.10055","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2506.10055"}},"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/oppo-personalai/taskcraft","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":12},"by_repo_kind":{"official":{"samples":12,"ran":0,"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":"3dc31c37dc165bca","entry":"download_if_url","repo":"oppo-personalai/taskcraft","repo_kind":"official","path":"taskcraft/gen_atomic_task.py","file_url":"https://github.com/oppo-personalai/taskcraft/blob/HEAD/taskcraft/gen_atomic_task.py","link_basis":"harvester_set","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":"3dc31c37dc165bca"}},{"code_sha256_prefix":"990f6625f3b963da","entry":"get_dict_from_nested_dataclasses","repo":"oppo-personalai/taskcraft","repo_kind":"official","path":"taskcraft/oagents/models.py","file_url":"https://github.com/oppo-personalai/taskcraft/blob/HEAD/taskcraft/oagents/models.py","link_basis":"harvester_set","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":"990f6625f3b963da"}},{"code_sha256_prefix":"214e594b2312384d","entry":"get_variable_names","repo":"oppo-personalai/taskcraft","repo_kind":"official","path":"taskcraft/oagents/agents.py","file_url":"https://github.com/oppo-personalai/taskcraft/blob/HEAD/taskcraft/oagents/agents.py","link_basis":"harvester_set","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":"214e594b2312384d"}},{"code_sha256_prefix":"f50a0c592840c4b7","entry":"handle_agent_output_types","repo":"oppo-personalai/taskcraft","repo_kind":"official","path":"taskcraft/oagents/agent_types.py","file_url":"https://github.com/oppo-personalai/taskcraft/blob/HEAD/taskcraft/oagents/agent_types.py","link_basis":"harvester_set","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":"f50a0c592840c4b7"}},{"code_sha256_prefix":"52af7d1ef1afcb23","entry":"parse_json_if_needed","repo":"oppo-personalai/taskcraft","repo_kind":"official","path":"taskcraft/oagents/models.py","file_url":"https://github.com/oppo-personalai/taskcraft/blob/HEAD/taskcraft/oagents/models.py","link_basis":"harvester_set","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":"52af7d1ef1afcb23"}},{"code_sha256_prefix":"9b2d2b3aa800a817","entry":"parse_tool_args_if_needed","repo":"oppo-personalai/taskcraft","repo_kind":"official","path":"taskcraft/oagents/models.py","file_url":"https://github.com/oppo-personalai/taskcraft/blob/HEAD/taskcraft/oagents/models.py","link_basis":"harvester_set","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":"9b2d2b3aa800a817"}},{"code_sha256_prefix":"19d66aa31253eaf1","entry":"populate_template","repo":"oppo-personalai/taskcraft","repo_kind":"official","path":"taskcraft/oagents/agents.py","file_url":"https://github.com/oppo-personalai/taskcraft/blob/HEAD/taskcraft/oagents/agents.py","link_basis":"harvester_set","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":"19d66aa31253eaf1"}},{"code_sha256_prefix":"e62c7f155b226ec4","entry":"process_news_csv","repo":"oppo-personalai/taskcraft","repo_kind":"official","path":"taskcraft/data_processor.py","file_url":"https://github.com/oppo-personalai/taskcraft/blob/HEAD/taskcraft/data_processor.py","link_basis":"harvester_set","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":"e62c7f155b226ec4"}},{"code_sha256_prefix":"47cc6a8298b927aa","entry":"read_json","repo":"oppo-personalai/taskcraft","repo_kind":"official","path":"taskcraft/utils.py","file_url":"https://github.com/oppo-personalai/taskcraft/blob/HEAD/taskcraft/utils.py","link_basis":"harvester_set","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":"47cc6a8298b927aa"}},{"code_sha256_prefix":"c5bf8e54f0728275","entry":"read_jsonl","repo":"oppo-personalai/taskcraft","repo_kind":"official","path":"taskcraft/utils.py","file_url":"https://github.com/oppo-personalai/taskcraft/blob/HEAD/taskcraft/utils.py","link_basis":"harvester_set","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":"c5bf8e54f0728275"}},{"code_sha256_prefix":"23aca818bcd68712","entry":"read_txt","repo":"oppo-personalai/taskcraft","repo_kind":"official","path":"taskcraft/utils.py","file_url":"https://github.com/oppo-personalai/taskcraft/blob/HEAD/taskcraft/utils.py","link_basis":"harvester_set","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":"23aca818bcd68712"}},{"code_sha256_prefix":"d348798925fda21a","entry":"retry_predict","repo":"oppo-personalai/taskcraft","repo_kind":"official","path":"taskcraft/gen_width_based_task.py","file_url":"https://github.com/oppo-personalai/taskcraft/blob/HEAD/taskcraft/gen_width_based_task.py","link_basis":"harvester_set","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":"d348798925fda21a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}