リファレンス · 読了 10 分

llms.txt の仕様を 1 行ずつ読む

v2 が実際に求めていること、決めていないこと、読み違えやすいところ。

llms.txt の仕様は短い文書です。動機の説明が数段落、 形式の定義が箇条書きで 1 つ、例が 1 つ、ガイドラインが 4 行。 短いからこそ、周りに「こうしなければならない」という俗説がたくさん 育ちました。この記事では規範的な部分を 1 項目ずつ読み、それぞれが 必須なのか、任意なのか、そもそも触れていないのかをはっきりさせます。

2026 年 9 月 23 日に取得した llmstxt.org の本文、つまり 2026 年 8 月に改訂された提案の v2 に基づきます。 2024 年の初版から変わった点は、その都度示します。

30 秒で分かる結論:llms.txt の仕様が求めていること

仕様に沿ったファイルとは、llms.txt という名前の Markdown 文書で、 サイトのルートまたは任意の下位パスに置かれ、次の順で構成されるものです。 任意のバイト順マーク、サイト名またはプロジェクト名の H1、 任意の引用ブロックによる要約、任意の見出しなし自由記述、そして 0 個以上の H2 セクション。各セクションは Markdown のリストで、 項目はリンクと、任意でコロンと注記です。必須なのは H1 だけです。

それ以外の論点、たとえば Content-Type、サイズの上限、llms-full.txt が必須かどうかは、すべて仕様の外です。 この記事の残りは、この 1 文の根拠です。

ファイルの置き場所

仕様の記述はこうです。llms.txt という名前のファイルを、 ルートパスまたは /docs/llms.txt のような任意の下位パスに置く。 ファイルはそのパス配下の URL を説明し、複数のファイルが該当する場合、 エージェントは最も具体的なものを使う。

これは v2 での変更点です。2024 年の本文は下位パスへの設置を許しつつ、 その意味を定めていませんでした。v2 が意味を定義したことで、 共有ホスト上のプロジェクトサイトのように 1 つのパスしか管理できないサイトも 参加できるようになりました。仕様は /.well-known/ を使わなかった 理由も説明しています。well-known URI はオリジンのルートにしか存在できず、llms.txt は index.html と同じように 「自分が置かれたパス」を説明するものだからです。

形式を 1 項目ずつ

形式の定義は 1 つの箇条書きです。各項目が何を意味し、何を意味しないかを 見ていきます。

「任意のバイト順マーク」

ファイル先頭の UTF-8 BOM は許されています。文字コードについて仕様が言うのは これだけで、UTF-8 を名指しせずに前提とし、Content-Type には触れていません。text/plain か text/markdown を UTF-8 で返せば、 大手の採用例と同じです。

「プロジェクトまたはサイト名の H1。これが唯一の必須セクション」

# で始まる 1 行。必須で、しかも唯一の必須要素です。 仕様は「最初の行でなければならない」(BOM が先に来てもよい)とも 「ちょうど 1 つ」とも書いていませんが、意図が単一のタイトルであることは明らかで、 バリデーターは 2 つ目の H1 を少なくとも警告として扱います。

「プロジェクトの短い要約を含む引用ブロック」

> で始まる段落で、仕様の言葉では「ファイルの残りを理解するために 必要な重要情報」を含むものです。厳密には任意で、仕様自身の作例も 「Optional description」と書いています。エージェントにとっては 最も役に立つ 1 行なので、省くのは「合法だが賢くない」選択です。 先週調べた大手 8 本のうち 2 本は省いていました。

「見出し以外の任意の種類の Markdown セクションを 0 個以上」

要約と最初の H2 の間には、段落、リスト、コードブロックまで置けます。 内容は「プロジェクトの詳細と、提供するファイルをどう解釈するか」。 唯一の規則は「見出しを使わない」ことです。見出しを使うとファイルリストが 始まってしまうからです。FastHTML の「覚えておくこと」や Stripe の エージェント向け指示が置かれているのはここです。

