2026.4.30

AIチャットボット開発の裏側:LangGraphの選定理由とRAG精度を上げる「YAML化」の工夫

ブログ「AIチャットボット開発の裏側:LangGraphの選定理由とRAG精度を上げる「YAML化」の工夫」サムネイル

こんにちは!プロダクトサービス事業部、入社2年目の夏みかんです。

私たちは、自社サービス「Qube」の新機能として「AIチャットボット」をリリースしました!

今回は、その仕組みと開発にあたって工夫したポイントを、エンジニアの視点からお話しします!

AIチャットボットとは?

QubeのAIチャットボットは、サービスの操作方法などの質問にAIが答えてくれる機能です。

  • 「イベントの参加方法は?」
  • 「請求書はどこから見られる?」
  • 「ユーザ情報の編集はどうやるの?」

といった質問にAIが24時間即座に答えてくれます。

20260421154310

画像1:AIチャットボット画面(回答生成中)

20260421154624

画像2:AIチャットボット画面(回答生成完了)

AIチャットボットの仕組み

このAIチャットボットでは、「AIエージェント」と「RAG(検索拡張生成)」という事前に用意した情報を検索して、回答を生成する技術を組み合わせています。

エージェントの制御フレームワークとしては、後述する「LangGraph」を採用しました。

具体的な処理の流れは以下の通りです。

20260417140402

画像3:AIチャットボットの処理の流れ

① 質問の意図解釈

ユーザから質問が投げかけられると、まずエージェントが会話履歴を直近の質問を中心に読み取り、「質問を通して何を知りたいのか」を分析します。ここでは「Qubeの一般的な使い方」、「イベント」、「会議室」「不具合報告」といったカテゴリーに分類します。

② 検索用クエリの動的生成

カテゴリーの分類が完了すると、エージェントが、質問を検索に適したクエリに変換します。

③ ベクトル検索と回答生成

生成されたクエリを用いて意味の近い情報を探す検索(ベクトル検索)を行い、見つかった情報を基に回答文を作成します。
この仕組みにより、言い回しが異なる質問にも対応できます。

開発にあたってのこだわり

開発プロセスにおいて、特に試行錯誤したポイントを2点ご紹介します。

① 高精度な検索を実現する「YAML化」プロセス

RAGの精度を左右するのは、元データの構造化です。

PDFやTXTファイルをただ読み込むだけでは、AIが正しく内容を理解できません。

そこで、私たちは、以下のYAML化フローを導入しました。

 

構造の定義

Geminiを使用し、PDFから「見出し」「本文」「表データ」「脚注」を識別したYAML形式の中間データを作成します。

段落や表がページをまたぐ場合は、意味的に1ブロックとしてつなぎ、ブロックごとにRAG用の文脈ラベルをつけます。

また、AIは表の構造をそのまま読み取るのが得意ではないため、表データについては通常の行列表現やヘッダーを保持するだけでなく、行の内容をAIが理解しやすいように自然な文章に変換したデータを持たせています。

これらによって、検索時のヒット率を向上させました。

Markdownへの変換

中間データをMarkdown形式に変換し、見出しや本文の構造を整理します。

これにより、AIが内容を正しく理解しやすくなります。

ベクトル化

文章の意味を表す数値データ(ベクトル)に変換し、意味で検索に利用できるようにします。

 

② フレームワークに「LangGraph」を選定した理由

エージェントの実装にあたり、私たちはCrewAI、 AutoGen、LangGraphの3つのフレームワークを比較検討しました。

結果、以下の2点の理由から私たちはLangGraph を採択しました。

 

厳密な制御

LangGraphは、ノードとエッジによる「グラフ構造」で処理フローを定義できます。

そのため、AIの動きを開発者が100%制御・可視化できます。

制御の柔軟性

処理がノードごとに独立しているため、一部のロジックを変更する際も、該当するノードを修正して繋ぎ直すだけで済みます。

 

以上の2点から今後の機能追加を見据えた拡張性があると判断しました。

まとめ

QubeのAIチャットボットは、既存のチャットボットシステムを使わずに、私たちエンジニアが一から自分たちの手で開発しました。

その開発にあたって、YAML化やLangGraphを活用し、ユーザの質問に対して、AIチャットボットが正しい形で答えられるようにこだわりました。

今後はMCPへの対応を進め、単に答えるだけでなく「イベントの予約を代行する」といった、ユーザに代わってアクションを起こすエージェントへと進化させていきたいと考えています。

AIチャットボットのアップデートに、ぜひご期待ください!

この記事の著者

20260428091235

ニックネーム:夏みかん

【経歴】
入社2年目
自社サービスであるBtoBコミュニケーションプラットフォーム「Qube」というSaaS開発に携わっています。
【一言】
下田海中水族館、動物が近くておすすめです!