LLMs.txtについての覚書
LLM時代のWebアクセスとは
世は大LLM時代。皆が元気にTavilyでWebクロールしたり、AI AgentでガンガンDeep Researchする時代は、人間用のWebサイトにえげつない負荷を与えているのであった。
そんな時に「仕様を1枚のテキストにまとめたよ!」みたいな情報が時々流れてくるが、これはLLMs.txt
というらしい。恥ずかしながら仕様の存在を知らなかったので、勉強がてらにまとめてみる。
LLMs.txt?
Answer.AI の Jeremy Howard 氏が2024/9/3に提案したのが発端のようだ。
LLMs.txtはLLM(推論エンジン)向けの課題を解決するための提案である。LLMのコンテキストウィンドウの制限に対応したり、不要なマークアップやスクリプトを削除し、AI処理に最適化された構造でコンテンツを提供できる。ということらしい。シングルファイルなのでCDNにポン置きできるし、人間用のサイトへの負荷も減らせていいように思う。
ある意味当然なのだが、このサイトにもhttps://llmstxt.org/llms.txt
があり、本記事もそこからの知識をNotebookLMに突っ込んでインプットにしている。(なので便利さを理解している。)
他ファイルとの位置づけ
説明を見ていると検索エンジン用のファイルを思い出すが、役割の違いを再確認する。
- robots.txt
- 検索エンジンのクローラーのアクセスを制御するもの
- sitemap.xml
- インデックス可能なページのリスト
分類
LLMs.txtは厳密にはllms.txt
とllms-full.txt
の2種類がある。
llms.txt
サイトの構造をLLMに伝えるためのサマリー的な役割のファイル。
ファイルのFormatはうっすら決まっていて、概ねこんな感じ。
# Title
> Optional description goes here
Optional details go here
## Section name
- [Link title](https://link_url): Optional link details
## Optional
- [Link title](https://link_url)
- H1 プロジェクト名から始める
- Documentのリンク集をMarkdown形式で列挙する
- 優先度の低い項目を
Optional
として下部にまとめる
llms-full.txt
Markdown形式のサイト情報を表す完全なドキュメント。コンテキストの限り突っ込むならこちらのファイルを使う。
具体例としてAntropic, Cloudflareのものを共有する。(すごいテキスト量だ!)
具体例
/llms.txt directory
というサイトがあって、先ほど挙げたものだけでなく、Perplexity、Cursor、DuckDBなど著名なプロダクト・サービスのLLMs.txtを読むことができる。
LLMs.txtの使い方
AI Agentに使わせるのもいいが、NotebookLMに食わせるとシンプルに強い。(Twitterで見た使い方)
仕様について雑に聞き放題の先生が作れる。
課題
LLMs.txtは使われているとはいえ標準とまでは達していないため、AI AgentにLLMs.txtを渡すスマートな方法はないらしく、当面は手動で扱う運用になりそうだ。
一応Python用のモジュールは見つけた。
LLM利用者的には「こういう概念があるので、RAGや解説物をLLMにさせるときはLLMs.txtを探そう」と理解しておけば良さそう。
サービス提供者側がすぐ公開しないとマズい、という性格のものではないが、動向は意識しておくと良いのだろう。
参考
以下の記事があるので参考にした。
Discussion