韓国のSaaS/Eコマース企業が最も迅速にAIを導入しているのは、顧客対応の自動化です。人がすべて処理すると月数千万ウォンかかりますが、Claudeで分類と返信下書きを自動化すれば、コストを90%以上削減できます。この記事では、実際に運用可能なコードと費用を公開します。
構成
- 受信したチケットをClaude Haiku 4.5で分類(最も低コスト)
- 類似する過去の事例を検索(ベクトルDB)
- Claude Sonnet 4.6で返信の下書きを生成
- 担当者が確認して送信(または優先度が低いものは自動送信)
第1段階:分類 — Claude Haiku 4.5
Haiku 4.5は分類のような単純な作業に非常に安価です。Kunavoの料金では入力$0.40/1M、出力$2.00/1M。韓国語200文字のチケット+JSON出力50トークンで、1件あたり約$0.00004(韓国ウォン0.06)です。
import json
from openai import OpenAI
client = OpenAI(
api_key="sk-kn-...",
base_url="https://api.kunavo.com/v1",
)
# Claude는 json_schema로 지정한 response_format만 지킵니다 (json_object는 보장 안 됨).
TICKET = {
"type": "object",
"properties": {
"category": {"type": "string", "enum": ["결제", "배송", "반품", "기술", "기타"]},
"priority": {"type": "string", "enum": ["긴급", "보통", "낮음"]},
"summary": {"type": "string"},
},
"required": ["category", "priority", "summary"],
"additionalProperties": False,
}
def classify_ticket(text: str) -> dict:
"""들어온 고객 문의를 카테고리 + 우선순위로 분류."""
resp = client.chat.completions.create(
model="claude-haiku-4-5", # 가장 저렴, 분류엔 충분
messages=[
{
"role": "system",
"content": (
"당신은 한국어 고객 문의 분류기입니다. "
"다음 JSON 형식으로만 응답하세요: "
'{"category": "결제|배송|반품|기술|기타", '
'"priority": "긴급|보통|낮음", '
'"summary": "한 문장 요약"}'
),
},
{"role": "user", "content": text},
],
response_format={"type": "json_schema",
"json_schema": {"name": "ticket", "schema": TICKET}},
max_tokens=200,
)
return json.loads(resp.choices[0].message.content)第2段階:類似事例の検索
過去に適切に処理された返信事例を埋め込み化してpgvectorに保存し、新しいチケットの埋め込みとのコサイン類似度で上位5件を検索します。Kunavoは埋め込みを提供していないため、この段階だけOpenAIを直接呼び出し、直接課金されます——単価はOpenAIの料金ページで確認してください。生成段階だけKunavoを使います。
第3段階:返信下書きの生成 — Claude Sonnet 4.6+prompt caching
def generate_reply(ticket: dict, context: list[str]) -> str:
"""과거 유사 사례 5건을 참조해 응답 초안 생성."""
references = "\n\n".join(context)
resp = client.chat.completions.create(
model="claude-sonnet-4-6", # 응답 품질은 Sonnet
messages=[
{
"role": "system",
"content": [
{
"type": "text",
"text": COMPANY_GUIDELINES, # 회사 톤 & 정책
"cache_control": {"type": "ephemeral"},
},
],
},
{
"role": "user",
"content": (
f"## 고객 문의\n{ticket['original_text']}\n\n"
f"## 분류\n{ticket['category']} / {ticket['priority']}\n\n"
f"## 참고할 과거 응답 (5건)\n{references}\n\n"
"## 작성 지침\n"
"1. 정중한 격식체 (~습니다)\n"
"2. 3문단 이내\n"
"3. 다음 단계가 무엇인지 명확히 안내\n"
),
},
],
max_tokens=600,
)
return resp.choices[0].message.content会社のガイドライン(3,000トークン)は毎回同じなので、cache_controlでキャッシュします。2回目の呼び出し以降、その部分には入力料金の10%だけが課金されます。
1件あたりの費用見積もり(キャッシュ適用後):
- 分類(Haiku 4.5):$0.00006
- 検索用埋め込み:$0.0000025
- 返信生成(Sonnet 4.6、キャッシュヒット):入力約1Kトークン+出力500トークン=$0.0042
- 合計:約$0.004(韓国ウォン約6)
月間費用の例
- 1日100件:月$13(約1.8万ウォン)
- 1日1,000件:月$130(約18万ウォン)
- 1日10,000件:月$1,300(約180万ウォン)
比較:担当者1人=月約250万ウォン、1日100件が処理上限。1日1,000件を処理するには10人=月2,500万ウォン。AI自動化により100倍以上のコスト差。
韓国向けの考慮事項
- 敬語の一貫性:システムプロンプトに「丁寧なフォーマル体(~습니다)」と繰り返し明記。面接官の評価のように、バリエーションを100件サンプリングして実施
- 韓国語のトークン消費:韓国語は英語と比べて1.5〜2倍のトークンを消費。上記の費用見積もりは韓国語基準
- 個人情報保護法の遵守:顧客のPII(氏名、電話番号、住所)はシステムプロンプトに絶対に入れないでください。マスキングしてからLLMに渡します
- 支払い方法:国際カード、Apple Pay、Google Payを利用でき、決済画面がウォン表示の場合はKakao Pay、Naver Pay、PAYCO、Samsung Pay、韓国国内カードでKunavo残高をチャージできます(Tossには対応していません)。税務請求書もインボイスも発行しません――証憑として利用できるのは、カード・簡易決済の明細に記載された決済履歴と/app/billingのチャージ・利用記録だけです。
導入チェックリスト
- 最初の100件は担当者が100%確認 → 正確度90%以上を確認してから段階的に自動化
- 緊急カテゴリは常に人が確認(エラーのコストが高いため)
- 毎週、誤分類されたケースをガイドラインに追加(反復学習)
- 月間使用量は/app/usageで追跡し、1日の上限は/app/keysで設定(誤操作による急増を防止)
始めるには無料登録後、$10からチャージして従量制で利用してください。モデル別単価と支払い方法はClaude APIの料金・支払いまとめと料金ページで確認し、OpenRouterとの比較はOpenRouterの代替比較をご覧ください。全ドキュメント:/docs/quickstart、プロンプトキャッシュガイド:prompt caching deep dive。