Clearing the FoG: Training KG Agents to Retrieve the Evidence Behind Their Answers
Organizations: Beijing University of Posts and Telecommunications, Beijing, China · University of Amsterdam, Amsterdam, Netherlands · University of Helsinki, Helsinki, Finland · Nanyang Technological University, Singapore
Abstract
Large language models (LLMs) can answer many factual questions correctly, but a correct answer is not necessarily a supported one. For an LLM agent, a knowledge graph (KG) plays two roles: as a source of answers, it supplies facts that the model lacks; as a source of evidence, it supplies the supporting triples that make an answer traceable and auditable. However, existing KG agents treat the KG only as a source of answers: their training data carries answers but not evidence, and their training rewards check the answer but not the retrieved evidence, so agents often answer correctly without retrieving the supporting triples. We propose FoG, a framework that trains KG agents to retrieve the evidence behind their answers. FoG consists of evidence-grounded synthesis, a KG interaction agent, and an evidence-coverage process reward (ECPR): the synthesis recursively hides explicit entities behind verifiable sub-questions, so that every question carries its supporting triples by construction; the agent records the triples returned by the KG; and ECPR credits each supporting triple to the turn that first retrieves it. Experiments on three KGQA benchmarks demonstrate that FoG enables 3B--4B open-source agents to outperform substantially larger baselines in answer accuracy and evidence coverage, with zero-shot cross-KG transfer.
Figures & tables
| Category | Methods | Backbone | WikiWebQuestions | QALD10-en | GTSQA | |||
| F1 | Hit@1 | F1 | Hit@1 | F1 | Hit@1 | |||
| LLM Reasoning | IO Prompt Team (2025b) | Qwen2.5-7B-Instruct | 28.24 | 44.43 | 11.05 | 12.30 | 9.62 | 10.23 |
| IO Prompt OpenAI (2023) | GPT-4o-mini | 40.31 | 68.10 | 15.34 | 18.78 | 15.37 | 16.46 | |
| CoT Wei et al. (2022) | GPT-4o-mini | 41.66 | 58.42 | 22.68 | 26.81 | 18.87 | 20.12 | |
| Self-Consistency Wang et al. (2023) | GPT-4o-mini | 46.34 | 65.20 | 24.27 | 28.57 | 19.07 | 20.21 | |
| IO Prompt DeepSeek-AI (2024) | DeepSeek-V3 | 42.36 | 59.89 | 18.97 | 21.77 | 24.77 | 26.20 | |
| Variants | WikiWebQuestions | GTSQA | ||||||
| F1 | Hit@1 | RetQ | Cov | F1 | Hit@1 | RetQ | Cov | |
| SFT only | 59.95 | 70.10 | 79.42 | 70.63 | 44.73 | 46.19 | 58.47 | 49.85 |
| SFT + RL w/o | 63.87 | 74.35 | 83.17 | 72.91 | 46.02 | 46.97 | 61.02 | 51.43 |
| SFT + RL w/o | 65.02 | 76.48 | 85.62 | 77.25 | 47.96 | 48.17 | 63.18 | 57.21 |
| SFT + RL, LLM-as-judge | 64.95 | 75.41 | 84.03 | 74.12 | 46.88 | 48.25 | 62.24 | 53.36 |
| SFT + RL (full FoG) | 66.41 | 76.93 | 86.35 | 78.34 | 48.66 | 50.52 | 65.34 | 58.64 |
| Data Source | WikiWebQuestions | QALD10-en | GTSQA | |||
| F1 | Hit@1 | F1 | Hit@1 | F1 | Hit@1 | |
| Train-Only | 53.58 | 64.51 | 36.94 | 37.86 | 41.33 | 41.52 |
| Synth-Only | 57.84 | 68.17 | 39.52 | 40.36 | 43.21 | 44.58 |
| Mixed | 59.95 | 70.10 | 41.38 | 42.31 | 44.73 | 46.19 |
| Methods | WikiWebQuestions | GTSQA | ||||
| Hit@1 | RetQ | Cov | Hit@1 | RetQ | Cov | |
| PoG | 71.89 | 75.66 | 69.85 | 39.33 | 35.70 | 25.38 |
| ToG | 72.75 | 73.53 | 68.79 | 42.36 | 50.99 | 37.34 |
| KG-R1 | 73.01 | 82.28 | 74.50 | 47.73 | 61.41 | 54.05 |
| FoG-4B | 76.93 | 86.35 | 78.34 | 50.52 | 65.34 | 58.64 |
| Credit assignment | Hit@1 | Cov | Dup. rate |
| Trajectory-level | 46.69 | 54.29 | 11.8% |
| Every-match | 47.01 | 52.21 | 29.4% |
| First-match (ours) | 50.52 | 58.64 | 8.6% |
| Method | Train KG | Backbone | WebQSP | WebQSP |
| train | Hit@1 | |||
| ToG Sun et al. (2024) | None | GPT-4 | No | 82.6 |
| RoG Luo et al. (2024) | Freebase | LLaMA2-Chat-7B | Yes | 85.7 |
| KG-R1 Lin et al. (2025) | Freebase | Qwen2.5-3B-Instruct | Yes | 82.8 |
| FoG SFT-only | Wikidata | Qwen3-4B-Instruct | No | 71.6 |
| FoG full | Wikidata | Qwen3-4B-Instruct | No | 77.2 |
Appendix figures & tables11 assets
Supplementary material from the paper’s appendix.
Appendix
| Hops | Isomorphism Type | Questions | Proportion |
| 1 hop | (1) | 500 | 7.59% |
| (1)(1) | 600 | 9.11% | |
| (1)(1)(1) | 1,211 | 18.38% | |
| 2 hop | (2) | 550 | 8.35% |
| (2)(1) | 853 | 12.95% | |
| ((1)(1)) | 700 | 10.63% |
| Stage | Input | Retained | Rejected | Teacher calls |
| Seed-question generation | 20,000 | 14,400 | 28.0% | 20,000 |
| Backward expansion | 14,400 | 8,784 | 39.0% | 86,400 |
| Complex-question composition | 8,784 | 6,588 | 25.0% | 8,784 |
| End-to-end | 20,000 | 6,588 | 67.1% | 115,184 |
| Category | Function | Description | Input Parameters | Output |
| Relation search | find_outgoing_relations | Given an entity, return all outgoing relations. | entity_name | List of outgoing relations |
| find_incoming_relations | Given an entity, return all incoming relations. | entity_name | List of incoming relations | |
| Neighborhood expansion | get_tail_entities | Follow the relation forward from head to tail. | head_entity_name ; relation_name | Set of tail entities |
| get_head_entities | Follow the relation backward from tail to head. | tail_entity_name ; relation_name | Set of head entities | |
| Constraint filtering | get_entity_by_constraint | Filter the provided entity_set and return the entities satisfying the specified constraint. | entity_set ; relation ; operator ; value | Entity subset |
| Set combination | intersect | Return the intersection of the given list of entity sets. | entity_set_list | Intersection set |
| Question | Candidate path | Reason for rejection |
| Who was the prime minister of Pakistan in 1999? | Links candidates only to the office “Prime Minister of Pakistan”. | Does not establish that the candidate held the office in 1999. |
| What town did Justin Bieber grow up in? | Justin Bieber Canada; Waterloo Canada. | Sharing the same country does not establish childhood residence. |
| Parameter | Value |
| Fine-tuning method | LoRA |
| LoRA rank / alpha / dropout | 16 / 32 / 0.05 |
| Max sequence length | 3,000 |
| Training epochs | 3 |
| Per-device batch size | 16 |
| Gradient accumulation steps | 8 |
| Parameter | Value |
| Actor learning rate | |
| KL loss coefficient | 0.03 ( type) |
| GRPO rollout | 4 |
| Max interaction turns per question | 10 |
| Train batch size | 32 |
| PPO mini-batch size | 16 |
| Reward term | Coefficient | Value |
| Answer F1 ( ) | 0.7 | |
| Answer retrieval ( ) | 0.3 | |
| Step validity ( ) | 0.5 | |
| Evidence coverage ( ) | 1.0 |
| Question: Which airline flies the Embraer 195 and is based at the airport named after Margaret Kenyatta ’s father? |
| <think> I need to find an airline that satisfies two conditions: 1) flies the Embraer 195, and 2) is based at the airport named after Margaret Kenyatta’s father. Let me start by exploring the relationships around the first given entity to understand what information is stored about Margaret Kenyatta in the knowledge graph.</think> |
| <kg-query> find_outgoing_relations(entity_name=Margaret Kenyatta) </kg-query> |
| <information> Outgoing relations for entity Margaret Kenyatta: country of citizenship, father, given name, instance of, mother, occupation, sex or gender……… </information> |
| <think> The outgoing triple shows that Margaret Kenyatta has a "father" in the knowledge graph. Let me find out who her father is by querying the triple that directly connects Margaret Kenyatta to her father. </think> |
| <kg-query> get_tail_entities(head_entity_name=Margaret Kenyatta, relation_name=father) </kg-query> |
| <information> Entities outgoing via relation father from entity Margaret Kenyatta: Jomo Kenyatta………. </information> |
| Question: Which airline flies the Embraer 195 and is based at the airport named after Margaret Kenyatta ’s father? |
| Reasoning chains: Turn 1: ‘Margaret Kenyatta -> father -> Jomo Kenyatta‘; ‘Margaret Kenyatta -> country of citizenship -> Kenya‘; ‘Embraer 195 -> subclass of -> E-Jet‘; ‘Margaret Kenyatta -> occupation -> diplomat‘; ‘Margaret Kenyatta -> occupation -> politician‘; Turn 2: ‘Kenya -> named after -> Mount Kenya‘; ‘diplomat -> named after -> Diplomatstaden‘; ‘E-Jet -> manufacturer -> Embraer‘; ‘politician -> category combines topics -> Category:Dutch politicians‘; ‘Jomo Kenyatta -> country of citizenship -> Kenya‘; Turn 3: ‘Mount Kenya -> country -> Kenya‘; ‘Embraer -> headquarters location -> São José dos Campos‘; ‘Category:Dutch politicians -> is a list of -> human‘; ‘Kenya -> named after -> Mount Kenya‘; ‘Diplomatstaden -> located in the administrative territorial entity -> Stockholm Municipality‘; Turn 4: ‘Kenya -> named after -> Mount Kenya‘; ‘Mount Kenya -> country -> Kenya‘; ‘Kenya -> capital -> Nairobi‘; ‘São José dos Campos -> country -> Brazil‘; ‘São José dos Campos -> located in the administrative territorial entity -> São Paulo‘; |
| <answer> First, the airline that flies the Embraer 195 is Kenya Airways. Second, the airport named after Margaret Kenyatta’s father is Jomo Kenyatta International Airport. The answer is {Kenya Airways} </answer> |
| Question: Which airline flies the Embraer 195 and is based at the airport named after Margaret Kenyatta ’s father? |
| Reasoning chains: Turn 1: Embraer 195 -> item operated -> Kenya Airways; |
| <answer> Kenya Airways operates the Embraer 195 and is based at Jomo Kenyatta International Airport, which is named after Margaret Kenyatta’s father. The answer is {Kenya Airways}</answer> |
Knowledge Graph Question Answering
Knowledge Graph Question Answering answers natural-language questions by finding and reasoning over entities and relations in structured knowledge graphs.
See all 169 papers