Mi asistente de IA lleva toda mi oficina. El botón de enviar lo pulso yo.

Dos pequeños brazos mecánicos ordenan sobres blancos en bandejas sobre un escritorio despejado, junto a una taza de café humeante y unas plantas, en formas editoriales planas de tonos verdes.
Ilustración generada con IA (Flux 1.1 Pro).

Antes de mi primer café, las facturas de la noche ya están contabilizadas y las dos cuentas del banco, revisadas. Después del café digo “bandeja de entrada”, y al rato sé qué tres correos importan de verdad hoy. Las respuestas ya están en Gmail como borrador.

Eso lo hace mi asistente. Me lo construí yo mismo y a estas alturas es el empleado más trabajador de mi empresa. Tiene una sola limitación, y es a propósito: no puede enviar nada.

Todo lo que hace

Llevo yo solo una pequeña empresa de software en Madrid: una docena de productos, servidores propios, clientes que escriben en tres idiomas y el papeleo de una S.L. Esto es lo que ahora lleva él.

Nada de esto es espectacular por separado. Todo junto es la parte del día que yo antes llamaba “papeleo” con voz cansada.

Instrucciones por escrito en vez de improvisar

Un modelo de lenguaje tiene talento y tiene sus días. Pídele dos veces lo mismo y te lo hará de dos maneras distintas. Por eso, en mi caso, cada tarea que se repite es una skill: una instrucción de trabajo por escrito que Claude Code sigue exactamente igual cada vez.

La skill “bandeja de entrada”, por ejemplo, dice:

  1. Primero, una visión de conjunto de toda la bandeja, leídos y sin leer, da igual la antigüedad.
  2. Después, ordenar por importancia. Clientes e interesados, siempre primero.
  3. Para cada correo importante, una propuesta de qué hacer y un borrador de respuesta.
  4. Si hay varias opciones razonables: alternativas, pero siempre su versión preferida primero, con una frase que explique por qué.
  5. La rutina, al final, en una sola lista que yo despacho con una palabra.

Así, todas las mañanas funcionan igual. Suena aburrido. De eso se trata.

La memoria: 178.000 entradas

Un asistente sin memoria es un desconocido muy educado. Un cliente escribe “lo que hablamos” y el asistente tiene que saber qué hablamos. Hace dos semanas, hace dos años, en una nota o en un chat.

Por eso el corazón del sistema no es una IA, sino una base de datos de búsqueda (RAG). A día de hoy contiene:

Cuando entra un correo, busca primero ahí: hilos anteriores con la misma persona, en qué punto está el proyecto, qué prometí la última vez. Solo entonces escribe.

La monté en primavera, en mi Mac. Cada texto se corta en fragmentos y un modelo de código abierto (bge-m3) convierte cada fragmento en un vector de números que recoge su significado. Por eso, si busco “factura de la migración”, también aparece el correo que dice “Rechnung für den Umzug”. En junio todo se mudó a mi propio servidor. No tiene tarjeta gráfica, así que la primera pasada completa tardó horas. Desde entonces solo se añade lo nuevo.

Se mantiene al día gracias a unos cuantos scripts discretos. El servidor recoge el correo nuevo cada 15 minutos y mis webs cada noche. Dos veces al día, el Mac sube lo que solo vive en el Mac: notas, registros de sesiones, commits, documentos. Las carpetas privadas y de finanzas se quedan fuera a propósito. Y como los vectores se calculan en mi propio servidor, mi correo no pasa por ningún proveedor de IA para indexarse.

Aquí va el fallo más instructivo. Durante diez semanas, un script no indexó ni una sola sesión nueva. Cada pasada informaba muy formal “0 nuevos, estado ok”, y las estadísticas mostraban una cifra respetable. La cifra no era falsa. Estaba congelada. Desde entonces no me fío de ningún “ok” que no diga también cuánto ha pasado de verdad.

El efecto secundario que no tenía previsto: mis propios correos enviados son la guía de estilo. Los borradores suenan a mí porque han aprendido de cinco años de mí. Los cortos también.

Barreras escritas en el código

En mayo, en un correo a un cliente apareció un IBAN que no existía. Parecía totalmente creíble, y ese era justo el problema. Un correo de rectificación después, había una lista de datos verificados (cuenta bancaria, NIF, direcciones) y un hook que compara cada correo saliente con ella. Si aparece un dato duro que no está en la lista, el borrador se bloquea.

Así nacen todas las reglas aquí: de un error real, y luego en forma de código, no de buena intención.

Qué modelo, cuánto cuesta, dónde están los datos

No todas las tareas necesitan el modelo más potente. La rutina va con modelos pequeños y baratos; el diagnóstico y todo lo que no tiene marcha atrás, con el más potente. Cuando sale un modelo nuevo, se prueba con casos reales antes de que tome el relevo.

El trabajo de pensar en mi escritorio va con mi suscripción de Claude Code, así que una sesión larga no me cuesta nada extra. El servicio del servidor, que día y noche reconoce facturas y lee las cuentas, usa modelos pequeños a través de la API: 5.193 ejecuciones en 90 días por 2,50 dólares en total. Hice la cuenta dos veces.

Y para los clientes que no pueden dejar que ni una línea salga de la UE: las llamadas a la IA pueden ir enteras por Amazon Bedrock, en un centro de datos europeo.

Nada de esto está terminado. La conexión con el banco hay que volver a autorizarla cada 90 días, y ha tenido semanas en las que sencillamente no entregaba nada. Entonces concilio a mano, como todo el mundo.

La única línea

Durante un tiempo sí enviaba. Yo aprobaba un correo en la terminal y el asistente lo mandaba. Funcionaba bien, y aun así en octubre lo quité.

No fue por ningún desastre. Cada correo con mi nombre es una promesa, y quiero haberla visto. Desde entonces todo correo saliente se crea como borrador, y un hook bloquea el envío directo.

Por la mañana abro Gmail y ahí están los borradores. La mayoría los envío tal cual, algunos los cambio, unos pocos los borro y le explico qué quería decir. El siguiente sale mejor.

Si un cliente me pregunta si contesto con ayuda de IA: sí. Quien decide lo que se dice sigo siendo yo.

Por qué lo cuento

Porque esto es justo lo que ahora monto para otras empresas. No el mismo asistente, pero sí el mismo patrón: tu correo, tus facturas, tu banco, tus programas y una memoria hecha de tu propia historia, conectados a un modelo que prepara el trabajo, con una persona que decide. Cada empresa tiene su propia instancia.

Primero lo construí para mí porque quería saber dónde se rompe. Se rompe en sitios aburridos: un permiso del banco caducado, una factura que cambia de formato de la noche a la mañana, un script que dice “ok” durante diez semanas, un IBAN demasiado creíble, un recordatorio a alguien que ya había pagado. Lo interesante nunca fue el modelo. Fue decidir qué puede hacer él solo.

Si te imaginas algo así en tu empresa, escríbeme sin más: por WhatsApp o desde el formulario de contacto. Con dos frases basta: qué es lo que más tiempo te quita ahora mismo. La respuesta la escribo yo. El borrador, a lo mejor no.

← Todos los artículos