
Let's Apply GraphRAG to Blue Archive MomoTalk
Project: Strawberry Milk
I wanted to create a MomoTalk that answers questions about game stories by connecting characters and events. Previously, I searched the story of 'Wuthering Waves' using AutoRAG, but felt it fell short in sufficiently gathering relationships scattered across multiple scenes. This time, I changed the scope to the main story and MomoTalk of Blue Archive and applied GraphRAG.
Can it answer questions asking for basic settings like Shiroko's role, questions that require bundling events experienced by multiple characters, and questions where fandom memes and in-game facts easily get mixed up?
- What is Shiroko's role in Abydos?
- Why is Yuuka's weight 100kg?
The experiment revealed issues where the same character splits into multiple nodes, and evidence does not increase even when repeating follow-up questions. Afterwards, I added a comparison by sending the same question directly to Gemini without search. While there was a difference in finding events present in the original text, such as Yuuka's weight record tampering, I couldn't say that GraphRAG is always better based on these three cases alone. Below, let's look at what was built, where it hit roadblocks, along with answers and logs.
GraphRAG
Microsoft GraphRAG extracts elements such as characters, organizations, and events, along with their relationships, from documents, and organizes them into knowledge graphs and community summaries for retrieval. The key point is that it provides original text chunks and graph information as the context for answers.

In game stories, the same character appears in multiple episodes and their relationships change. Therefore, in addition to finding paragraphs with similar meanings, I expected that using the connection between characters and events would make it easier to gather related scenes. However, vector search results also vary depending on chunk configuration, query decomposition, and re-ranking. In this post, I did not perform a performance comparison with standard vector RAG.
Data and Indexing Costs
The stories were organized as follows:
To quickly check the operation, about 10% of the total was randomly selected and indexed. There is no guarantee that random selection evenly includes all characters or events. Therefore, when answers are insufficient, one must distinguish not only search failure, but also the possibility that the necessary original text was not in the index in the first place.
gemma-4-31b-it was used for indexing, and gemini-embedding-2 for embedding. Below are the indexing token amounts recorded at the time, which are separate from the per-question response tokens measured later.
| Process | Input | Output | Total |
|---|---|---|---|
| Entity & Relation Extraction | 2.3M | 0.3M | 2.6M |
| Entity Description Summary | 1.3M | 0.1M | 1.4M |
| Community Report Generation | 5.0M | 0.7M | 5.7M |
| Total | 8.6M | 1.1M | 9.7M |
Problem Occurred! The Same Character Becomes Different Nodes
What stood out the most was that Sensei and Teacher were created as separate nodes. Even though there was no notation like Teacher in the original data checked at the time, it appeared in the graph.
What was suspected as the cause was the name extraction and translation process per chunk. If output names are not enforced while processing chunks independently, the same character is sometimes left with the original notation and sometimes output with a translated name. However, since all extraction prompts and responses of this run were not back-tracked, the exact path where individual nodes were created was not verified.

