← BIBLIOTECA

INFRAESTRUCTURA

Negociacion de contenido para agentes de IA: servir markdown con el header Accept

Los agentes de IA queman la mayor parte de su presupuesto de tokens interpretando HTML disenado para navegadores. La negociacion de contenido permite que la misma URL sirva una version limpia en markdown cuando un agente la pide, sin tocar lo que ven humanos y bots de busqueda. Asi se hace bien, y este es el error a evitar.

Una pagina web moderna es en su mayor parte no-contenido. Marcado de framework, estilos, scripts y andamiaje de navegacion envuelven unas pocas cientos de palabras de sustancia real. Los humanos nunca ven el envoltorio. Un agente de IA que descarga la pagina tiene que cargar todo eso en su ventana de contexto antes de poder usar nada.

Las renditions en markdown resuelven esto: una version limpia y estructurada de cada pagina, una fraccion del tamano, con la sustancia intacta. La pregunta interesante no es si ofrecerlas sino como un agente las encuentra y las recibe.

El header Accept es el disparador correcto

HTTP tiene la respuesta desde el principio: negociacion de contenido. El cliente declara que formatos acepta; el servidor elige la mejor representacion del mismo recurso. Un agente que quiere markdown envia Accept: text/markdown a la URL canonica y recibe la rendition en markdown, con el content type correcto y un header Vary: Accept para que las caches mantengan separadas las representaciones. Todos los demas que piden la misma URL reciben HTML completo.

El descubrimiento es explicito, no supuesto: cada pagina declara su rendition con un tag link rel alternate apuntando a la ruta markdown, y un sitemap de markdown lista todas las renditions en un solo lugar. Un agente puede negociar, seguir el enlace o descargar la ruta .md directamente.

El error: disparar por user agent

El atajo tentador es detectar user agents de bots y forzar markdown a todo lo que parezca un crawler de IA. En pruebas en vivo esto rompe de una forma concreta y danina: los fetchers detras de la busqueda con IA y de la navegacion activada por usuarios esperan HTML, porque sus pipelines de extraccion estan construidos para HTML. Si les fuerzas markdown, sus extractores pueden volver vacios. El sitio se vuelve menos visible justo para los sistemas que la capa debia servir.

La regla que se deriva: negociar solo con el header Accept. Los agentes que piden markdown reciben markdown. Cada bot que no lo pide recibe lo que su pipeline espera, lo que lleva al segundo requisito.

El HTML prerenderizado sigue siendo el valor por defecto

Una capa markdown es un complemento, no un sustituto. La representacion por defecto de cada ruta debe ser HTML renderizado en servidor y completamente poblado, porque la mayoria de los fetchers relacionados con IA no ejecutan JavaScript y nunca envian un Accept de markdown. Una carcasa JavaScript con un nodo raiz vacio es invisible para ellos por buena que sea la capa markdown.

Las renditions ademas se mantienen como contenido, no como una exportacion. Cuando el copy de una pagina cambia, la rendition cambia en el mismo commit, o los agentes reciben una version obsoleta del sitio mientras los humanos ven la actual.

Funcionando en vivo

Esto no es una propuesta. La capa descrita aqui funciona en produccion en tkmstudio.com: pide cualquier pagina de este sitio con Accept: text/markdown y el servidor devuelve su rendition en markdown, con el recuento de tokens en un header de respuesta, el sitemap referenciado y Vary configurado. La pagina que estas leyendo tiene una. Es la misma capa que entregamos en los builds de clientes.