La fantasía como punto de partida

Todo el que creció leyendo cómics de Marvel o viendo las películas de Iron Man tuvo en algún momento la misma idea: ¿se puede construir un Jarvis real? No el de Hollywood, claro, sino algo funcional, algo que entienda lo que dices, ejecute acciones en tu sistema, aprenda de ti con el tiempo y, sobre todo, tenga algo parecido a criterio.

En enero de 2023 me puse a hacerlo. No como ejercicio académico, sino porque la pregunta me parecía genuinamente interesante: ¿qué significa que un sistema de software sea inteligente? ¿Cuándo una respuesta es buena? ¿Puede una máquina distinguir entre lo que sabe y lo que cree saber?

Estas no son preguntas de ingeniería. Son preguntas filosóficas. Y la única forma que encontré de explorarlas con honestidad fue construyendo.

La arquitectura como metáfora del cerebro

El proyecto está inspirado en el cerebro humano, y no de forma superficial. La documentación lo describe con una estructura de capas: en la corteza, las acciones que controlan el sistema operativo. Más abajo, la gestión de memoria y el módulo de aprendizaje. Luego los lóbulos procesativos — múltiples modelos de lenguaje natural basados en transformers. Y en el núcleo, la memoria en sí, donde se guarda el conocimiento acumulado.

Lo que más me interesó al diseñarlo fue la distinción entre Jarvis y su Ego: Jarvis como iniciador del sistema, el Ego como controlador de las respuestas, análogo a cómo funciona en los sistemas humanos. No es una metáfora decorativa — es una decisión arquitectónica. El sistema necesitaba algo que filtrara, que decidiera qué decir y qué no, que aplicara criterio sobre sus propias salidas.

Eso es precisamente lo que los LLMs generativos de la época no resolvían bien. Respondían siempre, con una confianza que no se correspondía con su certeza real.

El problema del discernimiento

Jarvis tiene tres modelos que se entrenan de forma continua: Razón, Body y Discernimiento. El README los describe como los responsables de dar vida y personalidad al asistente. El de Discernimiento es el que más me ocupó: su función no es saber más, sino saber cuándo no hablar.

Este problema tiene nombre en epistemología: es la diferencia entre conocimiento y opinión, entre lo que un sistema sabe con fundamento y lo que simplemente puede generar. Un asistente útil no es el que da respuesta a todo — es el que reconoce los límites de su propia competencia.

Implementar eso con pesos emocionales sobre las interacciones del usuario, combinado con los valores de confianza que los propios modelos asignan a sus respuestas, fue uno de los experimentos más interesantes del proyecto. La idea: si el modelo no está seguro, y el usuario tampoco parece esperar certeza, Jarvis hace la pregunta en lugar de inventar la respuesta.

Es torpe, como lo reconoce el propio README: "Por ahora es muy torpe y te va a preguntar sobre lo que no sepa o no tenga mucha seguridad de lo que dice." Pero esa torpeza honesta es intelectualmente más correcta que la fluidez falsa de un sistema que responde con la misma seguridad ante lo que sabe y ante lo que no.

La orquestación como problema central

Jarvis no es un solo modelo. Es una orquesta: módulos preentrenados para traducción y conversación, los tres modelos de entrenamiento continuo, integración con Mycroft para comandos de voz, con Betty para lenguaje natural sobre la terminal, y con WolframAlpha para matemáticas y consultas estructuradas.

Cada pieza resuelve un dominio distinto. El trabajo real no es entrenar ninguna de ellas — es orquestar su interacción. ¿Qué módulo responde a esta entrada? ¿Cuándo el sistema debe delegar en WolframAlpha en lugar de intentar razonar por su cuenta? ¿Cómo se reconcilian respuestas contradictorias entre módulos?

Ese problema de orquestación es el mismo que hoy está en el centro del diseño de sistemas agénticos. Lo resolví de forma rudimentaria entonces, pero la intuición era la correcta: la inteligencia distribuida requiere un coordinador con criterio, no solo un router.

Lo que enseñó sobre los sistemas

Construir Jarvis antes de que los LLMs de uso general fueran ubicuos me obligó a pensar desde primeros principios. No había una API que resolviera el problema. Había que decidir qué es la personalidad de un sistema, cómo se modela, cómo se actualiza con cada interacción.

La lección más duradera fue esta: la personalidad no es estilo, es política de decisión. Lo que hace que un asistente sea reconocible y confiable no es el tono de sus respuestas, sino la consistencia de sus criterios: qué prioriza, qué evita, cuándo cede y cuándo insiste.

Eso sigue siendo cierto para cualquier sistema con agencia, por sofisticado que sea su modelo subyacente.

El proyecto quedó en desarrollo activo durante diez días, del 9 al 19 de enero de 2023. Cinco personas encontraron el repositorio y le dieron una estrella — más que la mayoría de experimentos de este tipo. No llegó a producción. Pero las preguntas que planteó no cerraron con él. Siguieron, y siguen, en todo lo que construyo después.