{"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/oda-observation-driven-agent-for-integrating","title":"ODA: Observation-Driven Agent for integrating LLMs and Knowledge Graphs","arxiv_id":"2404.07677","date":"2024-04-11","proceeding":null,"authors":["Lei Sun","Zhengwei Tao","Youdi Li","Hiroshi Arakawa"],"abstract":"The integration of Large Language Models (LLMs) and knowledge graphs (KGs) has achieved remarkable success in various natural language processing tasks. However, existing methodologies that integrate LLMs and KGs often navigate the task-solving process solely based on the LLM's analysis of the question, overlooking the rich cognitive potential inherent in the vast knowledge encapsulated in KGs. To address this, we introduce Observation-Driven Agent (ODA), a novel AI agent framework tailored for tasks involving KGs. ODA incorporates KG reasoning abilities via global observation, which enhances reasoning capabilities through a cyclical paradigm of observation, action, and reflection. Confronting the exponential explosion of knowledge during observation, we innovatively design a recursive observation mechanism. Subsequently, we integrate the observed knowledge into the action and reflection modules. Through extensive experiments, ODA demonstrates state-of-the-art performance on several datasets, notably achieving accuracy improvements of 12.87% and 8.9%.","url_abs":"https://arxiv.org/abs/2404.07677v2","url_pdf":"https://arxiv.org/pdf/2404.07677v2.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":"oda-observation-driven-agent-for-integrating","repo_url":"https://github.com/lanjiuqing64/kgdata","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}}],"tasks":[{"task_slug":"ai-agent","task_name":"AI Agent"},{"task_slug":"knowledge-graphs","task_name":"Knowledge Graphs"},{"task_slug":"navigate","task_name":"Navigate"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2404.07677","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2404.07677"}},"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/lanjiuqing64/kgdata","reach":{"status":"ok"}}],"summary":{"ran":6},"by_repo_kind":{"official":{"samples":6,"ran":6,"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":6,"samples":[{"code_sha256_prefix":"cc84112f1c1a4ba1","entry":"count_lines","repo":"lanjiuqing64/kgdata","repo_kind":"official","path":"generate_subgraph/Wikidata/simple_wikidata_db/preprocess_utils/reader_process.py","file_url":"https://github.com/lanjiuqing64/kgdata/blob/HEAD/generate_subgraph/Wikidata/simple_wikidata_db/preprocess_utils/reader_process.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":"cc84112f1c1a4ba1"}},{"code_sha256_prefix":"54c796e1cf61d9f9","entry":"get_batch_files","repo":"lanjiuqing64/kgdata","repo_kind":"official","path":"generate_subgraph/Wikidata/simple_wikidata_db/utils.py","file_url":"https://github.com/lanjiuqing64/kgdata/blob/HEAD/generate_subgraph/Wikidata/simple_wikidata_db/utils.py","link_basis":"harvester_set","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":"54c796e1cf61d9f9"}},{"code_sha256_prefix":"894fa959df2057ba","entry":"get_batch_files","repo":"lanjiuqing64/kgdata","repo_kind":"official","path":"generate_subgraph/Wikidata/simple_wikidata_db/db_deploy/utils.py","file_url":"https://github.com/lanjiuqing64/kgdata/blob/HEAD/generate_subgraph/Wikidata/simple_wikidata_db/db_deploy/utils.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":"894fa959df2057ba"}},{"code_sha256_prefix":"a9dade03512a22cc","entry":"merge_list_of_list","repo":"lanjiuqing64/kgdata","repo_kind":"official","path":"generate_subgraph/Wikidata/simple_wikidata_db/db_deploy/server.py","file_url":"https://github.com/lanjiuqing64/kgdata/blob/HEAD/generate_subgraph/Wikidata/simple_wikidata_db/db_deploy/server.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":"a9dade03512a22cc"}},{"code_sha256_prefix":"eb7dec0d83eca48d","entry":"process_json","repo":"lanjiuqing64/kgdata","repo_kind":"official","path":"generate_subgraph/Wikidata/simple_wikidata_db/preprocess_utils/worker_process.py","file_url":"https://github.com/lanjiuqing64/kgdata/blob/HEAD/generate_subgraph/Wikidata/simple_wikidata_db/preprocess_utils/worker_process.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":"eb7dec0d83eca48d"}},{"code_sha256_prefix":"2fe91b9021682c6a","entry":"process_mainsnak","repo":"lanjiuqing64/kgdata","repo_kind":"official","path":"generate_subgraph/Wikidata/simple_wikidata_db/preprocess_utils/worker_process.py","file_url":"https://github.com/lanjiuqing64/kgdata/blob/HEAD/generate_subgraph/Wikidata/simple_wikidata_db/preprocess_utils/worker_process.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":"2fe91b9021682c6a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}