「H2 見出しで区切られた、ファイルリストを含むセクションを 0 個以上」

各 ## 見出しがセクション名で、その後に Markdown のリストが続きます。 仕様が言うのは H2 であって H3 ではありません。Anthropic のファイルのように セクション内で H3 で小分けする形は仕様に書かれていませんが、H2 の境界と リスト項目だけを見るパーサーなら問題なく処理します。セクション名は自由で、 慣習的な意味を持つのは「Optional」だけです。

「必須の Markdown リンク、その後に任意でコロンと注記」

リスト項目の書式は - [名前](URL): 注記 です。リンクは必須、 コロンと注記は任意。仕様は「Markdown のリスト」とだけ言い、行頭の記号を 決めていないので * も Markdown としては有効ですが、 作例が使い、厳密なパーサーが期待するのは - です。 URL は自サイトに限られません。仕様は外部サイトへのリンクを、 sitemap にはない利点として明示的に挙げています。

Optional セクションと、v2 で変わったこと

仕様の記述はこうです。Optional セクションは慣習として、二次的な情報、 つまり短い文脈が必要なときにエージェントが読み飛ばしてよいリンクのために使う。

v1 ではこれに実効性がありました。初版はプロンプトを組み立てる際に Optional 以外をすべて含める「文脈展開ツール」を説明していたからです。 v2 はそのツールを提案から外し、それに伴って特別な意味もなくなりました。 Optional セクションは今も許され、有用な慣習として残っていますが、 機械的な意味はもう持ちません。「エージェントは Optional を必ず読み飛ばす」と 書いている解説があれば、それは v1 の説明です。

リンク先のページに仕様が求めていること

ファイルそのものの外に、見落とされがちな推奨が 2 つあります。

  • ページの Markdown 版。エージェントが必要としそうなページは、 同じ URL に .md を付けた形(page.html.md)か 拡張子を置き換えた形(page.md)で、クリーンな Markdown 版を 提供することが推奨されます。ディレクトリ URL では index.html.md または index.md。 v1 は付加形だけを定めていましたが、ツールの実装が分かれたため v2 は両方を 認めました。
  • リンク関係。v2 は発見の仕組みを追加しました。rel="alternate" type="text/markdown" は ページからその Markdown 版を指し、rel="describedby" は そのページを説明する llms.txt を指します。HTML の <link> 要素でも HTTP の Link: ヘッダでもよく、 ヘッダ形式ならページを触らずに CDN で付けられます。
Link: </docs/page.html.md>; rel="alternate"; type="text/markdown", </docs/llms.txt>; rel="describedby"

どちらも、llms.txt が有効であるための要件ではありません。 仕様が「リンクは LLM が読みやすいコンテンツを指すべき」と言うときに 念頭にあるのがこの 2 つです。Markdown 版を用意できないサイトが HTML ページに リンクしても、仕様には沿っています。

仕様が決めていないこと

規則と同じくらい、空白も重要です。ネット上の自信ありげな助言の多くは、 この空白の中にあります。

論点仕様の記述よくある思い込み
Content-Typeなしtext/plain が必須。実際は text/markdown も同じくらい使われている
サイズやリンク数数値はなし。文脈に収まる大きさ、とだけリンク 25 本まで、10 KB までといった固定の上限
llms-full.txt言及なし標準の一部、または必須
どのボットが読むかエージェントが閲覧または検索してリンクを辿る、とだけ。読み手の名指しはなしChatGPT や Google 検索がインデックスする
行頭記号と H3Markdown のリスト、H2 のセクション* の箇条書きや H3 の小見出しは無効
学習と推論主に推論での利用を想定。学習で使われる可能性にも触れる学習の許可や拒否を表明できる

最後の行がいちばん影響の大きいものです。仕様は robots.txt と llms.txt の目的が違うと明言しています。robots.txt は どのアクセスが許容されるかを伝え、llms.txt はエージェントが情報を 必要とした時点で読まれるもの。llms.txt の中の何も、 クロールや学習を制御しません。

