
嘗試將 GraphRAG 應用於《蔚藍檔案》的 MomoTalk 中
Project: Strawberry Milk
我一直想製作一個 MomoTalk,當向遊戲劇情提問時,它能夠將人物與事件串聯起來進行回答。之前我曾用 AutoRAG 搜尋過《鳴潮》的劇情,但在充分收集散落在多個場景中的關係方面,還是覺得有些不足。這次我將範圍改為《蔚藍檔案》的主線劇情和 MomoTalk,並應用了 GraphRAG。
像是詢問白子職責這類的基本設定問題、需要將多個角色經歷過的事件串聯起來的問題,以及容易將粉絲迷因與作品中事實混淆的問題,它也能夠回答嗎?
- 白子在阿比多斯擔任什麼職責?
- 為什麼優香的體重是 100 公斤?
在實驗中,暴露出同一個人物被分開成多個節點、且重複追問後依據也沒有增加的問題。之後我們還加入了不透過搜尋、直接將相同問題發送給 Gemini 的對照組。雖然在尋找如優香體重紀錄竄改這類原文中的事件時存在差異,但僅憑這三個案例,還不能斷言 GraphRAG 總是更好。以下我們將透過回答與記錄,一起來看看我們製作了什麼、以及在哪裡遇到了瓶頸。
GraphRAG
Microsoft GraphRAG 會從文件中萃取人物、組織、事件等要素與關係,並將其建構成知識圖譜與社群摘要以用於搜尋。其核心在於將原文區塊與圖譜資訊作為回答的上下文提供。

遊戲劇情中,同一個人物會出現在多個章節中,關係也會隨之改變。因此我們期待,除了尋找語意相似的段落外,若能利用人物與事件之間的連結,將更容易收集到相關的場景。不過,向量搜尋的結果也會隨著區塊組成、查詢分解和重新排序而有所不同。本文並未進行與一般向量 RAG 的效能比較。
資料與索引成本
我們將劇情整理如下:
為了快速確認運作情況,我們隨機挑選了約整體 10% 的資料進行索引。隨機挑選並不能保證均勻涵蓋所有人物或事件。因此,當回答不足時,必須區分出不僅是搜尋失敗,還包括所需的原文從一開始就不在索引中的可能性。
索引使用了 gemma-4-31b-it,嵌入則使用了 gemini-embedding-2。以下是當時記錄的索引 Token 數量,這與後面測量的每個問題的回應 Token 是分開的。
| 過程 | 輸入 | 輸出 | 總計 |
|---|---|---|---|
| 要素與關係萃取 | 2.3M | 0.3M | 2.6M |
| 要素說明摘要 | 1.3M | 0.1M | 1.4M |
| 社群報告生成 | 5.0M | 0.7M | 5.7M |
| 總計 | 8.6M | 1.1M | 9.7M |
發生問題!同一個人變成了不同的節點
最顯眼的是 Sensei 和 Teacher 被建立成了獨立的節點。在當時確認的原始資料中,明明沒有 Teacher 這個寫法,卻還是出現在了圖譜中。
我們懷疑原因是每個區塊的名稱萃取與翻譯過程。如果在獨立處理區塊的同時沒有強制規定輸出的名稱,同一個人有時會被保留為原文寫法,有時則會以翻譯後的名稱輸出。不過,由於我們並未回溯這次執行的所有萃取提示詞與回應,因此並未確認個別節點被產生的確切路徑。

