Al archivo llms.txt que guía a los modelos de IA por tu sitio web

Imagina que un asistente de IA llega a tu sitio web. Tiene que navegar por páginas llenas de menús, anuncios y HTML complejo para encontrar la información importante. ¿No sería genial darle un atajo, una especie de “chuleta” que le resuma lo esencial? Ahí es donde entra en juego llms.txt, un archivo de texto diseñado específicamente para ayudar a las IA (particularmente los modelos de lenguaje grandes, o LLMs) a entender mejor el contenido de tu sitio. En este artículo conversacional (y un poco divertido), exploraremos qué es llms.txt, por qué surgió, cómo usarlo y algunas buenas prácticas para implementarlo. ¡Vamos a ello!

¿Qué es llms.txt y de dónde salió?

llms.txt es un estándar propuesto (aún no oficial) que funciona como un manual de instrucciones para las IA cuando visitan tu web. La idea fue sugerida por Jeremy Howard en septiembre de 2024, con el fin de solucionar un problema muy actual: los modelos de lenguaje tienen ventanas de contexto limitadas y les cuesta abarcar sitios web enteros en sus respuestas.

En pocas palabras, a una IA se le complica leer toda tu documentación si está dispersa en decenas de páginas; además, extraer el texto útil de un HTML con navegaciones, anuncios y scripts es difícil e impreciso. llms.txt viene al rescate proporcionando una versión condensada y estructurada de la información clave de tu sitio, lista para ser digerida por un modelo de lenguaje (GitHub – AnswerDotAI/llms-txt: The /llms.txt file, helping language models use your website).

Para entenderlo mejor, puedes pensar en llms.txt como el equivalente a un “mapa para IA”: en lugar de que la IA explore a ciegas, le damos un archivo en formato Markdown con un resumen del proyecto, la estructura de la documentación y enlaces directos a contenido relevante (idealmente en texto plano o Markdown). Esto permite que la IA encuentre rápido la información que necesita y la entienda en contexto, sin perderse en detalles irrelevantes. Es importante destacar que llms.txt está pensado sobre todo para uso en tiempo de inferencia, es decir, cuando una persona le pide algo a la IA y esta necesita consultar información al vuelo, más que para entrenamiento masivo de modelos. En resumen: nació para que los chatbots y asistentes puedan usar mejor tu contenido cuando lo necesiten, superando las limitaciones de contexto.

El concepto despegó rápidamente. A finales de 2024, algunos proveedores de documentación empezaron a adoptarlo. Por ejemplo, el servicio de docs Mintlify habilitó soporte para llms.txt en noviembre de 2024, lo que de un plumazo volvió “LLM-friendly” miles de páginas de documentación de herramientas de desarrollo (LLMs.txt Explained | TDS Archive). Poco después, empresas como Anthropic (creadores del modelo Claude) anunciaron en X/Twitter su apoyo al estándar, mostrando sus propios archivos llms.txt y llms-full.txt publicados en su web (LLMs.txt Explained | TDS Archive). La comunidad tech reaccionó creando directorios para recopilar sitios que usan llms.txt (LLMs.txt Explained | TDS Archive), y la bola de nieve comenzó a crecer. Hoy en día (2025), aunque llms.txt sigue siendo propuesta, ya forma parte del ecosistema web: numerosos proyectos lo utilizan para mejorar la interacción de las IA con sus contenidos.

(The /llms.txt file – llms-txt) Logo conceptual de llms.txt. Este estándar propuesto surgió para ayudar a las IA a navegar documentación y contenido web de forma más inteligente.

 

LLMs y sus “crawlers”: ¿cómo encaja llms.txt en el ecosistema?

Seguramente conoces el archivo robots.txt, que indica a los crawlers tradicionales (como Googlebot) qué pueden o no pueden rastrear en tu sitio. Con la llegada de modelos de lenguaje tipo GPT-4 o Claude, aparecieron nuevos “bots” enfocados en recopilar datos para estas IAs. Por ejemplo, OpenAI lanzó GPTBot, que recorre la web para posible entrenamiento de ChatGPT (y al cual puedes bloquear o permitir vía robots.txt) (How to Opt Out of GPTBot: A Guide for Libraries – Artefacto). Entonces, ¿llms.txt reemplaza a robots.txt? No, para nada. Son cosas distintas y de hecho complementarias.

