トルコのECサイト向けClaudeベースの商品推薦アシスタント:顧客の「夏で晴れているなら、ビーチに行くので、1000 TLを超えない範囲で何を買えばいい?」のような自然言語の問い合わせを理解し、カタログから実在の商品を推薦します。完全なコード、月額コスト計算、VAT、TL為替変動への対策まで解説します。
なぜClaude Haiku 4.5なのか?
商品推薦のような「理解+フォーマット」タスクでは、Claude Haiku 4.5はSonnet 4.6の約85%の品質を、3分の1のコストで提供します。Kunavoの料金では次のとおりです。
- Haiku 4.5:入力$0.40/1M、出力$2.00/1M
- Sonnet 4.6:入力$1.20/1M、出力$6.00/1M
200商品のカタログ+顧客の問い合わせ=約3K入力トークン、JSON応答=約200出力トークン。1回あたりのコスト:約$0.0016(約₺0.06)。
動作するコード
import json
from openai import OpenAI
client = OpenAI(
api_key="sk-kn-...",
base_url="https://api.kunavo.com/v1",
)
# Claude, json_schema tipindeki response_format'a uyar; json_object garanti edilmez.
ONERI = {
"type": "object",
"properties": {
"oneriler": {"type": "array", "items": {
"type": "object",
"properties": {"urun_id": {"type": "string"}, "neden": {"type": "string"}},
"required": ["urun_id", "neden"],
"additionalProperties": False,
}},
"toplam_oneri": {"type": "integer"},
},
"required": ["oneriler", "toplam_oneri"],
"additionalProperties": False,
}
def urun_oneri(kullanici_sorgusu: str, urun_katalogu: list[dict]) -> dict:
"""Müşterinin doğal dil sorgusuna göre 3-5 ürün önerir."""
katalog_metni = "\n".join(
f"- {u['id']}: {u['baslik']} | {u['kategori']} | {u['fiyat']} TL"
for u in urun_katalogu[:200]
)
resp = client.chat.completions.create(
model="claude-haiku-4-5", # Hızlı + ucuz, ürün önerisi için yeterli
messages=[
{
"role": "system",
"content": [
{
"type": "text",
"text": (
"Sen bir Türk e-ticaret asistanısın. "
"Türkçe doğal konuş, samimi ama saygılı. "
"Cevap formatı JSON: "
'{"oneriler": [{"urun_id": "...", "neden": "..."}, ...], '
'"toplam_oneri": int}'
),
"cache_control": {"type": "ephemeral"},
},
],
},
{
"role": "user",
"content": (
f"## Müşteri sorgusu\n{kullanici_sorgusu}\n\n"
f"## Mevcut katalog\n{katalog_metni}"
),
},
],
response_format={"type": "json_schema",
"json_schema": {"name": "oneri", "schema": ONERI}},
max_tokens=400,
)
return json.loads(resp.choices[0].message.content)システムプロンプトをcache_controlで指定しました。同じプロンプトによる呼び出しが連続すると、Anthropicのプロンプトキャッシュが有効になり、入力コストを90%節約できます。
月額コストの予測
| 1日あたりの推薦数 | 月額USD | 概算TL |
|---|---|---|
| 1,000 | ~$48 | ~₺1,700 |
| 10,000 | ~$480 | ~₺17,000 |
| 100,000 | ~$4,800 | ~₺170,000 |
比較として、ECアシスタントを常時スタッフで運用する場合、1日1,000件以上の推薦には最低でも2~3交代制のサポートチームが必要です(約₺120,000/月)。AIなら95%のコスト削減です。
TL為替変動への対策
Kunavoは米ドルで価格設定されているため、TLの価値が下がるほどコストは上昇します。これを緩和するには:
- 一括チャージ:$1,000以上のチャージでは追加の20%ボーナスクレジットが有効になります($1,000を入金すると、$1,200のクレジットを受け取れます)。米ドルベースでは約17%の節約、トルコリラベースでは間接的な為替バッファーです。
- プロンプトキャッシュを常に有効化 — 70%の節約を引き出せます。
- Haiku → Sonnetのティアリング:単純な問い合わせはHaiku、複雑な問い合わせはSonnetで処理します。自動判定が必要ならコスト最適化ガイドをご覧ください。
- 出力を制限:max_tokens=300にすると、出力コストを半分にできます。
カードの問題を解決する
トルコの銀行の多くは、海外オンライン取引をデフォルトで無効にしています。Stripeのチェックアウトが拒否された場合:
- 銀行に「海外オンラインカード利用」の許可を有効にしてもらう
- Visa、Mastercard、American Express、JCBのすべてに対応しています。
- Apple Payのほうがスムーズに通る場合があります。Chrome / Androidで設定済みならGoogle Payも選択できますが、紐付けられたカードは海外取引に対応している必要があります。
KVKKへの準拠
顧客の個人データ(氏名、電話番号、住所)がある場合は、LLMに送信する前にマスキングしてください。Stripeの決済データはすでにPCI-DSSの対象であり、あなたの環境から分離されています。Kunavoはデータ処理契約(DPA)を提供せず、リクエストは米国で処理され、上流のモデルプロバイダーに送信されます。DPAが必要な場合は、モデルプロバイダー(Anthropic、OpenAI、またはGoogleの法人向け条件)と直接契約してください。
本番運用チェックリスト
- 最初の100件の推薦を人手で確認し、品質が80%以上になったら自動化する
- 1日あたりの支出上限を/app/keysで設定する(偶発的な急増を防止)
- エラーペイロードに対して、ユーザーには「申し訳ありません。現在、推薦を作成できません」と表示するフォールバック動作を追加する
- 月額コストを/app/usageで追跡し、予期しない増加に対するアラートを設定する
無料登録から始め、10ドルからチャージして使った分だけ支払ってください。完全なドキュメントは/docs/quickstartにあります。