Prana was also split into Plana and Prana. To a human, they look like the same character, but in the graph, relationships are dispersed across different names. If a search starts on only one node, information connected to the other side may be missed.
It is difficult to assume that this problem can be solved simply by choosing a stronger model. This is because understanding that they are the same person and outputting the same identifier in all chunks are separate issues. Setting up a character-specific reference ID and alias dictionary, and connecting extracted nodes to that ID, was set as the next improvement target.
Let's DRIFT
DRIFT (Dynamic Reasoning and Inference with Flexible Traversal)
The node splitting problem is an issue, but the method of finding the desired answer within the knowledge graph itself is also important. This is where DRIFT search comes in. DRIFT is a method of finding things by flexibly traversing graph nodes. Rather than ending with a single search, it creates self-referential, cascading questions to find the correct answer.
When it first receives a question, it takes a quick look at the entire graph and creates follow-up questions to find more necessary information. Based on those questions, it goes deep into the graph and explores the network of relationships again. It repeats this process until enough context is gathered to answer, and then combines the gathered information to create the final answer.
Now let's check what kind of results come out when asking questions by applying this method.
Q. Shiroko's Role
The roles played by Sunaokami Shiroko, a character from Nexon Games' game 《Blue Archive》, in Abydos High School (or more accurately, the Abydos Foreclosure Task Force) are largely as follows.
1. Official Role: Action Leader and Field Tactics Specialist
- Frontline Assaulter (Pointman): She plays the role of an action leader (assault leader) who leads from the front lines when actual combat occurs in the task force.
- Field Command: While Nonomi provides (some) funding, Ayane handles rear staff/information analysis, and Hoshino holds the center as the president, Shiroko is the core of the active-duty force who runs around in the field and executes operations.
2. Practical/In-story Role: Radical Solution Proposer and Catalyst
- Providing wacky and radical ideas (aka 'bank robbery'): To pay off Abydos' massive debts, she acts as a catalyst who unhesitatingly proposes and executes absurd, radical, yet intuitive solutions such as **"Let's rob a bank."** (She is actually the instigator of the convenience store/bank raid incident in Main Story Chapter 1.)
- Momentum Provider: She has overwhelming drive, acting first when other club members are hesitating.
3. Routine Role: Leading Reconnaissance and Physical Training
- School Perimeter Reconnaissance and Search: Utilizing her hobby of riding a road bike (bicycle), she patrols the vast desert areas and ruins of Abydos to detect abnormal signs.
- Members' Fitness Lead: Based on her strong physical stamina, she also concurrently serves as a physical education manager-like role, forcibly (?) making task force members jog or undergo physical training.
To summarize: Shiroko plays the role of the Abydos Task Force's 'field action leader', the core of combat, and an 'action-oriented ace' who causes and solves incidents.
Overview
Shiroko is a student at Abydos High School and a core member of the **Abydos Foreclosure Task Force (Countermeasures Committee)**, a core organization that resolves school crises and protects regional security.
Detailed Roles and Activities
Core Member of the Task Force and Student Council
- Affiliation and Status: Shiroko is a student of Abydos High School and a **Core Member of the Task Force** operating within Abydos.
- Organizational Activities: Alongside Ayane, Serika, and others, she belongs to the task force and Abydos student council members, participating in handling school pending issues.
Field Response and Security/Combat Force
- Crisis Response: When gunshots and security threats occur within the Abydos region, she immediately dispatches to the scene and responds along with fellow members such as Nonomi, Serika, Ayane, and Sensei.
- Comrade Protection and Operation Execution: When senior member Hoshino acts independently or falls into danger, she performs operations to protect and rescue Hoshino, playing a practical combat force role to protect Abydos' safety.
Conclusion
Shiroko plays a field response role in Abydos as a **'core instigating force of the task force'**, taking the lead in resolving regional safety and Abydos High School's problems together with her fellow students.
Reference Story Files
- N/A (No separate story filename listed within the provided knowledge graph path)
Q. Yuuka 100kg
To answer from the conclusion, Yuuka's weight being 100kg is not an **official setting, but a representative 'meme' that started in the fan community**.
Yuuka's actual height is 156cm, and her official weight has not been disclosed, but her profile portrays her as a high school student with a normal build. The reasons why this meme came to be and became popular are as follows.
1. Attractive Lower Body (Thigh) Design
In Yuuka's official illustration, especially the **EX skill cutscene (motion of sitting down while tapping a calculator)**, her thighs are portrayed as quite thick and healthy (chubby). Seeing this, fans started teasing Yuuka's lower body shape and making jokes like "mass is concentrated in her lower body."
2. Community's Forced Meme and the Catchiness of the Number '100kg'
In user communities such as the DC Inside Blue Archive Gallery, playful posts analyzing Yuuka's EX skill cutscene or behavior appeared, such as "A shockwave occurs when Yuuka sits down" and "Yuuka is actually heavier than a drone or shield." At this time, the symbolic number **'100kg'**, which rolls off the tongue nicely, got attached and solidified as a meme.
3. Reaction When Teased (Tsundere Character Trait)
Yuuka is a very meticulous and rational character as the head accountant of Millennium Science School, but she is in the position of the 'true wife' heroine who has feelings for the Sensei (user). Because Yuuka's reaction when fans tease her with "100kg" (getting flustered or angry like a tsundere) is very cute, users ended up teasing her like a punching bag even more without malice (?).
4. Official (Developer) Acceptance of the Meme
As this meme spread widely, the Blue Archive development team (Nexon Games) and official media also actively embraced it.
- Official 4-Koma Manga and Event Stories: Depictions of Yuuka reacting extremely sensitively to talk of scales, diets, and weight frequently appear.
- Official Broadcasts: Gag elements subtly reminiscent of 'Yuuka and 100kg' were sometimes included in Schale store merchandise and broadcasts.
Summary
Yuuka's true weight is likely a normal female high schooler's weight in the late 40s to early 50s kg. **'100kg Yuuka' is one of Blue Archive's most popular memes**, created by combining thick thigh design + fans' affectionate teasing + official acceptance of the meme.
The reason Yuuka's weight was recorded as 100kg is not due to actual physical measurements, but because of a data manipulation prank carried out by **Maki**, a member of the hacking club Veritas.
Causes and Progress of Yuuka's Weight Record
Initial Background and Motive (Trigger for the Prank)
- Maki, feeling dissatisfied with the interference of Yuuka, the accountant of Seminar, decided to target Yuuka and play a prank on her.
Development Process (Hacking Student Record Server and Data Manipulation)
- Maki led a hacking operation to access the student record server where physical examination results were stored.
- Through data manipulation within the server, Yuuka's physical examination weight record was illegally modified.
Final Result
- Yuuka's weight figure is manipulated data intentionally altered to **100kg** by Maki.
Reference Story Files
- story_masked_rider.txt
- story_episode_17.txt
- story_episode_26.txt
- story_lazy_police_patrol.txt
- story_your_wish.txt
- story_running_skies_never_tire.txt
- story_run_ayane.txt
Practical Application
Explored the cause of Yuuka's weight being recorded as 100kg. Confirmed that Veritas's 'Maki', feeling dissatisfied with Yuuka's interference, hacked and manipulated the student record and physical examination server data.
Hayase Yuuka
Hayase Yuuka
What Remains from This Experiment
In the Yuuka question, we confirmed a case where search helped include specific events from the original text in the answer. On the other hand, for the Shiroko question, there was no quotation from the original text, and it generated a definitive answer even after repeated judgments of insufficient evidence. The reliability of the answer was not secured just by the fact that a graph was created. Still, I hope this attempt serves as a starting point toward improvement.
Explore the Graph Directly
This project is not an official project of NEXON Co., Ltd.