🦁

AIエージェントのみでBPO 企業を作り上げる方法:Dify+Ollama+Llama3+Groqで顧客サポート窓口業務を完全自動化

2024/05/30に公開

How I Built A Simple ‘BPO’ Company, All AI Employees (All Local)

元記事:https://ai.plainenglish.io/how-i-built-a-simple-bpo-company-all-ai-employees-all-local-631e48fa908a

Disrupting the BPO Industry: My Journey Building a Fully Automated Company with AI Employees

https://miro.medium.com/v2/resize:fit:560/1*w5VugveGqz8YFltLQVaucA.png

By Author : Org. View of BPO of “Aniket Very General Electric Company”

プロジェクト概要

最終結果だけでなく、構築プロセスにも注力する

本日は、「Aniket Very General Electric Company」という架空の電力サービス会社のためにコールセンターを設立します。しかし、これは通常の人員を配置するコールセンターではありません。代わりに、AIワーカーを配置します。

コールセンターには次の部署があります。

  • カスタマーサービス
  • 請求および支払い
  • テクニカルサポート
  • サービス中断(停電など)の対応
  • 新規顧客の登録、既存顧客の停止

目標は、顧客がこれらのAIワーカーとチャット(場合によっては通話も)を通じて助けを求めたり、苦情を申し立てたり、サービスを依頼したりできるようにすることです。

顧客がチャットを開始すると、AI受付が挨拶をして適切な部署に案内します。たとえば、請求の問題がある場合、受付は顧客を請求および支払い部門のAIワーカーに送ります。

技術的な支援が必要な場合、顧客はテクニカルサポートチームのAIワーカーに接続されます。このワーカーは、問題の解決方法、エネルギーの節約方法、その他の電気サービスに関する技術的なアドバイスを提供します。

このシステムの素晴らしい点は、すべてが自動化されていることです。AIワーカーは24時間365日顧客の質問に答えることができ、人員を必要としません。将来的には、顧客がAIワーカーと話し、そのAIワーカーが自然な声で応答する音声機能も追加する予定です。

常に働けるAIワーカーがいることで、どれだけ効率的でコスト効果が高くなるかを考えてみてください。これが、今日のコールセンタープロジェクトで目指している力です。

この記事の目的

この記事では、カスタマーサービスやビジネスアウトソーシングなどの分野におけるAIの未来について論じています。顧客との対話、技術支援、運用管理などのタスクを実行できるAIエージェントの構築方法を紹介しています。このようなスキルは、今後非常に需要が高まるでしょう。

AIは日々進化しており、近い将来、多くの仕事で効率とコスト効果の面で優れたパフォーマンスを発揮するようになるでしょう。AIを採用する企業は競争優位性を獲得できます。この記事は、AI労働力の創出に関する基本的な知識を提供し、数多くの機会をもたらす画期的なスキルです。

AI従業員を持つ会社の構築?

今回構築しているシステムは、どの業界にも応用可能です。

BPOとコールセンターとは何か

ビジネスプロセスアウトソーシング(BPO)は、企業が他の企業に自社の業務の一部を委託することを指します。一般的な例としては、コールセンターがあります。ここでは、企業がBPO企業にカスタマーサービスの対応を任せることが一般的です。

チーム構成

当社はAIを活用してBPO(ビジネスプロセスアウトソーシング)を行っています。以下のチームがあります。

  • カスタマーサービス
  • テクニカルサポート
  • 請求および支払い
  • 停電管理
  • 顧客オンボーディング

カスタマーサービスチーム

電気サービスに関する質問や苦情に対応します。

テクニカルサポートチーム

技術的な問題に対応し、エネルギーの節約に関するアドバイスを提供します。

請求および支払いチーム

請求に関する質問、支払いオプション、アカウント管理を担当します。

停電管理チーム

停電の追跡、作業員の派遣、復旧状況の更新を行います。

顧客オンボーディングチーム

新規顧客の登録、サービスの接続、アカウントの設定を支援します。

必要な環境

Dify AI のための Docker の使用

