LESSON

カスタマーサポートエージェントの設計

「テキスト分類ができるようになった。これをカスタマーサポートのAIエージェントに仕上げよう。」

田中VPoEが問い合わせフローを見せる。

「問い合わせを自動分類し、回答を生成し、必要に応じてエスカレーションする。月5,000件の問い合わせを効率化するエージェントを設計しよう。」

エージェントの要件

機能入力出力
問い合わせ分類テキストカテゴリ + 確信度
回答生成カテゴリ + テキスト回答ドラフト
エスカレーション判断確信度 + 感情エスカレーション先
FAQ検索テキスト関連FAQ
対話要約対話履歴要約テキスト

ツール設計

tools = {
    "classify_inquiry": {
        "description": "問い合わせのカテゴリを分類する",
        "input": "text: str",
        "output": "dict (category, confidence, sub_category)",
    },
    "search_faq": {
        "description": "関連するFAQを検索する",
        "input": "query: str, category: str",
        "output": "list[dict] (question, answer, relevance_score)",
    },
    "generate_response": {
        "description": "問い合わせへの回答ドラフトを生成する",
        "input": "inquiry: str, category: str, faq_context: str",
        "output": "str (回答テキスト)",
    },
    "analyze_sentiment": {
        "description": "感情分析を行う",
        "input": "text: str",
        "output": "dict (sentiment, urgency, frustration_level)",
    },
    "check_escalation": {
        "description": "エスカレーションの必要性を判断する",
        "input": "confidence: float, sentiment: dict, category: str",
        "output": "dict (needs_escalation, reason, escalation_to)",
    },
}

State設計

from typing import TypedDict, Optional, Annotated
from operator import add

class SupportAgentState(TypedDict):
    messages: Annotated[list, add]
    inquiry_text: str
    category: Optional[str]
    confidence: Optional[float]
    sentiment: Optional[dict]
    faq_results: Optional[list]
    draft_response: Optional[str]
    needs_escalation: bool
    escalation_reason: Optional[str]
    error: Optional[str]

ワークフロー設計

問い合わせ受信

[分類] → カテゴリ + 確信度

[感情分析] → 感情 + 緊急度

[エスカレーション判断]

┌─── Yes ──┐     ┌─── No ──┐
│エスカレ   │     │FAQ検索  │
│ーション   │     │    ↓    │
│通知      │     │回答生成  │
└──────────┘     └─────────┘
    ↓                  ↓
         [応答]

まとめ

項目ポイント
5つのツール分類/FAQ検索/回答生成/感情分析/エスカレーション
State分類結果、感情、エスカレーション判断を管理
ワークフロー分類→感情→エスカレーション判断→回答生成の流れ
エスカレーション確信度・感情・カテゴリの3要素で判断

チェックリスト

  • サポートエージェントの要件を定義できる
  • 必要なツールを設計できる
  • State構造とワークフローを設計できる
  • エスカレーション条件を定義できる

次のステップへ

エージェントの設計ができた。次は分類ツールの実装を学ぼう。

推定読了時間: 30分