{"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-2608-01904","title":"CoEvoKG: Co-Evolving Knowledge Graphs with Self-Evolving Search Agents","arxiv_id":"2608.01904","date":"2026-08-03","proceeding":null,"authors":["Zhaoyang Li","Zenghuang Fu","Qiuyuan Ai","Ping Jiang","Haoyu Wu","Minghui Wu","Chenxu Zhao","Jie Song","Guannan He"],"abstract":"Large language models can improve with reinforcement learning for search agents, yet existing self play agents repeatedly generate tasks while discarding the knowledge gained during successful searches. We introduce CoEvoKG, a framework that turns a knowledge graph into both a source of verifiable training tasks and a persistent evidence memory for agent evolution. CoEvoKG jointly trains a task generator and a search agent: the generator creates multihop questions from entity chains sampled from the knowledge graph, while the agent learns from rewards for answer correctness and search trajectories whose entity paths are supported by graph evidence. When a search succeeds, CoEvoKG verifies and deduplicates the retrieved evidence, then writes it back to the corresponding graph nodes and edges. Future rounds reuse this enriched graph for task generation and reward computation, closing the loop between model self evolution and knowledge accumulation. Experiments on six QA benchmarks (NQ, TriviaQA, PopQA, HotpotQA, 2WikiMultiHopQA, and Bamboogle) with three backbone models show that CoEvoKG improves macro average accuracy over the corresponding base models by +11.2, +10.1, and +11.6 points on Qwen2.5-3B-Instruct, Qwen2.5-7B-Instruct, and Llama-3.1-8B-Instruct, respectively. Under matched training budgets, CoEvoKG further improves over competitive self play baselines and RL baselines for search agents by +2.6 to +3.7 macro average points across the three backbones. Code is available at https://github.com/lazzy1225/CoEvoKG.","url_abs":"https://arxiv.org/abs/2608.01904","url_pdf":"https://arxiv.org/pdf/2608.01904","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=2608.01904","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2608.01904"}},"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/lazzy1225/CoEvoKG","reach":null}],"summary":{"ran":3,"ran_honours":1,"ran_draft_wrong":1},"by_repo_kind":{"found_in_text":{"samples":5,"ran":5,"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":"7434c2f36297799f","entry":"create_rl_sampler","repo":"lazzy1225/CoEvoKG","repo_kind":"found_in_text","path":"coevokg/main_rl.py","file_url":"https://github.com/lazzy1225/CoEvoKG/blob/HEAD/coevokg/main_rl.py","link_basis":"plan_row","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":"7434c2f36297799f"}},{"code_sha256_prefix":"f8ea5de03c824510","entry":"em_check","repo":"lazzy1225/CoEvoKG","repo_kind":"found_in_text","path":"coevokg/reward/score/coevokg_score.py","file_url":"https://github.com/lazzy1225/CoEvoKG/blob/HEAD/coevokg/reward/score/coevokg_score.py","link_basis":"plan_row","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f8ea5de03c824510"}},{"code_sha256_prefix":"d8e7ceb7ac0087e6","entry":"f1_score","repo":"lazzy1225/CoEvoKG","repo_kind":"found_in_text","path":"coevokg/reward/score/search_eval_score.py","file_url":"https://github.com/lazzy1225/CoEvoKG/blob/HEAD/coevokg/reward/score/search_eval_score.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":"d8e7ceb7ac0087e6"}},{"code_sha256_prefix":"dae7ab386661a4f4","entry":"normalize_answer","repo":"lazzy1225/CoEvoKG","repo_kind":"found_in_text","path":"coevokg/reward/score/coevokg_score.py","file_url":"https://github.com/lazzy1225/CoEvoKG/blob/HEAD/coevokg/reward/score/coevokg_score.py","link_basis":"plan_row","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"}},{"code_sha256_prefix":"eb94037d0866de26","entry":"subem_check","repo":"lazzy1225/CoEvoKG","repo_kind":"found_in_text","path":"coevokg/reward/score/coevokg_score.py","file_url":"https://github.com/lazzy1225/CoEvoKG/blob/HEAD/coevokg/reward/score/coevokg_score.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":"eb94037d0866de26"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.AI","source":"arxiv_2026.jsonl"},"syntology_extracted_results":{"kind":"leaderboard_placements","source":"Syntology's leaderboard-shaped extractor over the paper's own arXiv-HTML tables: a model pointed at a cell, the number was read from that cell and checked against the board's metric, dataset, split and scale, and an independent check accepted the entry; not reviewed by the paper's authors or the archive's editors","extractor_model":"global.anthropic.claude-sonnet-4-5-20250929-v1:0","verifier_model":null,"prompt_sha":"fa63d4bb9d755694","coverage":{"sentence":"Syntology has checked 6,264 of the 9,581 papers on this site that are newer than the archive; results from the others appear after they are checked.","papers_newer_than_archive":9581,"papers_checked":6264},"entries":[],"not_placed":{"boards":2,"rejected_by_independent_check":0,"refused_by_a_rule":2,"check_did_not_answer":0,"proposed_without_a_cell":0,"declined_by_site":0}}}