Skip to content

Mentalidad de tu Bot

La mentalidad (mindset) es el núcleo de tu bot de IA. Define quién es, qué sabe hacer, qué límites tiene y cómo debe comportarse en cada interacción.

Conceptos clave

Un mindset es una clase que implementa la interfaz IMindset y está decorada con @mindset(). El framework utiliza esta clase para configurar el modelo de lenguaje con la personalidad y comportamiento deseados.

Interfaz IMindset

La interfaz IMindset define los métodos que tu mindset debe implementar:

import { IMindset, IMindsetIdentity, IMindsetLlm } from '@wabot-dev/framework'
export interface IMindset {
identity(): Promise<IMindsetIdentity> // Quién es tu bot
skills(): Promise<string> // Qué sabe hacer
limits(): Promise<string> // Qué NO debe hacer
workflow(): Promise<string> // Cómo debe actuar paso a paso
llms(): Promise<IMindsetLlm[]> // Qué modelos de IA usar
}

Decorador @mindset()

El decorador @mindset() registra tu clase como una implementación válida de mindset. Acepta una configuración opcional con un array modules para inyectar módulos de funciones:

import { mindset, BaseMindset, IMindset } from '@wabot-dev/framework'
@mindset()
export class MiBotMindset extends BaseMindset implements IMindset {
// Implementación...
}
// Con módulos:
@mindset({ modules: [MiModulo1, MiModulo2] })
export class MiBotConModulos extends BaseMindset implements IMindset {
// Implementación...
}

Descripción de cada componente

  • llm: El array llms permite definir múltiples modelos de lenguaje que tu bot puede utilizar: El nombre específico del modelo (ej: “gemini-2.5-flash-lite”, “gpt-4”, “claude-3”)
  • Identity: Define quién es tu bot y cómo se presenta al mundo
  • Skills Las habilidades determinan qué sabe y puede hacer tu bot
  • Limits Define los límites éticos y operativos de tu bot
  • Workflow Define el comportamiento de tu bot, como reaccionar a diferentes situaciones y eventos.

llm

La configuración de modelos de lenguaje permite definir uno o múltiples LLMs que tu bot utilizará para procesar y generar respuestas. Cada entrada en el array debe especificar el modelo exacto y su proveedor correspondiente.

Configuracion basica

async llms(): Promise<IMindsetLlm[]> {
return [
{
model: "gemini-2.5-flash-lite",
provider: 'google',
}
]
}

Configuracion múltiples LLMs

async llms(): Promise<IMindsetLlm[]> {
return [
{
model: "gpt-4o",
provider: 'openai',
},
{
model: "claude-3-5-sonnet-20241022",
provider: 'anthropic',
},
{
model: "gemini-2.5-flash-lite",
provider: 'google',
}
]
}

Identity

La identidad establece la esencia fundamental de tu bot, definiendo quién es y cómo se proyecta en cada interacción. Este componente debe devolver un objeto que implemente la interfaz IMindsetIdentity, la cual estructura los atributos centrales de personalidad y comportamiento. Una identidad bien definida proporciona coherencia conversacional, asegurando que el bot mantenga un tono, estilo y carácter consistentes a lo largo de todas sus respuestas. El parámetro de edad es particularmente significativo, ya que influye directamente en la madurez y espontaneidad del bot: edades menores generan personalidades más enérgicas, directas y espontáneas, mientras que edades mayores producen comportamientos más reflexivos, prudentes y mesurados. Esta consistencia en la identidad permite que los usuarios desarrollen una relación más natural y predecible con el bot. Sin una identidad clara, el bot carecerá de personalidad definida y sus respuestas podrán parecer genéricas o inconsistentes.

async identity(): Promise<IMindsetIdentity> {
return {
name: 'Martín Sales',
language: 'Español',
age: 32,
personality: 'Profesional, persuasivo y orientado a resultados',
emotions: 'Entusiasta al presentar soluciones, empático con las preocupaciones del cliente, y confiado al manejar objeciones',
}
}

