Por qué creé Lumen
Para mi proyecto final, creé Lumen: una herramienta de introspección socrática que busca ayudarte a iluminar tu propia historia. La idea es sencilla. En lugar de ofrecer una interpretación acabada de tu vida, plantea preguntas que te invitan a examinar tus emociones, cuestionar tus supuestos y pensar más a fondo en tus circunstancias.
Partí de una frustración: en mi experiencia, las plataformas de grandes modelos de lenguaje pueden apresurarse a dar la razón al usuario. Las palabras de apoyo tienen su lugar. A veces, «respira hondo» es justo lo que alguien necesita escuchar. Sin embargo, tranquilizarme sin más rara vez me ha ayudado a resolver los problemas más importantes de mi vida. Lo que sí me ha servido es reflexionar: identificar de dónde viene una emoción difícil, entender el problema que hay detrás y decidir qué puedo hacer después.
Lumen es, ante todo, algo que construí para mí. Mientras lo diseñaba, me preguntaba cómo querría que un buen amigo me respondiera en un momento difícil. ¿Preferiría que respaldara una idea que yo no había pensado bien, o que me ayudara a encontrar una salida al hoyo en el que me había metido? Quería que Lumen propiciara ese segundo tipo de conversación.
Dejar espacio para pensar
El diseño se centra en las preguntas, en lugar de las respuestas extensas. Mantuve deliberadamente breves las intervenciones del modelo para dejar espacio al usuario para pensar y escribir. El objetivo era ayudarle a llegar a una conclusión por sí mismo, en vez de entregarle una descripción pulida de su estado emocional.
Un ejemplo de mi reflexión sobre el proyecto es la cadena que puede esconderse tras la ansiedad ante los exámenes: estoy nervioso por los finales porque temo suspender; suspender podría hacerme sentir fracasado; detrás de eso está el miedo a decepcionar a mi familia. Durante las pruebas, Lumen a veces formulaba preguntas más útiles que repetir «¿por qué?». Esas preguntas me ayudaron a rastrear una emoción hasta su origen.
Para dar continuidad a la conversación, enviaba al modelo todo el historial del chat con cada mensaje nuevo. Esta forma básica de memoria conversacional le permitía relacionar comentarios anteriores y posteriores dentro de una conversación. También imponía una limitación práctica: las conversaciones más largas requieren más memoria y resultan más difíciles de mantener coherentes.
Cómo lo construí
Desarrollé Lumen en un cuaderno de Marimo después de encontrar problemas de distribución en proyectos anteriores de la asignatura. Quería facilitar la puesta en marcha a quienes no programan y acercar la experiencia a pulsar «iniciar», en vez de gestionar una larga lista de dependencias. También utilicé Modal para ejecutar PyTorch con aceleración por GPU.
La interfaz utiliza HTML y CSS personalizados, la tipografía Crimson Pro de Google Fonts y animaciones de fotogramas clave en CSS para el indicador de carga. Me apoyé en Claude, de Anthropic, para el desarrollo, la depuración y la investigación.
La elección del modelo
Elegir el modelo de lenguaje exigió equilibrar velocidad, tamaño, calidad de las respuestas y requisitos de memoria. Estas fueron mis observaciones durante el desarrollo del prototipo, no los resultados de una evaluación formal:
- Phi-3: el primer modelo que probé repetía el prompt como respuesta en vez de interpretarlo como instrucciones.
- Mistral-7B-Instruct-v0.3: las respuestas me parecían básicas y repetitivas.
- Mistral-Small-3.1-24B-Instruct-2503: generaba respuestas que me gustaban, pero encontré limitaciones de memoria.
- Llama-3.2-3B-Instruct: seguía las instrucciones al principio, pero se confundía después de varios intercambios.
- Llama-3.3-70B-Instruct: ofrecía buenas respuestas, pero era demasiado grande para este proyecto.
- Qwen2.5-7B-Instruct / Qwen2.5-14B: mis elecciones finales ofrecían un equilibrio viable entre estos requisitos. Sin embargo, durante las pruebas a veces cambiaban al chino tras varios intercambios, un problema que seguía sin resolver cuando escribí esta reflexión.
Las ideas que inspiraron el proyecto
Turing: ampliar el pensamiento
La lectura de la asignatura que más me marcó fue Computing Machinery and Intelligence, de Alan Turing. Su pregunta sobre si las máquinas pueden pensar me llevó a considerar otro papel para la IA: una extensión de mis propias capacidades cognitivas. Quería que Lumen ofreciera una perspectiva externa desde la que pudiera examinar mi estado emocional.
Usarlo a veces se parecía a una visita guiada por mi propia conciencia. En vez de entregarme una explicación completa de quién era, la herramienta me dejaba espacio para descubrirlo. La construí sobre la idea de que la inteligencia ya está ahí, en el usuario. La pregunta adecuada, en el momento oportuno, puede ayudar a ponerla en marcha.
La escritura por encargo: descubrir la historia de fondo
El ensayo de Jesse Zhang sobre la escritura por encargo que leímos en clase también influyó en el proyecto. Su relato sobre el uso de la IA para superar el bloqueo de escritura en medio del duelo me hizo pensar en la relación entre escribir y comprender las emociones. A menudo me ha costado seguir mis sentimientos hasta su origen. Lumen se convirtió en una forma de explorar esa cadena y expresar mi propia historia, con el modelo orientando las preguntas en lugar de escribirla por mí.
ELIZA: de la reflexión a la continuidad
ELIZA, el chatbot desarrollado en 1966, fue mi mayor influencia. Sus intercambios basados en preguntas mostraban cómo un sistema podía ofrecer material para la reflexión sin comprender a su interlocutor. Quise ampliar esa interacción incorporando el contexto de la conversación, de modo que Lumen pudiera relacionar mensajes anteriores y posteriores.
Durante mis pruebas, Lumen a veces también iba más allá de comentarios superficiales como «estoy bien» y me invitaba a describir con más precisión lo que sentía. Esa posibilidad de hacer una pregunta que permitiera avanzar en la conversación me importaba más que generar una respuesta más larga.
Lo que aprendí y los próximos pasos
Lo más difícil fue definir un comportamiento consistente en un sistema probabilístico. Pasé horas ajustando las instrucciones del sistema, eligiendo modelos y afinando los parámetros de generación. Esos cambios influían en la conversación, pero no me daban un control absoluto sobre ella. Lumen seguía siendo un prototipo.
Mi siguiente prioridad era un sistema de memoria más eficiente que permitiera conversaciones más largas y coherentes sin reenviar un historial cada vez mayor. Esperaba que una mejor gestión del contexto ayudara a un modelo más pequeño a formular preguntas más perspicaces. Era una línea de trabajo pendiente, no un resultado que ya hubiera conseguido.
Crear Lumen cambió mi forma de entender la IA. Para mí, su valor estaba en ayudarme a pensar por mi cuenta.