前回の記事「MCP × LangGraphで AWS + Azure 横断FAQエージェントを作る」の続編として、今回は DeepLearning.AI のショートコース Agentic Knowledge Graph Construction を受講して得られた学びを整理してみたいと思います。
コース概要
このコースは Neo4j と DeepLearning.AI が共同で提供しているもので、エージェントを活用して 構造化データや非構造化データからナレッジグラフを構築する方法が学べます。
エージェントの全体像
このコースで扱うエージェントは、
会話エージェントが、構造化・非構造化の2系統ワークフローを束ね、最終的にグラフ構築ツールとGraphRAGで活用する
という構成になっています。
会話エージェント(親)
ユーザーの目的を聞き出し、どのワークフローに進めるかを案内する“司令塔”。自身は構築を行わず、全体の進行管理に専念。
構造化データ・ワークフロー
①意図確認 → ②ファイル選定 → ③スキーマ提案(提案と批評のループ) → 出力:グラフ構築計画。
目的に合うデータモデル(ノード・関係・プロパティ)を定義。
非構造化データ・ワークフロー
①意図確認 → ②ファイル選定 → ③知識抽出計画(抽出するエンティティと事実/関係の種類を定義)。
テキストから何を取り出すかを先に決める。
構築ツール(実行フェーズ)
2つの計画を受け取り、(a) 構造化データ→ドメイングラフ化、(b) テキスト→チャンク&埋め込み、(c) エンティティ/事実抽出、(d) 構造化側との接続 を実施。
GraphRAG(利用フェーズ)
構築済みグラフを用い、検索・回答(QA)に応答。
連携の型
エージェント間は「委任」または「ツールとして呼び出し」で接続し、必要に応じてメモリで重要決定を保持して再利用。
ナレッジグラフについて
コースで説明された、ナレッジグラフの基本的なポイントは以下の通りです。
1. リレーショナルDBとの違い
・RDBではテーブル結合で関係を表現するため複雑化しやすい。
・ナレッジグラフでは「人物」「製品」などをノードに、「購入した」などをエッジにすることで、直感的に関係を表現できる。
2. 推薦や分析への活用
・Cypherクエリ言語を使うと、自然言語に近い形で推薦や探索ができる。
(Aさんが買った商品を購入した他の人が、さらに購入している別の商品は何か?──こうしたパターンから、Aさんへの推薦につなげられる質問をクエリで自然に表現できる。)
3. 構造化データと非構造化データの統合
・製品データ(構造化)とレビュー(非構造化)を同じグラフで扱える。
・製品不良の原因分析などが容易になる。
4. グラフの3つの側面
・ドメイングラフ:構造化データ(製品・部品・サプライヤー)。
・レキシカルグラフ:レビューやテキストなどの非構造化データ。
・サブジェクトグラフ:テキストから抽出したエンティティで両者をつなぐ。
学びのポイント
1. エージェントのワークフロー設計
・Intent Agent → 要件ヒアリング担当
・File Suggestion Agent → データ調達担当
・Schema Proposal Agent → 設計担当
・Schema Critic Agent → レビュー担当
→ タスク分解の粒度は、求めるアウトプット次第で調整が必要と感じた。
2. 批判と改善のループ(Critic Pattern)
・提案だけでなく「批判」役を組み込み、自己チェック/クロスチェックを繰り返すことで精度が上がる。
・批判ループを設計段階に組み込むのは重要だと学んだ。
3. ナレッジグラフの利点
・構造化・非構造化データを関連付けられる。
・レコメンドや分析を簡単に実現できる強力な基盤になる。
まとめ
今回は、Agentic Knowledge Graph Construction を通じて、マルチエージェント設計とナレッジグラフの活用について学びました。
前回はMCPを使ったシンプルなRAGシステムを構築しましたが、今回はより複雑な仕組みを構築するための考え方に触れることができました。
そして10月からは、東京大学 松尾・岩澤研究室(松尾研)の「大規模言語モデル講座 基礎編」を受講できることになったので、今後はその学びも記事にしていきたいと思います。