{"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/arxiv-2604-18356","title":"ComPASS: Towards Personalized Agentic Social Support via Tool-Augmented Companionship","arxiv_id":"2604.18356","date":"2026-04-20","proceeding":null,"authors":["Zhaopei Huang","Yanfeng Jia","Jiayi Zhao","Xinjie Zhang","Wenxuan Wang","Qin Jin"],"abstract":"Developing compassionate interactive systems requires agents to not only understand user emotions but also provide diverse, substantive support. While recent works explore empathetic dialogue generation, they remain limited in response form and content, struggling to satisfy diverse needs across users and contexts. To address this, we explore empowering agents with external tools to execute diverse actions. Grounded in the psychological concept of \"social support\", this paradigm delivers substantive, human-like companionship. Specifically, we first design a dozen user-centric tools simulating various multimedia applications, which can cover different types of social support behaviors in human-agent interaction scenarios. We then construct ComPASS-Bench, the first personalized social support benchmark for LLM-based agents, via multi-step automated synthesis and manual refinement. Based on ComPASS-Bench, we further synthesize tool use records to fine-tune the Qwen3-8B model, yielding a task-specific ComPASS-Qwen. Comprehensive evaluations across two settings reveal that while the evaluated LLMs can generate valid tool-calling requests with high success rates, significant gaps remain in final response quality. Moreover, tool-augmented responses achieve better overall performance than directly producing conversational empathy. Notably, our trained ComPASS-Qwen demonstrates substantial improvements over its base model, achieving comparable performance to several large-scale models. Our code and data are available at https://github.com/hzp3517/ComPASS.","url_abs":"https://arxiv.org/abs/2604.18356","url_pdf":"https://arxiv.org/pdf/2604.18356","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2604.18356","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2604.18356"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/hzp3517/ComPASS","reach":null}],"summary":{"ran":1,"ran_draft_wrong":3,"unverified":6},"by_repo_kind":{"found_in_text":{"samples":10,"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":10,"samples":[{"code_sha256_prefix":"d3ad35801881450d","entry":"LLM_Individual_Generation","repo":"hzp3517/ComPASS","repo_kind":"found_in_text","path":"data_synthesis/code/tool_invocation_ver1_mul.py","file_url":"https://github.com/hzp3517/ComPASS/blob/HEAD/data_synthesis/code/tool_invocation_ver1_mul.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":"d3ad35801881450d"}},{"code_sha256_prefix":"d1c072559d11f1e4","entry":"execute_tool_call","repo":"hzp3517/ComPASS","repo_kind":"found_in_text","path":"data_synthesis/code/tool_invocation_ver1_mul.py","file_url":"https://github.com/hzp3517/ComPASS/blob/HEAD/data_synthesis/code/tool_invocation_ver1_mul.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d1c072559d11f1e4"}},{"code_sha256_prefix":"367b016b78e6212b","entry":"load_tool_module","repo":"hzp3517/ComPASS","repo_kind":"found_in_text","path":"data_synthesis/code/tool_invocation_ver1_mul.py","file_url":"https://github.com/hzp3517/ComPASS/blob/HEAD/data_synthesis/code/tool_invocation_ver1_mul.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"367b016b78e6212b"}},{"code_sha256_prefix":"9cec4ebac87fb299","entry":"parse_tool_call","repo":"hzp3517/ComPASS","repo_kind":"found_in_text","path":"data_synthesis/code/tool_invocation_ver1_mul.py","file_url":"https://github.com/hzp3517/ComPASS/blob/HEAD/data_synthesis/code/tool_invocation_ver1_mul.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9cec4ebac87fb299"}},{"code_sha256_prefix":"d665a818d235c98d","entry":"FeedbackGenerationGeneration","repo":"hzp3517/ComPASS","repo_kind":"found_in_text","path":"data_synthesis/code/tool_invocation_ver1_mul.py","file_url":"https://github.com/hzp3517/ComPASS/blob/HEAD/data_synthesis/code/tool_invocation_ver1_mul.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":"d665a818d235c98d"}},{"code_sha256_prefix":"9bc163a91fdffd26","entry":"LLM_Proxy","repo":"hzp3517/ComPASS","repo_kind":"found_in_text","path":"data_synthesis/code/tool_invocation_ver1_mul.py","file_url":"https://github.com/hzp3517/ComPASS/blob/HEAD/data_synthesis/code/tool_invocation_ver1_mul.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":"9bc163a91fdffd26"}},{"code_sha256_prefix":"8d94ff0162ec8a29","entry":"PerferCheckGeneration","repo":"hzp3517/ComPASS","repo_kind":"found_in_text","path":"data_synthesis/code/tool_invocation_ver1_mul.py","file_url":"https://github.com/hzp3517/ComPASS/blob/HEAD/data_synthesis/code/tool_invocation_ver1_mul.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":"8d94ff0162ec8a29"}},{"code_sha256_prefix":"57bf85d91968ed7d","entry":"ToolCheckGeneration","repo":"hzp3517/ComPASS","repo_kind":"found_in_text","path":"data_synthesis/code/tool_invocation_ver1_mul.py","file_url":"https://github.com/hzp3517/ComPASS/blob/HEAD/data_synthesis/code/tool_invocation_ver1_mul.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":"57bf85d91968ed7d"}},{"code_sha256_prefix":"8c53cb8d0ae43a34","entry":"ToolSelectionGeneration","repo":"hzp3517/ComPASS","repo_kind":"found_in_text","path":"data_synthesis/code/tool_invocation_ver1_mul.py","file_url":"https://github.com/hzp3517/ComPASS/blob/HEAD/data_synthesis/code/tool_invocation_ver1_mul.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":"8c53cb8d0ae43a34"}},{"code_sha256_prefix":"428327095e860bed","entry":"process_single_utterance","repo":"hzp3517/ComPASS","repo_kind":"found_in_text","path":"data_synthesis/code/tool_invocation_ver1_mul.py","file_url":"https://github.com/hzp3517/ComPASS/blob/HEAD/data_synthesis/code/tool_invocation_ver1_mul.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":"428327095e860bed"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.CL","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}