4 つのガイドライン

作例の後に、仕様は 4 文の助言を置いています。規範ではありませんが、 ファイルを役立つものにする条件の要約としては最良です。

  • 簡潔で明確な言葉を使う。
  • リソースにリンクするときは、短く情報のある説明を添える。
  • あいまいな用語や説明のない専門用語を避ける。
  • llms.txt だけを出発点として与えたエージェントに、自分のコンテンツについて 質問してテストする。

4 つ目は誰もやらない項目です。そして、このファイルの目的を測れる唯一のテストでも あります。

この規則に照らしてファイルを確認する

バリデーターは上の規範的な部分(H1 があり 1 つであること、要約があること、H2 セクションのリンク項目が正しい形式で絶対 URL であること)に加えて、仕様が決めていない実務上の項目(文字コード、サイズ)も確認します。

バリデーターを開く →

最小の適合ファイル

必須のものすべてと、良いファイルなら必ず入っている任意の 2 つ。

# 例の商店

> 例の商店は、京都市内の小さな工房向けに部品を製造販売しています。2012 年創業。

## ページ

- [製品一覧](https://example.jp/products.md): 3 種類の部品の価格と納期。
- [お問い合わせ](https://example.jp/contact.md): 電話、メール、訪問見積もりの予約フォーム。

引用ブロックとセクションを外すと # 例の商店 だけが残ります。 有効ですが無意味です。仕様はわざと床を低くしています。 水準を決めるのはガイドラインと実際のファイルです。

よくある質問

llms.txt の公式な仕様はどこにありますか?

https://llmstxt.org/ です。Answer.AI の Jeremy Howard 氏が管理し、原文は GitHub の AnswerDotAI/llms-txt リポジトリにあります。現在の本文は 2026 年 8 月に改訂された v2 で、最初の提案は 2024 年 9 月です。v1 から v2 で何が変わったかをまとめたページも用意されています。

llms.txt で唯一必須の要素は何ですか?

サイト名またはプロジェクト名を書いた H1 の行です。仕様に明記されています。引用ブロックの要約、見出し以外の自由記述、H2 のリンクセクションはどれも定義されていますが任意です。ただし H1 だけのファイルはエージェントにとって役に立たないので、「有効なファイル」ではなく「良いファイル」の条件としては、要約と 1 つ以上のリンクセクションを必須と考えてください。

llms.txt はサイトのルートに置かなければいけませんか?

今は違います。v2 では、ルートでも任意の下位パスでもよく、ファイルはそのパス配下の URL を説明し、複数のファイルが該当する場合はエージェントが最も具体的なものを使う、とされています。/docs/llms.txt が代表例です。小規模なサイトでは、ルートの 1 本が引き続きふつうの選択です。

Optional セクションは特別なものですか?

慣習としてだけ特別です。v1 では、文脈を組み立てるツールにどのリンクを落としてよいかを伝える意味がありました。v2 でそのツールが提案から外れ、機械的な意味もなくなりましたが、文脈が足りないときにエージェントが読み飛ばしてよいリンクの置き場、という慣習は残っています。

Content-Type、文字コード、ファイルサイズについて仕様は何と言っていますか?

先頭のバイト順マーク(BOM)を任意で許す以外、何も言っていません。Content-Type、charset、サイズは公開する側に委ねられています。大手の採用例は text/plain か text/markdown を UTF-8 で返しており、ファイルをエージェントの文脈に収める、という設計目標から「小さく保つ」ことは暗黙に求められています。

llms-full.txt は仕様の一部ですか?

違います。仕様が定義しているのは llms.txt と、個々のページの Markdown 版の推奨だけで、llms-full.txt は定義していません。llms-full.txt はドキュメントプラットフォームが広めた別の慣習で、多くのサイトは llms.txt の Optional セクションからリンクしています。

次に読む