普拉娜也被分成了 Plana 和 Prana。對人類來說這是同一個角色,但在圖譜中,關係卻被分散到了不同的名字上。如果搜尋只從其中一側的節點開始,就會錯過連接到另一側的資訊。
很難假設光是選擇更強的模型就能解決這個問題。因為理解這是同一個人,與在所有區塊中輸出相同的識別符號是兩碼事。我們將針對每個人物設定基準 ID 與別名字典,並將萃取出的節點連接到該 ID 的過程,作為下一個改進的目標。
來試試 DRIFT 吧
DRIFT (Dynamic Reasoning and Inference with Flexible Traversal)
節點分裂的問題固然是個問題,但在知識圖譜中尋找期望答案的方法本身也很重要。這時候所利用的就是 DRIFT 搜尋。DRIFT 是一種在圖譜節點中靈活穿梭並進行尋找的方式。它不是搜尋一次就結束,而是會自主創造出環環相扣的問題來尋找正確答案。
當收到初始問題時,它會大略瀏覽整個圖譜,為了尋找更多需要的資訊而建立後續問題。然後以該問題為基礎深入圖譜內部,重新探索關係網。這個過程會反覆進行,直到收集到足夠回答的上下文為止,最後將收集到的資訊整合在一起,產出最終答案。
那麼,讓我們來確認一下套用這種方式並提出問題時,會得出什麼樣的結果。
Q. 白子的職責
Nexon Games 開發的遊戲《蔚藍檔案》中的角色砂狼白子在阿比多斯高中(正確來說是阿比多斯對策委員會)中所擔任的職責大致如下:
1. 官方職責:行動隊長與現場戰術負責人
- 最前線突擊手(Pointman):當對策委員會發生實戰戰鬥時,擔任在最前線帶頭的行動隊長(突擊隊長)職責。
- 現場指揮:如果說野乃美負責(部分)資金支援、綾音負責後方參謀/情報分析、星野作為部長擔任核心,那麼白子就是在現場親力親為執行作戰的實動部隊核心力量。
2. 實質/劇情職責:激進解決方案的提出者與引爆劑
- 提供異想天開且激進的想法(別名「搶銀行」):為了償還阿比多斯龐大的債務,毫不猶豫地提出並付諸實行像是「去搶銀行吧」這種荒唐、激進卻直觀的解決方案,扮演著引爆劑的角色。(實際上她也是主章第 1 章便利商店/銀行襲擊事件的主謀。)
- 行動力擔當:當其他部員還在煩惱時,擁有第一個採取行動的壓倒性執行力。
3. 日常職責:主導偵察與體能訓練
- 學校周邊偵察與搜索:利用其興趣公路車(自行車),在廣闊的阿比多斯沙漠地帶與廢墟中進行偵察並偵測異常徵兆。
- 部員們的運動擔當:憑藉強韌的體力,兼任像是體育股長一樣的職責,強迫(?)對策委員會的部員們進行慢跑或體能訓練。
總結來說: 白子是阿比多斯對策委員會的「現場行動隊長」兼戰鬥核心,以及不斷引發並解決事件的「行動派王牌」。
概述
白子(Shiroko)是阿比多斯高中的學生,也是解決學校危機並守護地區安全的的核心組織——**阿比多斯對策委員會(Abydos Foreclosure Task Force / Countermeasures Committee)**的核心部員。
詳細職責與活動
對策委員會與學生會核心部員
- 隸屬與地位:白子是阿比多斯高中的學生,也是在阿比多斯內部活動的**對策委員會核心部員(Core Member)**。
- 組織活動:與綾音(Ayane)、芹香(Serika)等同伴一同作為對策委員會及阿比多斯學生會成員隸屬於其中,參與處理學校的當前事務。
現場應對與治安/戰鬥戰力
- 危機應對:當阿比多斯地區內發生槍聲與治安威脅時,與野乃美(Nonomi)、芹香、綾音等同伴部員以及老師(Sensei)一同立即出動至現場進行應對。
- 守護同伴與執行作戰:當前輩星野(Hoshino)單獨行動或陷入危險時,展開作戰以保護並救出星野,執行守護阿比多斯安全實戰戰力的職責。
結論
白子在阿比多斯作為**「對策委員會的核心主導人力」**,負責站在第一線進行現場應對,與同伴學生們一起解決地區安全及阿比多斯高中的問題。
Reference Story Files
- N/A (提供之知識圖譜路徑內未記載個別劇情檔案名稱)
Q. 優香 100kg
先說結論,優香的體重是 100 公斤這件事,**並非官方設定,而是衍生自粉絲社群的代表性「迷因(Meme)」**。
實際上下優香的身高是 156 公分,官方並沒有公佈她的體重,但從個人檔案來看是一位身材標準的高中生。這個迷因會產生並流行起來的原因如下:
1. 具魅力的下半身(大腿)設計
在優香的官方插圖中,特別是 **EX 技能過場動畫(敲著計算機坐下的動作)**中,大腿被描繪得相當粗壯且健康(肉肉的)。看到這一幕的粉絲們開始開玩笑調侃優香的下半身身材,說「質量都集中在下半身了」。
2. 社群的強行迷因與「100kg」這個數字的黏著度
在韓國 DC Inside 的《蔚藍檔案》看板等玩家社群中,大家分析著優香的 EX 技能過場動畫與行為,並上傳了像是「優香坐下時會產生衝擊波」、「其實比起無人機或護盾,優香還要更重」這類開玩笑的文章。此時,因為「100kg」這個象徵性的數字唸起來非常順口、容易讓人記住,因而作為迷因而固定下來。
3. 被調侃時的反應(傲嬌角色特質)
優香作為千年科學學園的首席會計,是一個非常嚴謹且理性的角色,但同時也處於對老師(玩家)有好感的「正宮」女主角位置。 當粉絲們調侃她「100kg」時,優香慌張或生氣的反應(傲嬌)非常可愛,因此玩家們更是毫無惡意地(?)把她當成沙包一樣調侃。
4. 官方(開發商)對迷因的接受
隨著這個迷因廣為流傳,《蔚藍檔案》的開發團隊(Nexon Games)與官方媒體也積極地接受了它。
- 官方四格漫畫與活動劇情:經常出現優香對體重計、減肥或體重相關話題表現出極度敏感反應的描寫。
- 官方直播:在夏萊商店的商品或直播中,也會隱約加入讓人聯想到「優香與 100kg」的搞笑元素。
總結
優香真正的體重很有可能是 **40 公斤後半~50 公斤前半**的正常女高中生體重。**「100kg 優香」是粗壯的大腿設計 + 粉絲們充滿愛意的調侃 + 官方對迷因的接受,三者結合而成的《蔚藍檔案》最高人氣迷因**之一。
優香的體重被記錄為 100 公斤的原因,並不是實際的身體尺寸,而是駭客社團貝里塔斯(Veritas)的部員**麻貴(Maki)**所進行的資料竄改惡作劇。
優香體重紀錄的原因與經過
初期背景與動機(惡作劇的契機)
- 對擔任研討會會計的優香之干涉感到不滿的麻貴,決定以優香為目標進行惡作劇。
展開過程(駭入學生紀錄伺服器與資料竄改)
- 麻貴主導了存取儲存有體檢結果的學生紀錄伺服器的駭客作戰。
- 透過伺服器內的資料竄改(Data Manipulation),非法修改了優香體檢的體重紀錄。
最終結果
- 優香的體重數值是麻貴故意竄改成 **100kg** 的被修改資料。
Reference Story Files
- story_복면_라이더.txt
- story_제17화.txt
- story_제26화.txt
- story_게으른_경찰의_순찰.txt
- story_당신의_소원은.txt
- story_도망치는_하늘은_지칠_줄_모르고.txt
- story_달려라_아야네.txt
實戰應用
已探索優香體重被記錄為 100kg 的原因。確認是由於貝里塔스의「麻貴」對優香的干涉感到不滿,因而駭入並竄改了學生紀錄與體檢伺服器的資料。
早瀨優香
早瀨優香
這次實驗留下的收穫
在優香的問題中,我們確認了搜尋有助於將原文的具體事件納入回答中的案例。相對地,白子的問題則沒有引用原文,在反覆判斷依據不足之後,仍然生成了斷然的回答。僅僅建立圖譜這件事,並無法確保回答的可靠性。即便如此,希望這次的嘗試能成為邁向改進的出發點。
直接查看圖譜
本專案並非 NEXON Co., Ltd. 的官方專案。