- Os websites são usados não apenas para fornecer informações a pessoas, mas também a LLMs
- LLMs são usados para aprimorar ambientes de desenvolvimento utilizados por programadores, incluindo opções que coletam informações sobre bibliotecas de programação e APIs a partir da documentação em websites
- Fornecer informações para LLMs é um pouco diferente de fornecer informações para pessoas, mas há muita sobreposição
- Em geral, preferem informações em um formato mais conciso
- Como conseguem coletar muitas informações rapidamente, ajuda reunir todos os pontos principais em um só lugar
- A janela de contexto dos LLMs é pequena demais para processar um website inteiro, e é difícil converter páginas HTML complexas em documentos de texto simples amigáveis para LLMs
- Portanto, é necessário um modo de identificar as informações mais importantes a serem fornecidas a assistentes de IA e oferecê-las no formato mais apropriado
Proposal
- Propõe-se que quem quiser fornecer conteúdo amigável para LLMs adicione um arquivo
/llms.txt ao site
- Trata-se de um arquivo Markdown com informações básicas e instruções simples, incluindo links para arquivos Markdown com informações mais detalhadas
- Ele pode ser usado para fornecer as informações necessárias para usar uma biblioteca ou como parte de uma pesquisa para aprender sobre uma pessoa ou organização
- O Markdown de
llms.txt pode ser lido por pessoas e por LLMs, mas também permite processamento de formato preciso
- O arquivo
llms.txt pode ser usado em vários cenários
- No caso de bibliotecas de software, ele fornece uma visão geral estruturada da documentação para que o LLM encontre facilmente funções específicas ou exemplos de uso
- Em websites corporativos, pode descrever em linhas gerais a estrutura da organização e as principais fontes de informação
- Informações sobre novas leis, bem como o contexto e os antecedentes necessários, podem ser organizadas em um arquivo
llms.txt para ajudar as partes interessadas a compreendê-las
- Websites de portfólio pessoal ou CV podem ajudar a responder perguntas sobre a pessoa
- No e-commerce, pode resumir categorias de produtos e políticas
- Instituições educacionais podem usá-lo para resumir ofertas de cursos e recursos
Formato do arquivo llms.txt
- O formato do arquivo
llms.txt fornece uma estrutura de informações usando Markdown, que é fácil para modelos de linguagem entenderem
- Este arquivo usa Markdown em vez de formatos estruturados tradicionais (por exemplo, XML), porque os principais leitores do arquivo são modelos de linguagem e agentes
- O arquivo
llms.txt pode ser lido por ferramentas de programação padrão e é organizado de acordo com um formato específico
- Cabeçalho H1: inclui o nome do projeto ou site e é a única seção obrigatória.
- Bloco de citação: inclui um breve resumo do projeto e fornece as informações principais necessárias para entender o restante do arquivo.
- Seções em Markdown: fornecem informações detalhadas e podem incluir vários tipos de seções, como parágrafos e listas, mas não incluem headings adicionais.
- Seção de lista de arquivos separada por cabeçalhos H2: inclui uma lista de URLs que fornecem informações adicionais; cada item é escrito no formato de link Markdown
[nome](URL) e pode opcionalmente incluir uma descrição.
- Exemplo de arquivo
# Título do projeto
> Uma descrição opcional do projeto entra aqui
Detalhes opcionais entram aqui
## Nome da seção
- [Título do link](https://링크_URL): Descrição opcional do link
## Optional
- [Título do link](https://링크_URL)
- Seção "Optional": tem um significado especial; quando for necessário apenas um contexto curto, essas URLs podem ser omitidas. Ela contém informações secundárias que podem ser frequentemente deixadas de fora.
Coexistência com padrões existentes
llms.txt foi projetado para funcionar junto com os padrões web existentes
- Enquanto os sitemaps listam todas as páginas para mecanismos de busca,
llms.txt fornece uma visão geral curada para LLMs (grandes modelos de linguagem)
llms.txt é complementar ao robots.txt e pode fornecer contexto sobre o conteúdo permitido
- Também pode fazer referência à marcação de dados estruturados usada no site para ajudar o LLM a entendê-la e interpretá-la
- O caminho do arquivo é padronizado da mesma forma que
/robots.txt e /sitemap.xml
- robots.txt e llms.txt têm finalidades diferentes
- robots.txt: é usado para que ferramentas automatizadas (por exemplo, bots de indexação de busca) entendam até onde o acesso ao site é permitido
- llms.txt: é usado principalmente quando um usuário solicita explicitamente informações sobre um tema específico. Por exemplo, é útil ao incluir a documentação de uma biblioteca de código em um projeto ou ao pedir informações a um chatbot com função de busca
- Espera-se que
llms.txt seja útil principalmente para inferência (inference). Ele será usado no momento em que o usuário precisar de ajuda e não se espera que seja usado para treinamento (training). No entanto, se o uso de llms.txt se tornar amplamente difundido, também pode haver a possibilidade de essas informações serem aproveitadas em processos de treinamento no futuro
- Diferenças em relação ao sitemap.xml
- sitemap.xml: lista todas as informações indexáveis e legíveis por humanos do site
llms.txt não é um substituto para sitemap.xml:
- Pode não incluir versões das páginas legíveis por LLM.
- Não inclui URLs de sites externos que possam ser úteis para entender as informações.
- Em geral, inclui documentos grandes demais para caber na janela de contexto de um LLM, além de muitas informações desnecessárias para compreender o site.
llms.txt pode funcionar como uma ferramenta otimizada para que modelos de linguagem acessem informações específicas e compreendam o contexto
4 comentários
Acho que daria para simplesmente estender o
robots.txt... Será que é mesmo necessário dar um status especial aos crawlers para LLM?Eu preferiria que os user-agents dos crawlers de LLM fossem mais organizados... mas como o próprio user-agent já está meio com os dias contados, fica meio ambíguo.
PS 1. Se é
.txt, por que é Markdown? Eu também gosto bastante de Markdown, mas precisava mesmo...O nome
llmsparece um pouco incômodo, porque dá a impressão de ser uma interface para uma tecnologia específica...Pois é. Em vez de criar outro padrão estranho e com utilidade muito limitada, talvez não fosse melhor usar ou estender padrões já existentes, como o JSON-LD?
Se isso se espalhar amplamente, então vai dar para impedir que um LLM use o meu site com um arquivo
llms.txtapropriado.Por exemplo, fornecendo informações totalmente diferentes e sem sentido,
ou informações tão grandes a ponto de consumir todo o contexto do LLM.