{"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/symbolic-learning-enables-self-evolving","title":"Symbolic Learning Enables Self-Evolving Agents","arxiv_id":"2406.18532","date":"2024-06-26","proceeding":null,"authors":["Wangchunshu Zhou","Yixin Ou","Shengwei Ding","Long Li","Jialong Wu","Tiannan Wang","Jiamin Chen","Shuai Wang","Xiaohua Xu","Ningyu Zhang","Huajun Chen","Yuchen Eleanor Jiang"],"abstract":"The AI community has been exploring a pathway to artificial general intelligence (AGI) by developing \"language agents\", which are complex large language models (LLMs) pipelines involving both prompting techniques and tool usage methods. While language agents have demonstrated impressive capabilities for many real-world tasks, a fundamental limitation of current language agents research is that they are model-centric, or engineering-centric. That's to say, the progress on prompts, tools, and pipelines of language agents requires substantial manual engineering efforts from human experts rather than automatically learning from data. We believe the transition from model-centric, or engineering-centric, to data-centric, i.e., the ability of language agents to autonomously learn and evolve in environments, is the key for them to possibly achieve AGI. In this work, we introduce agent symbolic learning, a systematic framework that enables language agents to optimize themselves on their own in a data-centric way using symbolic optimizers. Specifically, we consider agents as symbolic networks where learnable weights are defined by prompts, tools, and the way they are stacked together. Agent symbolic learning is designed to optimize the symbolic network within language agents by mimicking two fundamental algorithms in connectionist learning: back-propagation and gradient descent. Instead of dealing with numeric weights, agent symbolic learning works with natural language simulacrums of weights, loss, and gradients. We conduct proof-of-concept experiments on both standard benchmarks and complex real-world tasks and show that agent symbolic learning enables language agents to update themselves after being created and deployed in the wild, resulting in \"self-evolving agents\".","url_abs":"https://arxiv.org/abs/2406.18532v1","url_pdf":"https://arxiv.org/pdf/2406.18532v1.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":"symbolic-learning-enables-self-evolving","repo_url":"https://github.com/aiwaves-cn/agents","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2406.18532","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2406.18532"}},"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/aiwaves-cn/agents","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":5,"ran_honours":1,"ran_draft_wrong":1},"by_repo_kind":{"official":{"samples":7,"ran":7,"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":"0ac8c3678ce38802","entry":"check_correctness","repo":"aiwaves-cn/agents","repo_kind":"official","path":"src/agents/datasets/humaneval.py","file_url":"https://github.com/aiwaves-cn/agents/blob/HEAD/src/agents/datasets/humaneval.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"0ac8c3678ce38802"}},{"code_sha256_prefix":"9c2911e17309fc8f","entry":"estimate_pass_at_k","repo":"aiwaves-cn/agents","repo_kind":"official","path":"src/agents/datasets/humaneval.py","file_url":"https://github.com/aiwaves-cn/agents/blob/HEAD/src/agents/datasets/humaneval.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9c2911e17309fc8f"}},{"code_sha256_prefix":"71d028a2ce5a16b6","entry":"extract","repo":"aiwaves-cn/agents","repo_kind":"official","path":"src/agents/datasets/creative_writing.py","file_url":"https://github.com/aiwaves-cn/agents/blob/HEAD/src/agents/datasets/creative_writing.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"71d028a2ce5a16b6"}},{"code_sha256_prefix":"32a5f1733d9a8971","entry":"f1_score","repo":"aiwaves-cn/agents","repo_kind":"official","path":"src/agents/datasets/hotpotqa.py","file_url":"https://github.com/aiwaves-cn/agents/blob/HEAD/src/agents/datasets/hotpotqa.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"32a5f1733d9a8971"}},{"code_sha256_prefix":"a6d4e225abfd096e","entry":"get_content_between_a_b","repo":"aiwaves-cn/agents","repo_kind":"official","path":"src/agents/datasets/creative_writing.py","file_url":"https://github.com/aiwaves-cn/agents/blob/HEAD/src/agents/datasets/creative_writing.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a6d4e225abfd096e"}},{"code_sha256_prefix":"f88a653262431600","entry":"get_content_between_a_b","repo":"aiwaves-cn/agents","repo_kind":"official","path":"src/agents/datasets/humaneval.py","file_url":"https://github.com/aiwaves-cn/agents/blob/HEAD/src/agents/datasets/humaneval.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f88a653262431600"}},{"code_sha256_prefix":"dae7ab386661a4f4","entry":"normalize_answer","repo":"aiwaves-cn/agents","repo_kind":"official","path":"src/agents/datasets/hotpotqa.py","file_url":"https://github.com/aiwaves-cn/agents/blob/HEAD/src/agents/datasets/hotpotqa.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"dae7ab386661a4f4"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}