

目次
ChatGPTやClaudeなどのアプリケーションを利用すれば、社内向けの問い合わせチャットボットは実現できますが、社外向けで顧客からの連絡に応答するチャットボットを実現するためには、どうしても別途個別の開発が必要になります。
今回はそういった弊社の開発事例を踏まえて、「Webサイト上からの顧客からの問い合わせが多く、担当者の業務時間を大きく割いてしまっている」という課題を解決するべく、爆速・安価に運用できるAIチャットボット(RAG)の開発について記載します。
構成としてはなるべくシンプルに実現したいのと、爆速・安価に作って運用をしたいという観点から、Cloudflare を中心に考えました。
という技術構成で実現するAIチャットボットです。
チャットのUI部分から、RAG、ベクトルDB、会話履歴、LLMまでをCloudflare環境にまとめることで、インフラ構築・運用の手間をかなり小さくできました。
また爆速となる開発期間についてですが、類似案件では、要件が明確であれば実装・精度評価を含めて約1ヶ月程度でリリース可能です。
また、本記事では顧客対応を実際にプロジェクトとして実施した経験から、継続的に改善をしてAIチャットボットの運用を成功させるための知見についても記載します。
今回はサンプルとして、弊社サービスである ENSOU AI について、顧客からの問い合わせに回答ができるシステムを作りました。

実際に質問を入力すると、Webサイト上の情報から、適切な回答をユーザーに提示できます。

また、顧客対応をすることを前提にしているため、公開情報だけでは回答できないものなどについては、問い合わせページへのURLを提示し、人間の対応へ適切にエスカレーションするようにしています。
実際の顧客からの問い合わせ内容には、
そういったケースでは、AIエージェントにWebサイトの情報を参照させるだけではなく、権限や公開範囲を限定しながら、社内システムの情報を参照して回答させるツールやAPI、もしくはMCPなどを通して、回答させるという拡張性についても考えられます。
「一般的な知識で回答できるもの」についての取り扱いも重要です。
例えば「今日の天気は?」などの質問に回答できるようにすると、本来の問い合わせコストを削減するという趣旨からズレてしまいます。さらには、無料で使えるAIチャットボットとして悪用されてしまい意図しないコストを負担してしまうリスクもあります。
今回のような特定の用途に絞った顧客対応のチャットボットにおいては、あまり汎用的な回答については回答を抑制し、ナレッジとしてRAGに登録されているものに限って回答させるようにする、などの調整が必要になります。
今回のAIチャットボットでは、フロントエンドからAPI、RAG、データベース、LLMまで、可能な限りCloudflare上で完結させています。

ユーザーがWebサイト上のチャット画面から質問を入力すると、 Cloudflare Workers 上で動作する Hono API がリクエストを受け取ります。
そこから、 Workers AI を利用して質問文の Embedding を取得し、Cloudflare Vectorize に保存しているWebサイトやマニュアルなどのナレッジから、質問に関連するチャンクを検索します。
検索した情報をコンテキストとして Workers AI の LLM へ渡し、回答を生成してユーザーへ返します。
会話履歴についてはCloudflare D1へ保存しています。これにより、ユーザーとの過去のやり取りを踏まえた回答だけではなく、後述する回答精度の評価や継続的な改善にも利用できます。
問い合わせ数が月間数千件程度のシステムであれば、まずはこのようなシンプル・安価な構成から開始し、必要になったタイミングで外部システムとのAPI連携やMCP、より高度なデータベースなどを追加していく形が扱いやすいと考えています。
今回 Cloudflare で構成した理由は、ランニングコストを抑えるためです。
Cloudflare WorkersのPaidプランは月額$5から利用でき、一定量までのWorkersのリクエストやCPU利用量だけでなく、D1やVectorizeにも大きな無料利用枠が用意されています。
今回のような問い合わせ対応AIチャットボットでは、Webアプリケーション自体へのアクセス数や、D1へ保存する会話データ、Vectorizeへ登録するナレッジ量はそれほど大きくなく、顧客からの問い合わせ量にもよりますが、すべてこの$5の範囲内で利用できることから Cloudflare での構築を決めました。
事前に想定した Cloudflare にかかる月額費用のイメージです。
項目 | 月額 | 用途 |
|---|---|---|
Workers Paidプラン | $5.00 | Webアプリケーション・APIの実行 |
D1 | 追加費用 $0 | 会話履歴の保存 |
Vectorize | 追加費用 $0 | RAGのベクトル検索 |
Workers AI | $0〜従量課金 | LLMとEmbedding |
今回の問い合わせはせいぜい月間千件程度を想定しているため、Workers AIの従量課金分を含めても、月額$5、Workers AIの無料枠を多少超過したとしても、月額1000円以内程度の費用感で運用ができます。
RAGで構築されたAIチャットボットは、ユーザーからの質問に対して、適切な情報源を検索した上で回答を返す、という仕組みで動きます。
しかし、実際にはどの情報源を参照しても適切に回答できない、また回答するべきではないケースが存在します。
その場合は「回答できませんでした。」という返答をしても、ユーザーにストレスを与えてしまうことになります。特に顧客からの問い合わせに対応するチャットボットであれば尚更です。
そこで今回のAIチャットボットでは、以下のエスカレーションの仕組みを作りました。

