As empresas coreanas de SaaS e comércio eletrônico que adotam IA mais rapidamente estão automatizando o atendimento ao cliente. Quando tudo é processado por pessoas, o custo mensal chega a dezenas de milhões de won; ao automatizar a classificação e os rascunhos de resposta com Claude, é possível reduzir os custos em mais de 90%. Este artigo apresenta código e custos de uma operação realmente utilizável.
Estrutura
- Classificar os tickets recebidos com Claude Haiku 4.5 (o mais barato)
- Pesquisar casos semelhantes do passado (banco de dados vetorial)
- Gerar um rascunho de resposta com Claude Sonnet 4.6
- O atendente revisa e envia (ou tickets de baixa prioridade são enviados automaticamente)
Etapa 1: classificação — Claude Haiku 4.5
O Haiku 4.5 é muito barato para tarefas simples, como classificação. Nos preços da Kunavo, US$ 0,40/1M de entrada e US$ 2,00/1M de saída. Um ticket em coreano com 200 caracteres mais uma saída JSON de 50 tokens custa cerca de US$ 0,00004 (0,06 won) por caso.
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)Etapa 2: pesquisa de casos semelhantes
Armazene exemplos de respostas bem-sucedidas do passado usando embeddings e pgvector; depois, pesquise os 5 mais próximos pela similaridade de cosseno entre o embedding do novo ticket e os existentes. A Kunavo não oferece embeddings, portanto apenas esta etapa chama diretamente a OpenAI e é cobrada diretamente. Consulte a página de preços da OpenAI para ver a tarifa. Use a Kunavo somente na etapa de geração.
Etapa 3: geração do rascunho de resposta — 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.contentAs diretrizes da empresa (3.000 tokens) são sempre iguais, então use cache_control para armazená-las em cache. A partir da segunda chamada, essa parte custa apenas 10% do preço de entrada.
Estimativa de custo por caso (após aplicar o caching):
- Classificação (Haiku 4.5): US$ 0,00006
- Embedding da pesquisa: US$ 0,0000025
- Geração da resposta (Sonnet 4.6, cache hit): cerca de 1K tokens de entrada + 500 tokens de saída = US$ 0,0042
- Total: cerca de US$ 0,004 (aproximadamente 6 won)
Exemplo de custo mensal
- 100 casos por dia: US$ 13 por mês (aproximadamente 18.000 won)
- 1.000 casos por dia: US$ 130 por mês (aproximadamente 180.000 won)
- 10.000 casos por dia: US$ 1.300 por mês (aproximadamente 1,8 milhão de won)
Comparação: 1 atendente = aproximadamente 2,5 milhões de won por mês, com limite de 100 casos por dia. Para processar 1.000 casos por dia, seriam necessários 10 atendentes = 25 milhões de won por mês. A automação com IA gera uma diferença de custo de pelo menos 100 vezes.
Considerações específicas para a Coreia
- Consistência do tratamento honorífico: especifique repetidamente no prompt do sistema "estilo formal e polido (~습니다)". Para testar variações, faça uma amostragem de 100 respostas e avalie-as como em uma entrevista
- Consumo de tokens em coreano: o coreano consome de 1,5 a 2 vezes mais tokens que o inglês. A estimativa acima considera o coreano
- Conformidade com a lei de proteção de informações pessoais: nunca coloque PII de clientes (nome, telefone ou endereço) no prompt do sistema. Mascare os dados antes de enviá-los ao LLM
- Formas de pagamento: você pode recarregar o saldo da Kunavo com cartões internacionais, Apple Pay, Google Pay e, quando a tela de pagamento for exibida em won, KakaoPay, Naver Pay, PAYCO, Samsung Pay e cartões nacionais (Toss não é aceito). Não emitimos certificados fiscais nem faturas — os únicos comprovantes disponíveis são os registros de pagamento do extrato do cartão ou do pagamento simplificado e os registros de recarga e uso em /app/billing.
Checklist de implementação
- Nos primeiros 100 casos, o atendente deve revisar 100% deles → confirme precisão superior a 90% e automatize gradualmente
- Categorias urgentes devem sempre ser revisadas por uma pessoa (o custo dos erros é alto)
- Adicione semanalmente à diretriz os casos classificados incorretamente (aprendizado recorrente)
- Acompanhe o uso mensal em /app/usage e defina o limite diário em /app/keys (para evitar picos acidentais)
Para começar, faça seu cadastro gratuito, recarregue a partir de US$ 10 e use no modelo pré-pago. Consulte os preços por modelo e as formas de pagamento em Preços e pagamentos da API Claude e na página de preços; para comparar com o OpenRouter, veja Comparação de alternativas ao OpenRouter. Documentação completa: /docs/quickstart; guia detalhado de prompt caching: prompt caching deep dive.