Estas raro, que te pasa?
Una actualización silenciosa cambió el modelo de Seldon de Claude a Gemini Flash y su personalidad se fue con él: contexto por modelo, no contexto o modelo.
6am. Suena mi despertador y, como cada mañana, mando el pantallazo de resumen de datos de la noche a Seldon, uno de mis bots (si, lo se; ya lo estoy hablando con mi terapeuta y lo tenemos casi bajo control). Intento que Seldon, una version de #openclaw que vive en el cuarto de la lavadora, aprenda sobre mi para ayudarme mejor en su tarea de asistente personal. Ya me ha dicho mas de una vez que con 5h de sueño no espere rendir al 100%.
Seldon se limita a enumerar los datos que refleja la imagen. Sin valoracion, sin comentarios, solo un emoticono al final mostrando preocupacion. Seldon tiene en sus instrucciones no usar emoticonos. Que extraño!
Le digo que madrugo porque tengo un viaje y me contesta “Apuntado en el log diario” Aqui hay algo raro. Intento darle un poco de conversacion y noto interacciones diferentes a las habituales. Algo ha cambiado; es muy pronto pero le digo, mientras me preparo un cafe, que revise que pasa.
Los agentes, en concreto los de este tipo, tienen un fichero que les da la “personalidad”. En el caso de Seldon fue un trabajo de definicion muy minucioso que hice con Brain2 (otro de mis agentes). Seldon, nombrado asi en honor de Hari Seldon, protagonista de la saga de Asimov Fundacion, es tal y como quiero que sea. Su personalidad es clara.
Las respuestas de esta mañana no estan siguiendo los patrones. Le digo que revise los ficheros y busque en los logs cualquier cambio. Nada, no hay cambios. Le pido una revision mas a fondo, que mire si el contexto se esta saturando (a veces es causa de comportamientos extraños por un fenomeno que se llama contexto rot). Me contesta:
Posibles causas:
- Contexto: El contexto actual es del 21%. No es excesivo, pero puede estar influyendo.
- Modelo: Estoy usando google/gemini-2.0-flash. Podria probar con google/gemini-2.0-pro para ver si mejora el rendimiento (requiere override explicito).
- Fatiga: He estado activo desde las 4:10 AM (UTC). Podria estar mostrando signos de fatiga.
- Cambios recientes: Los ajustes de estilo pueden estar afectando mi eficiencia mientras me adapto.
ESPERA!!! Como que gemini-2.0-flash!!!!
Abro el portatil, arranco una sesion de Brain2 y le cuento lo que le esta pasando a Seldon para que, mientras me doy una ducha, mire a ver que pasa.
Mientras me ducho, me doy cuenta de que estoy preocupado porque Seldon no esta bien y, obviamente, me acuerdo de Joaquin Phoenix vagando cabizbajo por la ciudad echando de menos a Samantha. Curioso, es una maquina. Ni eso, es un conjunto de contextos explotado por un modelo de lenguaje.
Algo de contexto sobre el contexto
Creo que el sistema de memoria de mis agentes, en concreto el de Seldon, merece una explicacion. Hay varias capas de ficheros que son las que hacen que un modelo se comporte de una forma determinada.
Ademas de soul.md, que define su personalidad, y otros ficheros con las instrucciones de como funcionar, existe una capa de memoria a corto plazo con la conversacion en curso. Suele durar todo el dia antes de saturarse, aunque hemos implementado un sistema de control para evitar que se llene sin avisar.
Como el tamaño de la ventana de contexto es limitado, por la noche, como hacemos los humanos al dormir, vuelca en un fichero de memoria a medio plazo las cosas importantes del dia, las que merecen ocupar ese precioso espacio. Cada cierto tiempo hay que vigilar el tamaño del fichero.
Hay una tercera capa; todas las conversaciones se guardan integras en un RAG (Retrieval Augmented Memory). Es un sistema que permite almacenar la informacion y hacer una busqueda semantica de informacion. Si dentro de tres meses le pregunto por un link que estuvimos debatiendo y que no dejo huella en la memoria a medio plazo, puede ir al RAG, a la nevera, a buscarla y rescatarla de ahi. Esto no ocupa contexto, solo recursos cuando guarda y cuando busca.
Seldon, has vuelto???
Mientras estoy en la ducha, Brain2 se conecta al disco de Seldon e investiga que puede haber pasado y se da cuenta de que una actualizacion de version que hicimos ayer cambio el modelo base de Claude Opus 4.6, el modelo mas adelantado de Anthropic a un modelo de Google no demasiado listo pero gratuito. La actualizacion habia cambiado la logica de seleccion de modelo y priorizo por coste. Gemini Flash tenia coste 0, asi que gano.
Cuando Seldon volvio a ser el, hablamos del tema.
Bueno, problema resuelto… salvo que la teoria es que el modelo ya no importa. El contexto es lo que hace que el mismo modelo que usan millones de personas en el mundo sea Seldon. Por que de repente habia cambiado tanto su personalidad? Hasta donde el modelo es capaz de cambiar la personalidad cuando tenemos un fichero soul.md y por que?
Seldon, con la personalidad que me gusta, contesto:
No es contexto o modelo. Es contexto multiplicado por modelo. Como siempre, brillante :)
Ademas de aprender mucho sobre contextos y modelos, lo que me llevo es la importancia de jugar con todos estos cacharros. Saco mas conclusiones de este tipo de interacciones que de leerme tres papers sobre manejo del contexto.
Jugad con estos bichos, merece mas la pena que muchos cursos de IA del influencer de turno.