Mientras que robots.txt se centra en qué partes de tu sitio pueden acceder los bots, llms.txt se enfoca en cómo entender el contenido que pueden acceder. Puedes verlo así: robots.txt es el guardia de la puerta (“No pases por aquí, bot”), y llms.txt es el guía turístico que toma de la mano a la IA una vez que está dentro, mostrándole lo más importante. Un crawler de IA como GPTBot obedecerá (esperemos) a robots.txt para no entrar donde no debe, pero cuando entre a tu documentación, agradecería tener un llms.txt esperándolo con un resumen y enlaces clave.

Actualmente, los LLMs no descubren automáticamente los llms.txt (no al menos en la mayoría de implementaciones públicas) (LLMs.txt Explained | TDS Archive). Es decir, ChatGPT o Claude no van a llamar por sí solos al archivo llms.txt de cada web a menos que alguien se lo proporcione. Sin embargo, algunas empresas sí han integrado este concepto en sus flujos. Anthropic, por ejemplo, publicó en su documentación oficial tanto un llms.txt (con la navegación estructurada) como un llms-full.txt que concatena todo el contenido de sus docs en un texto plano enorme. Esto último es útil para cargar de golpe la documentación en un prompt de Claude u otra IA. Otras compañías de IA conocidas también se han sumado: ElevenLabs (texto a voz) y Pinecone (plataforma de vectores) pusieron a disposición archivos similares en sus sitios de docs. Que estas empresas punteras adopten el estándar muestra que la idea va en serio y no es solo hype.

¿Y OpenAI? Por ahora, OpenAI no ha publicado un llms.txt para su propia documentación (al menos al momento de escribir esto). Su acercamiento inicial fue más sobre controlar el entrenamiento (vía GPTBot y reglas en robots.txt) que sobre ofrecer resúmenes para inferencia. Pero no sería sorprendente que más adelante también aprovechen esta tendencia. De hecho, ya hay cientos de sitios en la web (más de 450 sitios para marzo de 2025) que tienen un llms.txt en producción, incluyendo muchas herramientas para desarrolladores. Todo apunta a que si los chatbots como ChatGPT empiezan a usar estos archivos de forma más automatizada, quienes los implementaron temprano tendrán una ventaja en visibilidad y precisión. En otras palabras, llms.txt podría ser la pieza que conecte tu sitio con las IAs de forma más directa, igual que el SEO conecta con Google.

Cómo implementar llms.txt en tu sitio web

Pasemos a la parte práctica. ¿Quieres crear un llms.txt para tu web? No te preocupes, no es ciencia de cohetes. A continuación te explico dónde colocarlo, cómo escribirlo y te muestro un ejemplo sencillo.

Ubicación del archivo

Por convención, el archivo debe estar en la raíz de tu sitio, es decir, accesible en la URL https://tu-dominio.com/llms.txt. Si tu proyecto tiene la documentación en un subdominio o ruta separada (por ejemplo docs.midominio.com o midominio.com/docs/), entonces coloca el llms.txt en la raíz de esa sección. La especificación permite que opcionalmente viva en un subpath si la documentación no está en la raíz principal (GitHub – AnswerDotAI/llms-txt: The /llms.txt file, helping language models use your website). Lo importante es que la URL sea predecible, similar a como usamos /robots.txt o /sitemap.xml.

En muchos casos, también querrás ofrecer un llms-full.txt junto al principal. Este segundo archivo (colocado igualmente en la raíz, p. ej. /llms-full.txt) contiene todo el contenido relevante de tu documentación en un solo fichero Markdown (Getting Started with llms.txt). Piensa en llms.txt como la tabla de contenidos resumida y en llms-full.txt como el libro completo. Si tus docs son extensos, un llms-full.txt permitirá a la IA buscar directamente en el texto completo cuando necesite máximo detalle. Por ejemplo, Anthropic publica ambos: su índice en llms.txt y todos los docs concatenados en llms-full.txt (What is LLMs.txt? Definition & How it works – Large Language Models (LLMs) & Generative AI – LiveChatAI Community). No es obligatorio tener el full, pero es recomendable para proyectos con mucha documentación.

