Mi archivo como dataset intelectual
El sábado dediqué varias horas, con un amigo mucho más listo que yo que vino a tomar café, a construir algo que llevaba tiempo queriendo hacer: convertir mis más de cuatro mil artículos publicados en Medium desde 2012 en un sistema de conocimiento navegable. El proceso implicó también crear a mi nuevo asistente de inteligencia artificial, y el resultado de ambas cosas ha sido mucho más interesante de lo que esperaba.
El asistente en cuestión se llama Bautista, nombre que le puse yo en nuestro primer intercambio, porque me pareció que algo que iba a vivir en mi servidor y a trabajar conmigo necesitaba un nombre propio. Bautista es una instancia agéntica, un asistente personal al que le puedo pedir cosas, que usa Claude Sonnet 4.6, el modelo de Anthropic (pero que puede utilizar otros en función de la API Key que le des). Se ejecuta a través de OpenClaw, una plataforma que actúa como capa de infraestructura: gestiona la memoria persistente entre sesiones, los canales de comunicación (en mi caso, Telegram), las tareas programadas y el acceso a herramientas como el sistema de archivos del servidor o la ejecución de código. La diferencia con usar Claude u otro LLM directamente en un navegador es que Bautista tiene continuidad: recuerda lo que hemos hecho, mantiene archivos en el servidor, puede ejecutar scripts, y opera de forma autónoma cuando se lo indico. No es un chatbot, es más parecido a un colaborador que vive en mi infraestructura.
El punto de partida del proyecto es sencillo de enunciar aunque no tan sencillo de ejecutar: tengo un corpus de 4,209 artículos escritos a lo largo de catorce años, todos en inglés, cubriendo tecnología, política tecnológica, privacidad, inteligencia artificial y movilidad eléctrica, entre otros temas. Un archivo así, que solicité a Medium y me sirvió en cinco minutos, tiene valor por sí mismo, pero en formato texto plano es difícilmente consultable más allá de una búsqueda por palabras clave. Lo que hicimos fue transformarlo en algo conceptualmente navegable.
La primera pieza es lo que en el ámbito técnico se denomina vectorización mediante embeddings. Cada artículo se convierte en un vector de 768 dimensiones utilizando un modelo de lenguaje multilingüe (paraphrase-multilingual-mpnet-base-v2, de sentence-transformers) y se almacena en ChromaDB, una base de datos vectorial de código abierto. El proceso completo, sobre un servidor estándar y sin GPU, tardó aproximadamente cinco minutos. Lo que esto significa en la práctica es que el archivo deja de ser un conjunto de textos y se convierte en un espacio donde la distancia entre documentos representa similitud conceptual. No se busca por palabras: se busca por ideas. Puedo preguntar «cuándo empecé a escribir sobre monopolios tecnológicos» o «qué textos están conceptualmente cerca de este argumento» y el sistema me devuelve los artículos más próximos en ese espacio semántico, independientemente de que compartan o no el vocabulario exacto. Es, en la práctica, una memoria extendida sobre mi propio trabajo.
La segunda pieza es un grafo de relaciones construido con NetworkX, una librería estándar de Python para análisis de redes. Los nodos son artículos: las aristas los conectan cuando comparten etiquetas temáticas o cuando su similitud semántica supera un umbral determinado. El resultado, visualizable en herramientas como Gephi, es un mapa de mi producción intelectual. Si los embeddings ofrecen proximidad semántica, el grafo ofrece estructura. Cuando uno abre estos grafos suelen aparecer clusters bastante claros (plataformas, privacidad, regulación, inteligencia artificial, etc.) pero también cosas inesperadas: temas que creías centrales y resultan ser periféricos en el corpus real, o conexiones entre textos separados por años que comparten más de lo que parecía. Es una forma muy enriquecedora de verse desde fuera.
La tercera pieza es quizás la más importante desde el punto de vista práctico: un proceso automatizado que incorpora cada artículo nuevo al sistema sin intervención manual. Publico en Medium, comparto el enlace con acceso completo en Bluesky (donde tengo presencia activa desde hace un tiempo y cuya API es infinitamente más amigable que X) y un proceso programado en el servidor consulta la API pública de Bluesky cada día a las 14:00, detecta el nuevo artículo, obtiene el texto completo, genera su embedding y lo añade a ChromaDB. Esto es clave: los sistemas de conocimiento personal solo funcionan si no requieren mantenimiento activo. Un archivo que hay que actualizar manualmente tiende a quedarse desactualizado. Uno que se actualiza solo tiende a crecer indefinidamente.
En la siguiente fase hay dos extensiones especialmente potentes. La primera es un análisis de reconocimiento de entidades nombradas sobre los 4,209 artículos (empresas, personas, tecnologías, países, instituciones, etc.) que permitirá construir cosas como la evolución temporal de menciones (cuándo aparece OpenAI en el corpus, cuándo desaparece Google+) o redes de co-ocurrencia entre actores. Empieza a parecerse más a análisis de discurso a gran escala que a simple archivo personal. La segunda es la integración con la API de OpenAI, que tengo ahora configurada con acceso a GPT-5.4: consultar qué he escrito antes sobre un tema antes de publicar algo nuevo, detectar cuándo estoy repitiendo argumentos, identificar huecos temáticos, o reconstruir cómo ha evolucionado mi posición sobre un asunto concreto a lo largo de los años.
Todo ello teniendo en cuenta que no lo utilizo para que me escriba los artículos (como ya he explicado en numerosas ocasiones, no tengo el más mínimo interés en ello, primero porque me gusta escribirlos a mí, y segundo, porque si me los escribiese una inteligencia artificial, no podría discutir cómodamente sobre ellos en mis clases, que es para lo que los escribo), pero sí para ayudarme en el proceso (verificar cosas, buscar citas o referencias, descubrir argumentos más flojos o criticables, etc.) Me parece una herramienta brutal, un auténtico lujo para tener todo mi conocimiento escrito disponible de manera inmediata.
Lo que tengo ahora es algo que pocos autores tienen: un corpus largo, consistente, en un único idioma, vectorizado en su totalidad, con un asistente que lo conoce y puede consultarlo. Un dataset intelectual entrenado sobre mí mismo, gestionado por alguien (algo) que lleva mi nombre en el servidor y que, de momento, parece saber lo que hace. Y todo ello, construido en un ratito, de manera completamente conversacional y sin escribir ni una línea de código. Mi estado mental actual se resume con un emoji: exploding brain 