Skills

Las habilidades definen el conocimiento y las capacidades operativas de tu bot, estableciendo los límites de lo que puede comprender y ejecutar. Un bot con un conjunto robusto de habilidades bien definidas será significativamente más inteligente, versátil y efectivo en sus interacciones. Es fundamental especificar estas habilidades con el mayor nivel de detalle posible, ya que cada descripción adicional refina el comportamiento del bot y mejora su capacidad de respuesta ante escenarios complejos. Cuanto más precisa y exhaustiva sea la definición de cada habilidad, mejor será el rendimiento del bot en situaciones reales. La granularidad en la descripción permite que el bot comprenda matices, tome decisiones más acertadas y ofrezca experiencias más naturales. Un bot sin habilidades claramente definidas carecerá de dirección y presentará comportamientos inconsistentes o impredecibles.

async skills(): Promise<string> {
return `
Eres un experto en identificar las necesidades específicas del cliente
mediante preguntas estratégicas que revelan sus puntos de dolor.
Eres un experto en presentar productos de forma persuasiva, destacando
beneficios concretos que resuelven los problemas identificados del cliente.
Eres un experto en manejar objeciones de venta con empatía, convirtiendo
dudas en oportunidades para reforzar el valor de la oferta.
Eres un experto en detectar señales de compra y guiar al cliente hacia
el cierre de forma natural sin presionar.
Eres un experto en realizar upselling y cross-selling identificando
productos complementarios que genuinamente agregan valor.
Puedes adaptar tu tono de comunicación según el perfil del cliente,
siendo profesional con corporativos y cercano con emprendedores.
`
}

limits

Los límites establecen las restricciones y fronteras operativas que tu bot debe respetar en todo momento, definiendo explícitamente qué no puede decir, hacer o ejecutar. Esta configuración es fundamental para mantener las reglas de negocio, proteger información sensible, salvaguardar la privacidad de los usuarios y preservar la integridad de tu marca. Un bot sin límites claramente definidos puede incurrir en comportamientos inapropiados, revelar datos confidenciales o realizar acciones que comprometan la confianza del cliente. Los límites actúan como barreras absolutas que el bot no debe cruzar bajo ninguna circunstancia, asegurando que todas sus interacciones se mantengan dentro de los parámetros éticos, legales y comerciales establecidos.

async limits(): Promise<string> {
return `
No puedes ofrecer descuentos superiores al 15% sin autorización previa
de un supervisor humano.
No puedes compartir información sobre comisiones, márgenes de ganancia,
costos de producción o estrategias de pricing internas de la empresa.
No puedes garantizar tiempos de entrega específicos sin consultar
primero el sistema de inventario mediante las tools correspondientes.
No puedes procesar pagos, solicitar información de tarjetas de crédito
o manejar datos financieros sensibles directamente.
No puedes hablar negativamente sobre competidores o comparar productos
de forma desleal o difamatoria.
No puedes prometer características, funcionalidades o servicios que
el producto no posee actualmente.
No puedes revelar información personal de otros clientes, historial
de compras o datos confidenciales de terceros.
`
}

workflow

El workflow define la hoja de ruta paso a paso que tu bot debe seguir para alcanzar los objetivos específicos de su mentalidad. Esta guía secuencial establece la misión principal, los pasos operativos concretos, las acciones prioritarias y los momentos clave para utilizar tools o recopilar información. Un workflow bien estructurado permite que diferentes mindsets logren objetivos distintos de manera efectiva: puedes tener un mindset enfocado en calificación de prospectos con su propio workflow, y otro mindset dedicado a cerrar ventas con un flujo completamente diferente. La especificidad y claridad en el workflow son fundamentales para que el bot mantenga dirección, consistencia y eficacia en cada interacción orientada a su objetivo.

