{"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/learning-to-use-tools-via-cooperative-and","title":"Learning to Use Tools via Cooperative and Interactive Agents","arxiv_id":"2403.03031","date":"2024-03-05","proceeding":null,"authors":["Zhengliang Shi","Shen Gao","Xiuyi Chen","Yue Feng","Lingyong Yan","Haibo Shi","Dawei Yin","Pengjie Ren","Suzan Verberne","Zhaochun Ren"],"abstract":"Tool learning empowers large language models (LLMs) as agents to use external tools and extend their utility. Existing methods employ one single LLM-based agent to iteratively select and execute tools, thereafter incorporating execution results into the next action prediction. Despite their progress, these methods suffer from performance degradation when addressing practical tasks due to: (1) the pre-defined pipeline with restricted flexibility to calibrate incorrect actions, and (2) the struggle to adapt a general LLM-based agent to perform a variety of specialized actions. To mitigate these problems, we propose ConAgents, a Cooperative and interactive Agents framework, which coordinates three specialized agents for tool selection, tool execution, and action calibration separately. ConAgents introduces two communication protocols to enable the flexible cooperation of agents. To effectively generalize the ConAgents into open-source models, we also propose specialized action distillation, enhancing their ability to perform specialized actions in our framework. Our extensive experiments on three datasets show that the LLMs, when equipped with the ConAgents, outperform baselines with substantial improvement (i.e., up to 14% higher success rate).","url_abs":"https://arxiv.org/abs/2403.03031v4","url_pdf":"https://arxiv.org/pdf/2403.03031v4.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":"learning-to-use-tools-via-cooperative-and","repo_url":"https://github.com/shizhl/coagents","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"learning-to-use-tools-via-cooperative-and","repo_url":"https://github.com/shizhl/conagents","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2403.03031","atlas_url":"https://app.syntology.ai/?focus=2403.03031","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2403.03031"}},"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/shizhl/conagents","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/shizhl/coagents","reach":{"status":"ok"}}],"summary":{"ran":4,"unverified":1},"by_repo_kind":{"official":{"samples":5,"ran":4,"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":5,"samples":[{"code_sha256_prefix":"2021eea223d6b4ee","entry":"get_from_openai","repo":"shizhl/coagents","repo_kind":"official","path":"utilize/apis.py","file_url":"https://github.com/shizhl/coagents/blob/HEAD/utilize/apis.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":"2021eea223d6b4ee"}},{"code_sha256_prefix":"6d61764dd92aaa2f","entry":"get_yaml","repo":"shizhl/coagents","repo_kind":"official","path":"models/observation.py","file_url":"https://github.com/shizhl/coagents/blob/HEAD/models/observation.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":"6d61764dd92aaa2f"}},{"code_sha256_prefix":"8c3f443c53267861","entry":"load_jsonl","repo":"shizhl/coagents","repo_kind":"official","path":"utilize/utilze.py","file_url":"https://github.com/shizhl/coagents/blob/HEAD/utilize/utilze.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":"8c3f443c53267861"}},{"code_sha256_prefix":"e630822f7b9d4693","entry":"mean","repo":"shizhl/coagents","repo_kind":"official","path":"utilize/utilze.py","file_url":"https://github.com/shizhl/coagents/blob/HEAD/utilize/utilze.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":"e630822f7b9d4693"}},{"code_sha256_prefix":"dad7641759f8eccc","entry":"multi_load_jsonl","repo":"shizhl/coagents","repo_kind":"official","path":"utilize/utilze.py","file_url":"https://github.com/shizhl/coagents/blob/HEAD/utilize/utilze.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":"dad7641759f8eccc"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}