{"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/tdag-a-multi-agent-framework-based-on-dynamic","title":"TDAG: A Multi-Agent Framework based on Dynamic Task Decomposition and Agent Generation","arxiv_id":"2402.10178","date":"2024-02-15","proceeding":null,"authors":["Yaoxiang Wang","Zhiyong Wu","Junfeng Yao","Jinsong Su"],"abstract":"The emergence of Large Language Models (LLMs) like ChatGPT has inspired the development of LLM-based agents capable of addressing complex, real-world tasks. However, these agents often struggle during task execution due to methodological constraints, such as error propagation and limited adaptability. To address this issue, we propose a multi-agent framework based on dynamic Task Decomposition and Agent Generation (TDAG). This framework dynamically decomposes complex tasks into smaller subtasks and assigns each to a specifically generated subagent, thereby enhancing adaptability in diverse and unpredictable real-world tasks. Simultaneously, existing benchmarks often lack the granularity needed to evaluate incremental progress in complex, multi-step tasks. In response, we introduce ItineraryBench in the context of travel planning, featuring interconnected, progressively complex tasks with a fine-grained evaluation system. ItineraryBench is designed to assess agents' abilities in memory, planning, and tool usage across tasks of varying complexity. Our experimental results reveal that TDAG significantly outperforms established baselines, showcasing its superior adaptability and context awareness in complex task scenarios.","url_abs":"https://arxiv.org/abs/2402.10178v2","url_pdf":"https://arxiv.org/pdf/2402.10178v2.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":"tdag-a-multi-agent-framework-based-on-dynamic","repo_url":"https://github.com/yxwang8775/tdag","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok"}}],"tasks":[],"methods":[{"method_slug":null,"method_name":"Travel"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2402.10178","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2402.10178"}},"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/yxwang8775/tdag","reach":{"status":"ok"}}],"summary":{"ran":3,"unverified":8},"by_repo_kind":{"official":{"samples":11,"ran":3,"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":11,"samples":[{"code_sha256_prefix":"3f03807271f9d1cb","entry":"get_content","repo":"yxwang8775/tdag","repo_kind":"official","path":"utils/code.py","file_url":"https://github.com/yxwang8775/tdag/blob/HEAD/utils/code.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3f03807271f9d1cb"}},{"code_sha256_prefix":"38d153e0f4b8a806","entry":"get_content_list","repo":"yxwang8775/tdag","repo_kind":"official","path":"utils/code.py","file_url":"https://github.com/yxwang8775/tdag/blob/HEAD/utils/code.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"38d153e0f4b8a806"}},{"code_sha256_prefix":"39a2059202128786","entry":"string_to_function","repo":"yxwang8775/tdag","repo_kind":"official","path":"utils/code.py","file_url":"https://github.com/yxwang8775/tdag/blob/HEAD/utils/code.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"39a2059202128786"}},{"code_sha256_prefix":"28521e6bc5ae5c0b","entry":"chat_gpt","repo":"yxwang8775/tdag","repo_kind":"official","path":"run/run_webshop.py","file_url":"https://github.com/yxwang8775/tdag/blob/HEAD/run/run_webshop.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"28521e6bc5ae5c0b"}},{"code_sha256_prefix":"d4800823ff95ae22","entry":"chat_gpt","repo":"yxwang8775/tdag","repo_kind":"official","path":"utils/api_service.py","file_url":"https://github.com/yxwang8775/tdag/blob/HEAD/utils/api_service.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d4800823ff95ae22"}},{"code_sha256_prefix":"04d24e7f2e229e1d","entry":"get_token_num","repo":"yxwang8775/tdag","repo_kind":"official","path":"utils/api_service.py","file_url":"https://github.com/yxwang8775/tdag/blob/HEAD/utils/api_service.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"04d24e7f2e229e1d"}},{"code_sha256_prefix":"7001b2ef317259d7","entry":"invoke_function","repo":"yxwang8775/tdag","repo_kind":"official","path":"run/run_adapt.py","file_url":"https://github.com/yxwang8775/tdag/blob/HEAD/run/run_adapt.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7001b2ef317259d7"}},{"code_sha256_prefix":"6b6f5191859f7aef","entry":"llm","repo":"yxwang8775/tdag","repo_kind":"official","path":"run/run_textcraft.py","file_url":"https://github.com/yxwang8775/tdag/blob/HEAD/run/run_textcraft.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6b6f5191859f7aef"}},{"code_sha256_prefix":"02d74265eb1c412c","entry":"llm","repo":"yxwang8775/tdag","repo_kind":"official","path":"run/run_webshop.py","file_url":"https://github.com/yxwang8775/tdag/blob/HEAD/run/run_webshop.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"02d74265eb1c412c"}},{"code_sha256_prefix":"f2621e2be651e779","entry":"plan_llm","repo":"yxwang8775/tdag","repo_kind":"official","path":"run/run_textcraft.py","file_url":"https://github.com/yxwang8775/tdag/blob/HEAD/run/run_textcraft.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f2621e2be651e779"}},{"code_sha256_prefix":"15bc9974b938db8e","entry":"plan_llm","repo":"yxwang8775/tdag","repo_kind":"official","path":"run/run_webshop.py","file_url":"https://github.com/yxwang8775/tdag/blob/HEAD/run/run_webshop.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"15bc9974b938db8e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}