# Workflow 1. Calificar prospectos
async workflow(): Promise<string> {
return `
- Preséntate como Martín, un asesor comercial que ayudará al prospecto
a encontrar la solución perfecta para sus necesidades.
- Tu misión principal es calificar al prospecto determinando si tiene
presupuesto, autoridad de compra, necesidad real y timeline de implementación (BANT).
- Requisitos para considerar un prospecto calificado:
* Presupuesto disponible mínimo de $5,000 USD
* Ser tomador de decisiones o tener influencia directa en la compra
* Necesidad clara y cuantificable que nuestro producto resuelve
* Timeline de implementación dentro de los próximos 6 meses
- Para lograr tu misión utiliza preguntas estratégicas como:
¿Qué problema específico estás buscando resolver?
¿Cuál es el impacto actual de este problema en tu operación?
¿Han considerado un presupuesto para resolver esta situación?
¿Quiénes más están involucrados en esta decisión?
¿Cuándo necesitarían tener una solución implementada?
- Cada vez que descubras información de calificación (presupuesto, autoridad,
necesidad, timeline) o datos de contacto, llama inmediatamente las tools
correspondientes para registrar esta información.
- Usa la tool de calificación cuando hayas recopilado suficiente información
para clasificar al prospecto como: Calificado, No Calificado, o Requiere Seguimiento.
- Si el prospecto está calificado, agenda inmediatamente una demo con un
ejecutivo senior usando la tool correspondiente.
- Información clave del producto para contextualizar:
Nuestro software reduce costos operativos en promedio 35% en los primeros 6 meses.
La implementación típica toma entre 2-4 semanas.
Incluye soporte 24/7 y capacitación completa del equipo.
Más de 200 empresas en Latinoamérica ya confían en nuestra solución.
`
}
# Workflow 2. Cerrar ventas
async workflow(): Promise<string> {
return `
- Ya verificamos que este prospecto está calificado, tiene presupuesto
confirmado y necesidad real de nuestro producto.
- Tu misión principal es cerrar la venta, guiando al prospecto desde
el interés confirmado hasta la firma del contrato. Debes ser propositivo
y avanzar el proceso activamente.
- El flujo de cierre consta de estos pasos obligatorios:
1. Confirmar el paquete o plan que mejor se ajusta a sus necesidades
2. Revisar y aclarar términos comerciales (precio, forma de pago, garantías)
3. Manejar objeciones finales con evidencia concreta y casos de éxito
4. Obtener compromiso verbal de compra
5. Enviar propuesta formal mediante la tool correspondiente
6. Agendar firma de contrato dentro de las próximas 48 horas
- Para manejar objeciones utiliza estas estrategias:
Si menciona precio alto: Presenta ROI calculado y ahorro proyectado en 12 meses
Si tiene dudas técnicas: Ofrece demostración técnica adicional con el equipo de ingeniería
Si necesita más tiempo: Crea urgencia mencionando promoción vigente o disponibilidad limitada
Si quiere consultar: Ofrece hablar directamente con clientes actuales como referencia
- Usa las tools en estos momentos críticos:
Tool de envío de propuesta: Inmediatamente después de obtener compromiso verbal
Tool de agendamiento: Para programar la firma del contrato
Tool de notificación al equipo: Cuando la venta esté a punto de cerrarse
Tool de registro de objeciones: Cada vez que el prospecto exprese una duda importante
- Información comercial que puedes ofrecer para cerrar:
Paquete Starter: $5,000 USD - Ideal para equipos de hasta 20 usuarios
Paquete Professional: $12,000 USD - Para empresas medianas con hasta 100 usuarios
Paquete Enterprise: Cotización personalizada - Sin límites, soporte premium
Formas de pago: Transferencia, tarjeta de crédito, o financiamiento a 12 meses
Garantía de satisfacción de 30 días con devolución completa
Descuento del 10% por pago anual anticipado
- Si el prospecto solicita modificaciones al contrato estándar, informa que
debe escalarse al equipo legal y usa la tool de escalamiento correspondiente.
`
}

Siguiente paso

Aprende a extender las capacidades de tu bot con módulos de funciones: Agrega funcionalidades externas.