Dify AI プラットフォーム(https://github.com/langgenius/dify)を実行するために Docker を使用します。これにより、AIアプリケーションのための信頼性が高く制御された環境を提供します。

AI のための Ollama と LLaMA-3 の使用

当社のAIは Ollama 言語モデルに基づき、最新の LLaMA-3 を使用します。LLaMA-3 は Meta AI によって開発された柔軟なモデルで、チャットボットAIを含むさまざまなタスクに適しています。

より高速な LLaMA-3 のための Groq の使用(オプション)

AIの応答を速くするために、Groq AIアクセラレータチップのAPIを使用することがあります。これにより、LLaMA-3 の動作速度を向上させることができます。

ナレッジベース / データベース

各部署のAIは、テキストファイルに詳細なナレッジベースを持ちます。これには、重要な情報、手順、およびその部署のベストプラクティスが含まれます。たとえば、請求のガイド、技術的な問題の解決方法、停電管理などです。AIはこの情報を使用して、顧客に正確で役立つ回答を提供します。

最新の言語モデルである LLaMA-3 と特定のナレッジベースを組み合わせ、Groqのようなオプションを活用してパフォーマンスを向上させることで、当社のBPO企業向けに強力で高速、かつスケーラブルなAIチームを構築することを目指します。

セットアップの手順

このGitHubリンクに記載されています。

https://github.com/aniket-work/how_I_built_simple_BPO_Company

how_I_built_small_recruitment_company_w_AI_Agents 環境のセットアップ

how_I_built_small_recruitment_company_w_AI_Agents 環境をセットアップするには、以下の手順に従います。

  1. Pythonの組み込みモジュール venv を使用して仮想環境を作成します:

    python -m venv how_I_built_small_recruitment_company_w_AI_Agents
    
    
  2. 仮想環境をアクティブにします:

    • Windowsの場合:

      how_I_built_small_recruitment_company_w_AI_Agents\\Scripts\\activate
      
      
    • UnixまたはMacOSの場合:

      source how_I_built_small_recruitment_company_w_AI_Agents/bin/activate
      
      
  3. 依存関係をインストールします:

    pip install -r requirements.txt
    
    
  4. https://ollama.com/download からOllamaをインストールします。

  5. OllamaにLLaMA3をインストールします:

    ollama run llama3:8b
    
    
  6. OllamaをDifyに設定します。
    6.1 「モデルプロバイダー」をクリックし、Ollamaを検索します。
    6.2 モデル名とURLとして http://host.docker.internal:11434 を追加します(これはDockerでDifyを実行し、ホストマシンでOllamaを実行している場合の設定です)。

セットアップ

Dockerの設定

WindowsでのDockerの設定

  1. Docker DesktopのWebサイト(https://www.docker.com/products/docker-desktop)にアクセスし、Windows用のインストーラーをダウンロードします。

  2. インストーラーを実行し、画面の指示に従ってインストールプロセスを完了します。

  3. インストールが完了したら、Docker Desktopアプリケーションを開き、起動させます。

  4. プロンプトが表示されたら、Dockerアカウントにサインインするか、新しいアカウントを作成します。

  5. インストールが完了したら、コマンドプロンプトまたはPowerShellを開き、以下のコマンドを入力してDockerが実行されていることを確認します:

    docker --version
    
    

MacでのDockerの設定

  1. Docker DesktopのWebサイト(https://www.docker.com/products/docker-desktop)にアクセスし、Mac用のインストーラーをダウンロードします。

  2. ダウンロードした .dmg ファイルをダブルクリックしてインストーラーをマウントします。

  3. DockerアイコンをApplicationsフォルダにドラッグしてDocker Desktopをインストールします。

  4. インストールが完了したら、ApplicationsフォルダからDocker Desktopアプリケーションを開きます。

  5. プロンプトが表示されたら、Dockerアカウントにサインインするか、新しいアカウントを作成します。

  6. インストールが完了したら、ターミナルを開き、以下のコマンドを入力してDockerが実行されていることを確認します:

    docker --version
    
    

Ollamaの設定

  1. Webブラウザで https://ollama.com/download にアクセスします。
  2. 「Windows」または「macOS」ボタンをクリックして、Windows用のOllamaインストーラーをダウンロードします。
  3. ダウンロードが完了したら、インストーラーの実行ファイルを実行します。
  4. 画面の指示に従ってインストールプロセスを完了します。
  5. インストール後、スタートメニューからOllamaを起動できるようになります。

Ollamaを起動した後、LLaMA-3やMistralなどの様々な大規模言語モデルをダウンロードして実行できます。

Dify AI の設定

  1. プロジェクトのルートディレクトリを作成し、そこに移動します:

    mkdir your_project_directory
    cd your_project_directory
    
    
  2. リポジトリをクローンします:

    git clone <https://github.com/langgenius/dify.git>
    
    
  3. dify/docker ディレクトリに移動します:

    cd dify/docker
    
    
  4. Dockerが実行されていることを確認し、以下のコマンドを実行します:

    docker compose up -d
    
    
  5. すべてのサービスが正常に起動していることを確認します。

  6. ブラウザで http://localhost/signin にアクセスし、アカウントを設定します(これはローカルでの設定です)。

Difyプラットホームにエージェントを追加

https://miro.medium.com/v2/resize:fit:560/1*VVyyuBwFFdAlzMMAC_pEEw.png

各チームの業務内容を設定

https://miro.medium.com/v2/resize:fit:560/1*BNIjBrR5mvnQQWmA2tgO0A.png

受付エージェント:

  • 訪問者を歓迎し、フロントデスクでの問い合わせに対応します。
  • 電話やメッセージを適切な部署に転送します。(まもなく音声機能を追加予定)
  • 会社に関する基本的な情報を提供します。

カスタマーサービスエージェント:

  • 顧客の様々なリクエスト、懸念、お問い合わせに対応します。
  • 製品、サービス、ポリシーに関する情報を提供します。
  • 顧客満足度を確保します。

請求および支払いエージェント:

  • 請求に関する問い合わせ、支払い処理、アカウント関連の問題を管理します。
  • 顧客が請求書、支払期日、支払い方法を理解できるよう支援します。

電気接続および切断エージェント:

  • 電気サービスの接続および切断に関するリクエストを処理します。
  • ユーティリティプロバイダーおよび顧客と連携し、スムーズな移行を確保します。

停電管理エージェント:

  • 停電、サービスの中断、および緊急事態に対応します。
  • 復旧作業を調整し、影響を受けた顧客に最新情報を伝えます。

テクニカルサポートエージェント:

  • 製品やサービスに関連する技術的な問題に対して顧客を支援します。
  • ソフトウェア、ハードウェア、ネットワークの問題をトラブルシューティングします。
  • 中断のないサービスを確保するための解決策を提供します。

これらのエージェントは、AI駆動のBPO会社の効率的な運営に貢献し、優れた顧客対応と効率化されたプロセスを実現します。

受付エージェント

https://miro.medium.com/v2/resize:fit:560/1*fNDjVHYSYTNFSEoA59HWbw.png

各部門を構築

https://miro.medium.com/v2/resize:fit:560/1*B0_oexw703TzVsbkGyy5hA.png

  1. 会社の各部署には、内部のナレッジベースやデータベースが存在します。
  2. 従業員は、顧客に適切に対応するためにポリシー、手順、プロセスなどの情報を参照する必要があるときに、このナレッジベースを時折参照します。
  3. 私たちはここでも同じことをしています。上記の図は、カスタマーサービス、テクニカルサポート、請求などの異なる部署をどのように設定したかを示しています。そして、各部署に共有ナレッジベースを作成しました。
  4. このナレッジベースは、その部署のAIエージェントが利用できる情報の大規模なコレクションのようなものです。ポリシー、トラブルシューティングガイド、請求ルールなど、必要なすべての重要な詳細が含まれています。
  5. 顧客がAIエージェントに質問すると、エージェントは部署のナレッジベースを迅速に参照して、正確な情報を見つけて回答できます。
  6. これは、人間の従業員向けの社員ハンドブックやトレーニングマニュアルのようなもので、AIエージェントが適切に仕事を行うために必要な情報を教えます。
  7. 人間の従業員が時間とともに忘れてしまうことがあるのに対し、AIエージェントは常にそのナレッジベース全体にアクセスできます。必要に応じて何度でも参照できます。
  8. 各部署にその部署に特化したナレッジベースを提供することで、AIエージェントが担当する特定の領域で必要なすべての情報と専門知識を持つことを確保しています。
  9. テクニカルサポート、停電対応、新サービス接続の処理など、何であれ、AIはナレッジベースを参照し、豊富なデータプールから情報を引き出して顧客に対応できます。

簡単に言えば、AIの従業員には、いつでも自由に参照できる詳細な部門ごとのナレッジベースを装備させており、役立ち、正確で知識豊富な応答を確実に提供できるようにしています。

AI従業員

https://miro.medium.com/v2/resize:fit:560/1*1n30JP1fVLq2AM9c3xVsGw.png

私たちのAI駆動の会社では、すべてのAIワーカーにLLaMA-3 70Bモデルを使用しています。LLaMA-3は会話型AIタスクに非常に優れています。しかし、異なる仕事には異なるモデルが必要であり、最高のパフォーマンスを得るためにはモデルの微調整が必要かもしれません。

AIワーカーを開始する前に、性格や役割を設定するためのプロンプトを提供しました。例えば、カスタマーサービスAIはフレンドリーで忍耐強く、テクニカルサポートAIは分析的で細部に注意を払います。

また、AIワーカーには業務用のナレッジベースを提供しました。これは彼らのトレーニングのようなもので、顧客を支援するために必要なすべての情報が含まれています。AIワーカーは必要に応じてこのナレッジを参照できます。

現在、AIワーカーは顧客と対話するための簡単なツールを使用していますが、実際には仕事をより効率的に行うためにさまざまなツールを使用することになるでしょう。例えば、顧客の苦情を処理したり、アポイントメントをスケジュールしたり、他のシステムや人と連携したりすることが考えられます。

BPO組織の開始

AIチームとそのナレッジが整いましたので、BPOサービスを開始できます。LLaMA-3のような言語モデルと詳細な情報を駆使して、AIエージェントは顧客の質問に対応する準備ができています。彼らは請求問題に対処し、技術的なサポートを提供し、停電に対応し、新しい顧客の開始を支援できます。それぞれのAIエージェントは自分の分野の専門家です。

今、実際の状況でテストして、完全に自動化されたBPOサービスでどのように機能するかを見てみましょう。

https://miro.medium.com/v2/resize:fit:560/1*GI9yEq8AkCXJTPqMG53TYw.png

https://miro.medium.com/v2/resize:fit:468/1*K4tPGFhkiNGFs7l1lPMpfQ.png

  1. 電気料金の請求方法について確認するために、支払条件 (Billing Cycle)について問い合わせをしてみましょう。

https://miro.medium.com/v2/resize:fit:560/1*X6OcLlleaLbbJXGogFyk8g.png


問い合わせ内容:

請求のサイクルについて説明してください。


回答内容:

Anklet Very General Electric Inc. の請求サイクルについて詳しく説明します。

請求サイクルの概要

Anklet Very General Electric Inc.は月次請求サイクルで運営されており、顧客は毎月新しい請求書を受け取ります。請求サイクルの構造は以下の通りです。

  • 請求書の発行: 請求書は毎月1日に発行されます。
  • 支払期日: 請求書の支払期日は同じ月の21日です。21日が週末または祝日の場合、支払期日は次の営業日に延長されます。

請求書の理解

Anklet Very General Electric Inc.の典型的な住宅用電気請求書は、以下の複数のコンポーネントで構成されています。

  • エネルギー料金: 請求期間中に消費された電力の費用で、適用される料金プランに基づいて計算されます。
  • 基本サービス料金: メーター読み取り、請求書発行、その他の管理費用をカバーするための固定月額料金です。
  • 配達料金: 顧客の施設までの電力の送電および配電に関連する料金です。
  • 税金: 州および地方の販売税やユーティリティ税などの適用される料金です。
  • その他の料金/クレジット: 遅延支払い料金、保証金、エネルギー効率プログラムのクレジットなど、追加の料金やクレジットが含まれます。

支払いオプション

Anklet Very General Electric Inc.は、顧客が選択できるさまざまな支払い方法を提供しています。

  • オンライン支払い: 会社のウェブサイトまたはモバイルアプリを使用して、クレジット/デビットカードまたは銀行口座で安全に請求書を支払います。
  • 自動銀行引き落とし: チェックまたは貯蓄口座からの定期的な自動支払いを設定します。
  • 郵送による支払い: 請求書に同封されている支払い用紙を使用して、郵送で支払います。
  • 対面支払い: 会社の支店または指定の支払いセンターで現金、チェック、またはマネーオーダーで支払います。

2. 停電が起きていることを連絡して対応を確認してみましょう。

https://miro.medium.com/v2/resize:fit:483/1*ZWNOUKErHP2PhlUE8X6xHA.png


問い合わせ内容:

顧客なんですが、現在停電してます。


回答内容:

停電に遭われているとのことで、お気の毒に思います。できるだけ早く電力を復旧するお手伝いをいたします。

まずはじめに、いくつかの基本情報を提供していただけますか?停電箇所を特定し、修理を優先するために、あなたの名前、アカウント番号、サービスアドレスが必要です。加えて、停電が始まったおおよその時間を教えていただけますか?

当社の高度な停電管理システムは、リアルタイムで停電の位置を追跡するのに役立ちます。これにより、修理クルーとリソースを効率的に配備できます。

これらの情報をいただければ、推定復旧時間をお知らせできます。予期せぬ事情で推定時間に変更がある場合は、随時更新いたしますのでご安心ください。

その間、停電中は注意を払うようにお伝えいたします。倒れた電線を避け、発電機を安全に使用し、緊急用品を手元に置いてください。

調査の結果、停電が倒れた電線、電気的危険、または重要なインフラに関係していることが判明した場合、緊急対応チームに報告をエスカレートし、迅速に対応いたします。

修理クルーとのオープンなコミュニケーションを維持し、停電復旧の進捗や推定復旧時間の変更についてタイムリーに更新いたします。

ご辛抱とご協力に感謝いたします。できるだけ早く、安全に電力を復旧することをお約束します。


3. 新しい都市に来て、新しい電気接続が必要だとしましょう。まだホテルに滞在していますが、すでに家を購入し、今は電気接続が必要です。この会社のカスタマーセンターが私たちを助けてくれるか見てみましょう。

https://miro.medium.com/v2/resize:fit:458/1*akFtxr6gYJ3pP6OSSg15NQ.png

問い合わせ内容:


こんにちは、私の名前はアニケットです。この街に引っ越してきたばかりで、あなたが素晴らしい電力提供者であることを知りました。新しい接続について助けが必要です。私の住所は「ABCストリート、オーサムシティ、グレートネーション」です。


回答内容:

ワークフロープロセス

こんにちは、アニケットさん!Aniket Very General Electric Inc.へようこそ。新しい住所、ABCストリート、オーサムシティ、グレートネーションでの新しい電気サービス接続の設定をお手伝いできることを嬉しく思います。

まず、いくつかの情報を収集する必要があります。お名前、連絡先電話番号、メールアドレスを確認してください。加えて、ABCストリートの物件の所有権または賃貸契約の証明を確認させていただきます。

接続に関しては、電気サービスの開始希望日を教えてください。具体的な日付または都合の良い日程を教えてください。

新しいサービス接続には接続料金と保証金が必要な場合がありますのでご注意ください。推定費用と支払いオプションについての詳細情報を提供いたします。

当社は通常、新しい接続リクエストの処理に3~5営業日かかります。必要な情報をすべて受け取った後、接続完了のより具体的なタイムラインを提供いたします。

すべてが順調に進めば、1週間程度で電気サービスを開始できると期待しています。その間に質問や懸念があれば、どうぞご遠慮なくお知らせください。

新しい接続リクエストを進めたい場合は、プロセスの残りの部分をガイドいたしますので、お知らせください。


4. 少し怒っていて、苦情を申請するのにメールアドレスを聞きたい状況

https://miro.medium.com/v2/resize:fit:452/1*1gn2f5KEyPh0IDQKHti2oA.png


問い合わせ内容:

家の電気に関する問題で苦情を申し立てたいのですが、どのメールアドレスに送ればいいですか?


回答内容:

ワークフロープロセス

ご心配いただきありがとうございます!電気サービスに問題がある場合は、support@aniketverygeneralelectric.com にメールを送ることをお勧めします。このメールアドレスは、お客様の苦情やフィードバックを受け取る専用のアドレスであり、チームが迅速に対応いたします。

経験している問題について、エラーメッセージや症状、その他関連する情報をできるだけ詳しく提供してください。これにより、問題をよりよく理解し、正確な解決策を提供するのに役立ちます。

さらに、スマートメーターが設置されている場合は、メールにメーターナンバーまたはアカウント番号を含めてください。これにより、アカウントを迅速に特定し、より効率的にサポートすることができます。

フィードバックをお寄せいただきありがとうございます。できるだけ早く問題を解決できるよう努めます。質問や懸念がある場合は、お気軽にご連絡ください。できる限りサポートいたします。


上記ののテキストが音声に変換されると(現在取り組んでいる状況)、完全に機能する(少なくとも現実世界のBPOのように、時間や曜日に関係なく)BPOサービスが実現します。

デバッグ工程

結果が出たのは、運ではありません。むしろ、数多くの失敗とそこから得た教訓、そして行った修正の積み重ねです。この旅をスムーズにしたのは、デバッグというすべての開発者が共感できるプロセスです。

  1. これは、初期テストからのトレースで、特定のクエリに対する私たちの分類器LLMの応答を示しています。私たちのシステムが顧客のクエリの深い意味を正確に理解することは非常に重要です。この部分が失敗すると、顧客は悪い体験をするかもしれません。例えば、長い間電話をしてさまざまな番号を押した後に、コールセンターが閉まっていると言われたり、問題を詳細に説明した後に、カスタマーケアエージェントから「申し訳ありませんが、これは対応できません。他の担当者におつなぎします」と言われたりする状況を想像してください。

https://miro.medium.com/v2/resize:fit:463/1*pfW1GL9h78XvsZoHdTh3WQ.png

  1. 以下のトレースは、特定の顧客クエリに対して、LLMがベクトルデータセットから文脈をどれだけうまく捉え、その関連性を示しています。正確な詳細を捉えられないと、AIエージェントからの応答が不適切になる可能性があります。そのため、この部分のデバッグは非常に重要です。

https://miro.medium.com/v2/resize:fit:230/1*_vGVSMq3w2_HI8Yq_clYwA.png

  1. これは、その部署における最終的なAIエージェントの応答です。完全な本稼働を開始する前に、会社全体を最初から最後までテストすることは、常に良いことです。

https://miro.medium.com/v2/resize:fit:222/1*yustbxHAInI1D_knkur7gQ.png

将来の作業

  • スケーラビリティ: BPO業務が拡大するにつれて、増加する顧客数に対応するためにAIインフラストラクチャをスケールアップする必要があります。クラウドベースのサービスや分散コンピューティングへの移行は、必要なスケーラビリティを提供できます。
  • クラウド統合: AIエージェントやナレッジベースをクラウドに移行することで、スケーラビリティだけでなく、アクセス性、冗長性、保守性も向上します。
  • LLMの微調整: LLaMA-3モデルは非常に有能ですが、ドメイン固有のデータで言語モデルを微調整(ファインチューニング)することで、各部署でのAIエージェントの性能と精度をさらに向上させることができます。
  • スケーラブルなベクトルデータベース: スケーラブルなベクトルデータベースを導入することで、ナレッジ検索の速度と関連性が大幅に向上し、AIエージェントがより迅速で適切な応答を提供できるようになります。
  • マルチモーダルインタラクション: 音声インターフェースを有効にし、コンピュータビジョンの機能を取り入れることで、顧客がAIエージェントと対話する際に、より自然でシームレスな体験を提供できます。
  • 継続学習: 継続学習のメカニズムを導入することで、AIエージェントがリアルな顧客とのやり取りに基づいて知識を動的に拡張し、時間とともに改善できるようにします。

このシンプルなプロジェクトは、AIを活用して本物の会社を構築する方法の一例を示しています。高度な言語モデル、カスタムナレッジベース、スマートなシステム設計を使用して、顧客タスクを自動的に処理できるAIチームを作成しました。

この手法でさまざまな業界やビジネス分野に適用できるポテンシャルがあります。AIシステムが会社全体を運営し、プロセスを改善し、大規模で高品質なサービスを提供する時代が割と現実的なレベルまで来ている、と言えます。

このAI駆動の未来に向かって進む中で、いくつかの重要な質問を考える必要があります。これらのAI中心の会社において、人間の役割はどのようになるでしょうか?これらの技術が倫理的かつ責任を持って開発されるようにするにはどうすればよいでしょうか?

Discussion