AIチャットボットを導入して、人間の問い合わせ対応を削減するためには、AIチャットボットと問い合わせ先情報を参照する動線設計が重要となります。

例えば電話による問い合わせをAIチャットボットで事前に捌くのであれば、
一方で、ユーザーに適切なエスカレーション先の案内をせず、問い合わせ情報をひた隠しにするような設計にしてしまうと、重要な顧客からの信頼を損なう可能性もありえます。
その辺りは、問い合わせ対応をするAIチャットボットの立て付けをどうするかを考案し、問い合わせ対応の削減と、ユーザーへのストレスの適切なバランスを考えねばなりません。
AIチャットボットは作って公開して終わり、という訳にはいきません。
今回は会話履歴を Cloudflare D1 に保存しています。D1のデータを参照しながら、週次や月次など、定期的に会話のセッションごとに回答ができたかできなかったかを評価します。
実際にユーザーから投げかけられる質問とその回答結果を、以下のように分類してそれぞれ改善していきます。
上記のうち、すぐに改善が可能なものは「公開情報で答えられる質問」のうち「公開情報がナレッジになく回答できない」質問です。
これらのうちで適切な回答を案内できなかったものについて、「ナレッジにないために回答できなかったもの」は、Webサイトや各種マニュアルなどの情報源を更新して対応します。
「ナレッジにあるが回答できなかった」ものについては、どうすれば適切に回答ができたかをエラー分析した上で、

問い合わせチャットボットで重要なのは、ナレッジを更新する仕組みの部分です。
マニュアル類をテキストファイルやWord、PDFなどの形式で作っている場合は、それらのファイルを画面からアップロードして更新する仕組みにします。
一方で、前述のような改善サイクルにおけるWebサイトの情報更新については多少の工夫が必要となります。
今回の実装では、取得した本文からハッシュを生成し、ナレッジをRevisionとして管理しています。ハッシュから情報更新がない時は何もせず、内容に更新があった時のみ最新のナレッジのバージョンとしてデータを新規追加もしくは更新します。
簡潔に始める上ではここをバッチ処理として実装をすることまでは不要ですが、実際に行う場合は Cron Triggers を用いてバッチ処理を実装します。
本システムと似たような用途の弊社での実プロジェクトでは、
開発期間(着手からリリースまで)は事前に何を作るかがクリアになっている場合は1ヶ月で、そこを詰めるところから始める場合は2ヶ月で、といった具合で実際の構築とテストに要する期間は1ヶ月程度を見込めば良いという実績です。
また運用コストについては、前述の章でも記載しましたが、月間1,000件程度の問い合わせであれば、問い合わせごとに2〜3回の会話ラリーが続いたとしても、 Workers AI の無料プランの範囲の中で運用が可能でした。
ここでの成果とは、前述のAIチャットボットの回答精度などの精度評価の観点ではなく、ビジネス的に導入することで何円得したか、という軸で整理していきます。
基本的にAIチャットボットを導入したときに計測するべき評価指標は「問い合わせが導入前と比較してどれだけ削減できたか」です。
これは単に問い合わせ件数で比較しても良いですし、問い合わせ対応に要している時間がどれだけ削減できたか、もしくはそこに人件費の時間単価をかけて削減できた人件費で計算できれば、より費用対効果が明確になります。
月500件の問い合わせを削減し、1件あたり平均10分、人件費を3,000円/時とすると、
500件 × 10分 ÷ 60分 × 3,000円 = 約25万円/月の業務コスト削減
といった形で効果を算出できます。
導入後の1〜2ヶ月はナレッジが十分でなかったりテスト導入的な側面もあるため、3ヶ月後以降など一定期間を空けた後に、実際に上記の数字を会話履歴等をエクスポートして計測し、当初の目標としていた問い合わせ件数の削減や人件費の削減に達成できているかを評価することが望ましいです。
成果が目標に達成していないときは、単純にAIチャットボットの精度を高めるような取り組みだけでは不十分です。
AIチャットボットを経由せずに直接問い合わせが来ているケースもありうるため、AIチャットボットの利用数を高めるために、
今回は、Cloudflare Workers・Workers AI・Vectorize・D1を利用して、顧客からの問い合わせに対応するAIチャットボットの構成と、実際に運用していく上で重要になるポイントについて紹介しました。
そして今回のような比較的コンパクトなAI業務システムであれば、Cloudflareだけでもかなりのところまで作れ、運用・改善についても問題ないことは、弊社の過去の実績から確認できています。
一方で、実際に問い合わせ削減につなげるためには、単にAIの回答精度を高めるだけではなく、人へのエスカレーション、問い合わせ動線、会話ログを利用した継続的な改善など、業務全体を含めた設計が重要になります。
Digeonでは、こうしたAIチャットボット単体の開発だけでなく、RAGやAIエージェント、既存システムとの連携まで含め、AIを実際の業務へ組み込むためのシステム開発を行っています。
顧客からの問い合わせ対応をAIで効率化したい、既存の業務にAIを組み込みたいといったご相談があれば、お気軽にお問い合わせください。
digeon.co
著者


山﨑 祐太
山﨑 祐太
山﨑 祐太
山﨑 祐太
山﨑 祐太
山﨑 祐太