Volver a los casos de uso
Atención al cliente

Atención al cliente con IA — Claude + Kunavo para automatizar tickets con calidad de producción

La implementación de IA con el ROI más rápido en cualquier SaaS B2C: automatiza la clasificación de tickets, redacta el 80 % de las respuestas y escala el resto correctamente. Código de producción, cifras de costos reales y problemas de cumplimiento que sorprenden a los equipos.

Última revisión: .

Por qué la atención al cliente es la implementación de IA con mayor ROI

Tres cifras lo explican. Ticket gestionado por una persona, en promedio: unos 5 minutos y $1,50-3 con todos los costes incluidos. Ticket redactado por IA (con revisión humana), en promedio: aproximadamente 1 minuto y $0,01-0,05 en costes de API. Resolución exclusivamente mediante IA (sin intervención humana), en promedio: unos 30 segundos y $0,01. Es una reducción de costes de 30-150 veces con la misma calidad, una vez ajustado el prompt de clasificación y redacción.

El inconveniente: los tickets frecuentes de nivel 1 funcionan muy bien con IA; los complejos necesitan personas. La arquitectura siguiente enruta de forma inteligente: un modelo barato clasifica, uno caro redacta borradores de respuestas para los casos que lo justifican y las reglas de escalado envían los difíciles a una cola atendida por personas.

Arquitectura en cuatro pasos

  1. Clasificar — Claude Haiku 4.5 devuelve categoría + prioridad + sentimiento como JSON
  2. Recuperar — extraer los 5 documentos más relevantes de su base de conocimientos (consulte la guía de RAG)
  3. Redactar — Claude Sonnet 5 escribe una respuesta usando el contexto de la KB + las directrices de tono
  4. Enrutar — enviar automáticamente si la prioridad=low y la confianza es alta; en caso contrario, enviarlo a un agente humano para aprobarlo o editarlo con un clic
support_bot.py
import json
from openai import OpenAI
client = OpenAI(api_key="sk-kn-...", base_url="https://api.kunavo.com/v1")

# Claude enforces a json_schema response_format; json_object it does not.
TICKET = {
    "type": "object",
    "properties": {
        "category": {"type": "string",
                     "enum": ["billing", "shipping", "account", "technical", "other"]},
        "priority": {"type": "string", "enum": ["low", "normal", "urgent"]},
        "sentiment": {"type": "string", "enum": ["negative", "neutral", "positive"]},
    },
    "required": ["category", "priority", "sentiment"],
    "additionalProperties": False,
}

# 1) Classify the ticket (cheap model)
def classify(text: str) -> dict:
    resp = client.chat.completions.create(
        model="claude-haiku-4-5",
        messages=[
            {"role": "system", "content": "Classify this support ticket."},
            {"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) Draft a response (better model)
def draft(ticket: str, kb_context: list[str], guidelines: str) -> str:
    resp = client.chat.completions.create(
        model="claude-sonnet-5",
        messages=[
            {"role": "system", "content": [{
                "type": "text",
                "text": guidelines,  # tone, policy, escalation rules
                "cache_control": {"type": "ephemeral"},
            }]},
            {"role": "user", "content": (
                f"# Knowledge base\n{chr(10).join(kb_context)}\n\n"
                f"# Customer message\n{ticket}\n\n"
                "Draft a reply. Be specific, cite the KB doc id."
            )},
        ],
        max_tokens=500,
    )
    return resp.choices[0].message.content

Proyección del coste real

  • 100 tickets/día con clasificación + redacción + caché: ~$0,02/ticket × 100 = ~$60/mes
  • 1.000 tickets/día: ~$600/mes — sustituye a unos 3 agentes a tiempo completo con tarifas occidentales habituales de nivel 1
  • 10.000 tickets/día (gran comercio electrónico): ~$6.000/mes — sustituye a 30 agentes o más

Estas cifras suponen que la caché de prompts está activada (el prompt del sistema es estático; el contexto de la KB cambia por ticket). Cómo funciona la caché de prompts — la diferencia entre $60 y $200 al mes con 100 tickets diarios.

Antipatrones que conviene evitar

  • Enviar automáticamente respuestas de alto riesgo (reembolsos, cambios de cuenta, reclamaciones) sin revisión humana. El riesgo de relaciones públicas de una sola respuesta automática incorrecta supera todas las ganancias de eficiencia
  • Enrutar por palabras clave en lugar de clasificar con un LLM — el enrutamiento por palabras clave falla en cuanto los usuarios expresan algo de otra manera; la clasificación con LLM gestiona las paráfrasis sin dificultad
  • Expectativas infladas para el nivel 1 — la IA gestiona repeticiones y preguntas comunes, no «Me han cobrado 3 veces un pedido y el chatbot sigue diciendo que contacte con soporte». Mantenga una salida clara hacia una persona

Cómo debería verse al sexto mes

  • El 60-80% de los tickets entrantes se resuelve sin intervención humana (IA + KB)
  • El 20-40% restante lo redacta la IA, y las personas lo revisan y envían en aproximadamente 1 min/ticket
  • El equipo humano se centra en los casos límite y en mejorar la KB
  • Coste neto: 70-85% inferior al anterior a la IA; el CSAT de los clientes suele ser mayor (respuestas más rápidas)

Consideraciones de idioma

Si atiende a clientes en varios idiomas, Claude Sonnet 5 gestiona bien unos 30 idiomas. Para coreano específicamente (son importantes los niveles de formalidad), consulte nuestro análisis detallado sobre automatización de centros de llamadas en coreano. Para japonés, chino, alemán y francés, se aplica el mismo método con directrices específicas del idioma en el prompt del sistema almacenado en caché.

Empiece en 30 minutos

  1. Regístrese — pago por consumo desde una recarga de $10 en /app/signup
  2. Conecte su KB a pgvector + text-embedding-3-large, generando los embeddings directamente con OpenAI — Kunavo sirve el paso de generación, no el de embeddings
  3. Integre el fragmento de clasificación + redacción anterior en su sistema de tickets (Intercom, Zendesk y Freshdesk tienen puntos de entrada mediante webhook)
  4. Comience en «modo borrador»: las personas aprueban cada respuesta. Después de 100 revisiones correctas, active el envío automático para las categorías de baja prioridad

Preguntas frecuentes

How much does AI customer support automation cost per month?

At 1,000 tickets a day a tiered Claude pipeline costs roughly $600 per month at Kunavo rates, which replaces three or more full-time tier-1 agents. The classification step alone is under $0.0001 per ticket on Claude Haiku 4.5.

Which model should classify tickets, and which should draft replies?

Claude Haiku 4.5 classifies — it returns category, priority and sentiment in one short call — and Claude Sonnet 4.6 drafts the reply from knowledge-base context plus tone guidelines. Splitting the two is what produces the 30–150× cost reduction against sending every ticket to one large model.

What share of support tickets can be automated?

About 80% of tickets can be drafted automatically. Auto-send applies to low-priority tickets where model confidence is high; everything else queues for human review.

How do I keep prompt cost down on a support pipeline?

Put the tone-guidelines block under cache_control. It is identical on every ticket, so it bills as cached input instead of being re-sent at the full input rate.