Escribime

Reescritura de un asistente personal orientado a gestión de clientes

Contexto

Proyecto propio: un asistente personal implementado como bot conversacional, en operación desde marzo de 2026, con interacción principalmente por audio. La primera versión cubría funciones de propósito general: respuestas a consultas, búsquedas, transcripción y toma de notas.

Problema

La primera versión no absorbía trabajo operativo: el seguimiento, el triage y la planificación permanecían del lado del usuario. El origen del problema era la ausencia de un propósito definido que ordenara el alcance: las funciones se agregaron de forma incremental, y la base resultante carecía de control de versiones y de tests, con integraciones incompletas y un clasificador rígido de intenciones.

Solución

El sistema se reescribió desde cero a partir de la definición de un propósito único: asistente de gestión de clientes, con el objetivo de que ninguna relación se enfríe por falta de seguimiento. De ese propósito se derivaron tanto las funciones nuevas como las exclusiones de alcance.

  • Ocho tareas proactivas: triage de bandeja de entrada, plan diario, revisión semanal, escaneo de interacciones, control de cadencia de relaciones y vigilancia de reuniones con externos, entre otras.
  • Reemplazo del clasificador de intenciones por un loop agéntico, donde el propio modelo decide qué herramienta usar en cada caso.
  • Memoria estructurada en un sistema externo que el asistente crea y mantiene en la primera ejecución.
  • Método de desarrollo con especificación y tests previos al código, y revisión automatizada entre cada entrega.

Resultados

  • Reescritura completa realizada en una sola sesión de trabajo.
  • La suite de tests pasó de cero a más de 80, con decenas de revisiones automatizadas registradas en el proceso.
  • Guardarrieles implementados desde el primer cambio: un único usuario autorizado con lista de permitidos que falla cerrada, aprobación manual para cualquier salida a terceros, herramientas restringidas a una lista permitida y prompts endurecidos contra inyección.
  • El caso documenta el diseño y la construcción de la segunda versión; las métricas de uso posteriores a su puesta en marcha quedan fuera del alcance de este registro, y las disponibles corresponden a la primera versión.
Arquitectura y decisiones

La arquitectura reemplazó el clasificador de intenciones por un loop agéntico sobre un framework de agentes, en el que el modelo decide en cada turno qué herramienta usar en lugar de clasificar la intención de antemano contra una lista fija. La memoria se resuelve con un sistema externo usado como CRM, con un conjunto de bases que el asistente crea la primera vez que se ejecuta.

El propósito único definido al inicio del proyecto funcionó también como criterio de exclusión: los canales y funciones que no aportaban directamente al objetivo de gestión de clientes quedaron fuera del alcance de esta versión, en contraste con el enfoque de propósito general de la primera versión.

El desarrollo siguió un método de tres pasos —especificación, luego plan, luego tests antes del código— con revisión automatizada entre cada entrega, lo que permitió llevar la cobertura de pruebas de cero a más de 80 casos durante una única sesión de trabajo.

Por confidencialidad, los casos no nombran a los clientes. Las cifras y los resultados son reales.

¿Un problema parecido? Escribime.