Sintaxis y estructura de llms.txt

El formato de llms.txt es Markdown plano, con una estructura específica para que tanto humanos como máquinas lo entiendan fácilmente. ¡Ojo! Que tenga extensión “.txt” es un guiño a robots.txt, pero dentro va Markdown bien formateado. Las reglas básicas de contenido son:

  • Título del proyecto: Debe comenzar con un encabezado de nivel 1 (#) que indique el nombre del proyecto o sitio. Este es el único elemento obligatorio.
  • Resumen en bloque citado: A continuación, se incluye un breve resumen del proyecto en un bloque de cita (> en Markdown). En uno o dos renglones deberías dar contexto clave para entender de qué va tu sitio o documentación.
  • Detalles adicionales (opcional): Puedes agregar párrafos de texto normal después del resumen, para mencionar información importante o notas de cómo navegar la docu. Aquí se puede incluir cualquier Markdown menos nuevos encabezados (por ejemplo, listas, texto en negrita o cursiva, etc.).
  • Secciones con enlaces: Luego vienen secciones delineadas por encabezados de nivel 2 (##). Cada sección representa un grupo de recursos o páginas. Por ejemplo, “## Guía Rápida”, “## API Reference”, “## Tutoriales”, etc., según cómo esté organizada tu documentación.
  • Listas de archivos por sección: Bajo cada H2, se listan los enlaces Markdown a los recursos relevantes. Cada ítem de la lista debe tener el formato [Título del Recurso](URL): Descripción opcional. Es decir, un hipervínculo con el nombre de la página/doc y, tras dos puntos, una breve descripción que ayude a la IA (y al lector) a saber qué encontrará ahí.
  • Sección “Optional” (Opcional): Si quieres, al final puedes incluir una sección titulada «Optional» (como encabezado H2) donde listar material adicional o menos importante. La idea es que, si una IA anda justa de espacio en su ventana de contexto, pueda omitir todo lo bajo «Optional» para centrarse solo en lo principal. Usa esta sección para enlaces que son útiles pero no críticos.

En la práctica, se ve así en un ejemplo mínimo:

# MiProyecto  
> Plataforma para gestionar X e implementar Y de forma eficiente.  

Información adicional opcional sobre el proyecto, versiones, contacto, etc.  

## Documentación Principal  
- [Guía de Inicio Rápido](https://mi-proyecto.com/docs/quickstart.md): Cómo configurar y usar lo básico.  
- [Referencia de API](https://mi-proyecto.com/docs/api.md): Detalles de todas las funciones y endpoints.  

## Tutoriales  
- [Ejemplo Completo](https://mi-proyecto.com/docs/tutorial-completo.md): Paso a paso integrando la API en una app real.  

## Optional  
- [Changelog](https://mi-proyecto.com/docs/changelog.md): Historial de cambios de versiones.  
- [FAQ](https://mi-proyecto.com/docs/faq.md): Preguntas frecuentes de usuarios.

En este snippet hipotético, vemos un encabezado con el nombre MiProyecto, un resumen citado describiendo la plataforma, algo de texto adicional, y luego secciones para la documentación principal, tutoriales y opcionales. Cada sección tiene una lista de enlaces a archivos Markdown (.md) con descripciones. Notarás que usamos URLs apuntando a versiones Markdown de las páginas (por ejemplo quickstart.md en lugar de la página HTML). Esto es intencional: la especificación sugiere que proveas versiones en texto plano o Markdown de tus páginas si es posible, añadiendo “.md” a la URL original. De esa forma, la IA puede ir directamente al contenido limpio sin el ruido del HTML. Si tu sitio no soporta servir .md directamente, otra opción es usar enlaces a repositorios (por ejemplo, archivos README en GitHub) o a gists que contengan lo mismo que la página, pero en formato simplificado.

Importante: Mantén las descripciones concisas y claras. El objetivo es que un modelo de lenguaje pueda leer tu llms.txt rápidamente y saber qué hay en cada parte (The /llms.txt file – llms-txt). Evita jerga confusa o explicaciones demasiado largas en este archivo. Ya habrá enlaces a documentación extensa; aquí queremos el mapa, no el territorio. Piensa en términos de “¿Qué información mínimo necesita la IA (o un dev) para orientarse en mis docs?”

Ejemplo real: llms.txt en acción

Para aterrizar ideas, veamos un par de ejemplos reales de llms.txt que ya están publicados:

  • Anthropic (Claude): La documentación de Anthropic tiene un llms.txt que lista secciones como “API Guides”, “SDKs”, etc., y un llms-full.txt con todo el contenido de sus guías y referencias en un solo texto. Esto permite, por ejemplo, que un desarrollador copie y pegue esa información en ChatGPT o Claude para hacerle preguntas sobre la API de Anthropic con contexto completo.
  • ElevenLabs (API de voz): ElevenLabs, conocido por su API de síntesis de voz, también ofrece sus docs en este formato. Si visitas elevenlabs.io/docs/llms.txt encontrarás un índice de su documentación, y en llelevenlabs.io/docs/llms-full.txt todo el texto unificado. Este es otro caso de uso: asegurarse de que herramientas de IA puedan aprender rápidamente cómo usar su API leyendo estos archivos.
  • Pinecone (Base de datos vectorial): Pinecone es un servicio muy usado en aplicaciones de IA, y sus devs también publicaron un llms-full.txt con toda la documentación. Esto demuestra que incluso empresas cuyo producto es infraestructura para IA ven valor en facilitar el acceso de las mismas IA a su documentación.
  • Codeium (herramienta de autocompletar código): Codeium, un asistente de código estilo Copilot, incorporó llms.txt en sus docs (hosteadas por Mintlify). Al hacerlo, permite que editores de código con IA u otras integraciones (por ejemplo, la herramienta Cursor AI en VSCode) indexen fácilmente sus documentos y den respuestas más acertadas a los desarrolladores.

La lista sigue creciendo. Proyectos como dotenvx, Pinata, Langfuse, WordLift, entre muchos otros, ya tienen este archivo en sus sitios. Existen incluso directorios públicos donde puedes curiosear ejemplos de llms.txt de decenas de empresas y librerías. Por ejemplo, (LLMs.txt Explained | TDS Archive) menciona directory.llmstxt.cloud y llmstxt.directory, donde la comunidad recopila enlaces a implementaciones reales. A marzo de 2025 se contabilizaban más de 450 sitios usando el estándar, ¡y la cifra sube cada semana!

Cada proyecto adopta llms.txt a su manera, pero leyendo algunos verás un patrón común gracias a la especificación. Esto es bueno: una vez que entiendes uno, puedes entenderlos todos, igual que pasa con robots.txt. Al final del día, el objetivo es que si un desarrollador (o su amigable IA) abre midominio.com/llms.txt, obtenga un paneo general de la documentación sin rodeos.

 

Buenas prácticas y advertencias al usar llms.txt

Como toda herramienta nueva, llms.txt conlleva ciertas consideraciones para sacarle el máximo provecho sin contratiempos. Aquí te resumimos buenas prácticas y algunas advertencias:

  • Mantén el contenido actualizado: Asegúrate de actualizar tu llms.txt (y el llms-full.txt si lo tienes) cada vez que cambie tu documentación. Un archivo desactualizado podría confundir a la IA o hacerla referenciar endpoints que ya no existen. Considera automatizar la generación del archivo como parte de tu pipeline de deploy de docs.
  • Sé claro y conciso: Utiliza lenguaje directo y evita párrafos largos. Recuerda que este archivo es para consumo rápido. Frases cortas y descriptivas funcionan mejor que texto florido. Por ejemplo, en lugar de “Esta sección detalla las múltiples funcionalidades del sistema X con ejemplos ilustrativos”, podrías decir “Descripción de las funciones de X con ejemplos”.
  • Incluye descripciones en los enlaces: No pongas simplemente una lista de URLs. Añade una breve descripción tras cada uno para dar contexto. Esto ayuda a desambiguar cuando el nombre del enlace no lo dice todo. Por ejemplo: “- [Auth API](link): Cómo autenticar usuarios y obtener tokens” es más informativo que solo “Auth API”.
  • Usa la sección “Optional” sabiamente: Coloca en Optional aquellos enlaces que no son críticos para entender tu proyecto. De este modo, si una IA tiene que recortar contexto, sabrá que puede omitir esa parte primero. Ejemplos típicos para “Optional” serían el changelog, listas de patrocinadores, o documentación de terceros. Todo lo esencial debe estar antes.
  • No abuses del tamaño de llms-full.txt: El archivo completo puede llegar a ser gigante (¡decenas de miles de palabras!). Por ejemplo, el de ElevenLabs supera los 120k tokens según reportes públicos. Si tu doc es enorme, valora si realmente una IA podría manejarlo de un tirón. Podrías segmentarlo por temas (p. ej. varios llms-full por sección) o confiar más en un buen índice en llms.txt. Recuerda: las IAs actuales tienen límites de contexto; un llms-full.txt demasiado grande quizá necesite trocearse antes de usarlo.
  • Herramientas de generación: Si tu documentación es extensa, no escribas el llms.txt a mano desde cero. Hay herramientas que te facilitan la vida. Por ejemplo, existen generadores automáticos como el de Firecrawl o el de Apify que recorren tu sitio y producen un borrador de llms.txt. También hay iniciativas open-source e incluso extensiones de VSCode para manejar llms.txt. Úsalas como base y luego refina el resultado para que quede entendible.
  • No es un reemplazo de la documentación tradicional: Ten en cuenta que llms.txt no sustituye la necesidad de tener buena documentación web para humanos. Sigue haciendo tu mejor esfuerzo en escribir docs claras y organizar tu sitio. El archivo para IA es un suplemento, no la fuente principal. Piensa que incluso los modelos de lenguaje al final entregan respuestas a personas, y tu documentación web seguirá siendo consumida directamente por devs de la vieja usanza.
  • Cuidado con información sensible: Aunque obvio, vale decirlo: no pongas en llms.txt nada que no sea público. Este archivo es público (cualquiera puede ir a la URL y verlo) y está pensado para contenido abierto. No querrás, por ejemplo, listar URLs privadas o apuntar a documentos internos. Si ciertas partes de tu sitio no son para ojos de todos, probablemente tampoco deban incluirse en la “guía para IA”.
  • Las IA aún no lo leen solas (por ahora): Como mencionamos, actualmente debes alimentar manualmente el llms.txt o llms-full.txt a la IA en cuestión (ya sea copiando y pegando en el chat, o usando alguna integración) (LLMs.txt Explained | TDS Archive). No asumas que por crear el archivo, ChatGPT mágicamente lo incorporará. Por tanto, puedes plantearte ofrecer instrucciones a tus usuarios: por ejemplo, un mensaje en tu README o docs diciendo “¿Quieres consultar esta documentación con ChatGPT? Prueba copiando el contenido de nuestro llms-full.txt en la conversación.”. Esto mientras llega el día en que los grandes modelos empiecen a rastrear solos estos archivos.

llms.txt ha emergido como una respuesta ingeniosa a un reto moderno: cómo hacer nuestros sitios más accesibles y comprensibles para las inteligencias artificiales. En un entorno donde la información ya no solo la buscan humanos vía buscadores, sino también IAs para asistirnos, tiene mucho sentido darles una “hoja de ruta”. Para los desarrolladores web, adoptar llms.txt es relativamente sencillo y puede suponer una gran diferencia en cómo nuestros proyectos son entendidos y aprovechados por herramientas de IA.