Mi archivo como dataset intelectual

IMAGE: A glowing blue brain is at the center of a complex digital network, connected by light trails to icons labeled with technologies and concepts from the article. On either side, a friendly chat bot named "Bautista" represents the conversational interface. The entire diagram illustrates how a personalized, intelligent knowledge base is built from a user's digital archives, including AI analysis and automated updates

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 🤯


This article is openly available in English on Medium, «How I turned 14 years of Medium articles into a personal AI knowledge base»

9 comentarios

  • #001
    Francisco Menendez - 16 marzo 2026 - 10:28

    Muchas gracias por compartir Enrique, muy interesante

    Responder
  • #002
    Aficionao - 16 marzo 2026 - 11:35

    Cuando lleves un par de meses de uso, podrías hacer una entrada con tus impresiones, posibles mejoras y pasta gastada en tokens de Claude por favor? Yo tengo algo parecido, pero en local, con Claude Code, vector db y obsidian

    Responder
  • #003
    Víctor Gómez - 16 marzo 2026 - 11:36

    Qué chulo suena el invento, tengo que probar a crear el mio con todo el contenido que tengo en obsidian

    Responder
  • #004
    JM - 16 marzo 2026 - 14:17

    Muchas gracias Enrique por comentarlo.

    Me has dado la idea de ver si es posible construir uno o varios asistentes personales que me ayuden a organizar, gestionar y facilitar la adquisición de conocimientos sobre la gran cantidad de temas diversos que me interesan, desde tecnología, ingeniería y domótica a historia pasando por geopolítica, temas militares, juegos de varios tipos y terminando en chapuzas varias.

    He almacenado a lo largo de los años tanta información en diversos formatos digitales que es un dolor gestionarla, pero quizás lo que has hecho me podría servir para destilarla y generar algo aprovechable a partir de este gran cajón de sastre.

    Responder
    • Abelardo Ojeda - 16 marzo 2026 - 15:59

      Según entiendo, eso es justo lo que hace NotebookLM de Google. Deberías probar abrir uno y ver si te funciona.

      Responder
  • #006
    Xaquín - 16 marzo 2026 - 14:23

    «algo conceptualmente navegable» (EDans).

    Hoy me quedo con esta virguería. Hacer navegable un mar como internet, con demasiado sargazo, resulta muy animoso.

    Aunque el resto me suene a chino (mandarín o cualquier otra variante).

    Ya no le saco mucha miga, pero me atrae mucho también ese otro párrafo : «construido en un ratito, de manera completamente conversacional» (ED). El ratito será algo «exagerao», pero lo de conversacional me flipa.

    Responder
  • #007
    BUZZWORD - 16 marzo 2026 - 15:14

    Ahora estas como el emoji «muestrame el chow chow negro» pero cuando tu mente procese la novedad de tener un RAG… igual le puedes echar un ojo al software «index your files»

    https://www.portablefreeware.com/?id=1177

    La estrategia personal no se debe centrar en la herramienta sino en tus necesidades propias.

    Lo que has conseguido, este fin de semana es similar a lo que se podía hace una década con cualquier SW, por ejemplo ahora los usuarios de MAC puede que tengan sus bragas mojadas con el RAG que has explicado, pero ¿no era eso lo que prometía spotlight? ¿No conseguiamos lo mismo con iyf?…

    Si pero hay algo en el que RAG supera a esos SW y es en ofrecer texto que parece humano de una búsqueda…. No nos engañemos que «parece», pero como hagas pruebas a fondo veras que simplemente ese embedding de 768 dimensiones, es una aproximación, todo en la IA es una aproximación estadística.

    Hazte una pregunta ¿obtienes de tu RAG una aproximación estadística al error que comete al hacer «retrieve» de tus posts, porque no obtiene lo que estás buscando, obtiene lo que encuentra con su algoritmo. ¿Que tasa de fallos tiene?¿se puede medir?….

    Usa el sistema, putealo con búsquedas que debería encontrar y no encuentra. Cuando usas un LLM (local) de pocos parámetros la consecuencia es que falla más, esos fallos no los noté con el sistema notebookLM pero si los note usando langchain + chromadb + qwen2.5. Lo bueno de hacerte tu el RAG es que eliges el método(algoritmo) de recuperación de la información, y luego le pones un buen prompt, y customizas la salida,…que a veces falalba al ser un 8B…

    Pero al final lo que conseguis es localizar el documento madre, joder pero para eso ya tengo el buscador iyf….

    Nos ciega la herramienta basada en IA?????

    En mi caso me sorprendio NotebookLM que funcionaba de miedo sin hacer gran cosa…

    Responder
  • #008
    Juan T. - 16 marzo 2026 - 18:43

    Cuando yo pueda hacer lo mismo , con mis pocos conocimientos , sin la ayuda de ningun amigo mas listo que yo, con solo decirle a la IA «hazme lo mismo que se ha hecho EDans»….sabré que ha llegado la AGI.

    Responder
  • #009
    D. FALKEN - 16 marzo 2026 - 19:16

    Que envidia Enrique… leyendote se siente uno de repente en la edad de piedra X-DDD
    – El partir de un dataset limpio y estructurado como el tuyo facilita mucho las cosas.
    – Lo de escoger el corpus en inglés me da que pensar si lo haces tambien para que el modelo de embeddings funcione mejor.
    – Lo de openclaw… yo de momento no me atrevo, aunque se pueda probar en un entorno sandbox.

    Building a RAG Pipeline with OpenClaw: The Complete 2026 Guide.

    OpenClaw RAG Setup: From Zero to Semantic Search in 10 Minutes.

    Responder

Dejar un Comentario a Juan T.

Los comentarios en esta página están moderados, no aparecerán inmediatamente en la página al ser enviados. Evita, por favor, las descalificaciones personales, los comentarios maleducados, los ataques directos o ridiculizaciones personales, o los calificativos insultantes de cualquier tipo, sean dirigidos al autor de la página o a cualquier otro comentarista. Estás en tu perfecto derecho de comentar anónimamente, pero por favor, no utilices el anonimato para decirles a las personas cosas que no les dirías en caso de tenerlas delante. Intenta mantener un ambiente agradable en el que las personas puedan comentar sin temor a sentirse insultados o descalificados. No comentes de manera repetitiva sobre un mismo tema, y mucho menos con varias identidades (astroturfing) o suplantando a otros comentaristas. Los comentarios que incumplan esas normas básicas serán eliminados.

 

XHTML: Puedes utilizar estas etiquetas: A ABBR ACRONYM B BLOCKQUOTE CITE CODE DEL EM I Q STRIKE STRONG IMG

Cancelar respuesta

Resumen de privacidad

Este sitio web utiliza cookies para que pueda ofrecerte la mejor experiencia de usuario/a posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves al sitio web o ayudar a comprender qué secciones del sitio web encuentras más interesantes y útiles.