AI 時代的內容使用手冊是什麼樣子?

/llms.txt 就是解答。

讓 AI 擁有最新技術的知識,企業內部的繁文縟節也能靠 AI 一句提問解決,大幅提升工作效率,釋放團隊創造力。

這一切都源於 ⁠/llms.txt,一個針對 LLMs 的標準化提案,旨在讓網站提供精煉且結構化的資訊,讓 LLM 能夠更精準地理解和推理。

這項提案不僅適用於網站,更能廣泛應用於 AI Coding、個人網站、教育領域等各種層面。

The /llms.txt file – llms-txt
A proposal to standardise on using an /llms.txt file to provide information to help LLMs use a website at inference time.

背景

  • LLMs 有越來越依賴最新網站資訊的趨勢
  • 重要的限制:Context Window 沒辦法處理大多數網站整體的內容
  • 實際上要轉換複雜的 HTML 頁面(包含導覽列、廣告、JS等等)成 LLM 友善的純文字是困難且不精準的

如果能有一個精簡且專業等級的資訊,集中在單一,且易於存取、訪問的位置,這對於 LLMs 來說是非常有益的。

特別是開發的環境中,LLMs 可以輕鬆存取到開發相關的文件以及 APIs。

提案

LLM 網站索引

將 /llms.txt markdown 文件加在網站的 root folder 下,提供 LLM 友善的內容

  • 這份文件提供網站背景資訊、指示以及各個細節 markdown 文件的連結。

重點網頁:提供清理過的 LLM Markdown 版本 

網站上提供可能對大型語言模型(LLM)有用資訊的頁面,應在與原始頁面相同的 URL 上提供這些頁面的乾淨 markdown 版本,但附加.md。

  • 如:tutorial.html 應要附上 tutorial.html.md

FastHTML 就有實作這兩個提案:

  1. 網站導覽:https://docs.fastht.ml/llms.txt
  2. 重點網頁:
注意:由於具體應用場景各不相同,提案並不包含如何處理 llms.txt 檔案的方式或給出特定建議。

格式

  • 一個 H1 標題,包含專案或網站的名稱。這是唯一必須包含的部分。
  • 一個區塊引用 (blockquote),簡短總結專案,其中包含理解檔案其餘部分所需的關鍵資訊。
  • 零個或多個 Markdown 區段 (例如段落、清單等),除了標題之外的任何類型,包含關於專案以及如何解讀所提供檔案的更詳細資訊。
  • 零個或多個由 H2 標題分隔的 Markdown 區段,包含可用於獲取更多細節的 URL「檔案清單」。
  • 每個「檔案清單」都是一個 Markdown 清單,包含一個必須存在的 Markdown 超連結,然後選擇性地包含一個冒號 (:) 以及關於該檔案的註釋。

daisyUI 5 範例:

# daisyUI 5
daisyUI 5 is a CSS library for Tailwind CSS
daisyUI 5 provides class names for common UI components

[docs](http://daisyui.com)

## daisyUI 5 install notes
[install guide](https://daisyui.com/docs/install/)
1. daisyUI 5 requires Tailwind CSS v4
2. `tailwind.config.js` file is deprecated in Tailwind CSS v4. do not use `tailwind.config.js`. Tailwind CSS v4 only needs `@import "tailwindcss";` in the CSS file if it's a node dependency.
3. daisyUI 5 can be installed using `npm i -D daisyui@latest` and then adding `@plugin "daisyui";` to the CSS file
4. daisyUI is suggested to be installed as a dependency but if you really want to use it from CDN, you can use Tailwind CSS and daisyUI CDN files:
```html
<link href="https://cdn.jsdelivr.net/npm/daisyui@5" rel="stylesheet" type="text/css" />
<script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
```
5. A CSS file with Tailwind CSS and daisyUI looks like this (if it's a node dependency)
```css
@import "tailwindcss";
@plugin "daisyui";
```

應用情境

輔助 AI Coding:LLMs 可以讀取最新、正確文件

最近越來越多網站提供 llms.txt 供開發者使用,如:

不論是在 Cursor 添加 doc 或是直接在 AI Chat 中新增 llms.txt 進行對話,都能享受到最完備的資訊以及 LLM 的方便快速。

如果開發者已經定義好自己的 tech stack,那將各個 stack 的 llms.txt 整合並利用 Agent 去產出 Code 的錯誤率會大幅降低,且速度會因為清晰的架構而大幅提升。

個人網站:回答關於個人履歷、或是任何相關問題

試想將你自己的所有經歷,資訊精簡成一份 llms.txt ,再透過 AI 去跟自己對話,是否可以看出之前沒有看出的觀點?(當局者迷的那種)。

或者將你的聯絡資訊、報價方案(如果有在接案)等等放在網站的回答機器人中,那就可以和潛在客戶完整的對答,不需花費額外的人力、時間對接。

企業內部知識庫:打破部門壁壘,提升資訊流通效率

將 ⁠llms.txt 的概念應用於企業內部知識庫,讓員工可以利用 LLM 快速查找和利用企業內部的資訊。

想像一下,企業將其 API 文檔、開發規範、設計指南、常見問題解答、以及產品資訊等,整理成結構化的 llms.txt 檔案。員工可以使用 LLM,透過簡單的提問,快速獲取所需的資訊,例如:「請給我新進員工的必須流程。」或「公司對於 Component 命名的最佳實踐是什麼?」。

LLM 可以讀取 llms.txt,理解企業知識庫的結構,並從相關的文件中提取答案。 此外,企業還可以針對不同的部門或專案,建立客製化的 llms-full.txt,將所有相關的資訊整合在一個檔案中,方便 LLM 快速存取。這可以大幅提升員工的工作效率,減少尋找資訊的時間,並確保員工使用的是最新的企業知識。

教育領域:現代學習加速器

教師可以提供課程的 ⁠llms.txt,讓學生可以利用 LLM 更方便地學習和複習課程內容。

例如,一位教授 python 的教師,可以為其課程建立一個 llms.txt 檔案,其中包含課程大綱、作業說明、參考文獻、以及範例程式碼的連結。

學生可以使用 LLM,針對課程內容進行提問,例如:「什麼是遞迴?」,LLM 可以讀取 llms.txt,並從相關的課程資料中提取答案。

教師還可以為每個章節或主題,建立對應的 Markdown 文件,並在 llms.txt 中建立連結,方便學生深入學習。

此外,學生也可以利用 LLM,總結課程內容、複習重點、以及準備考試。透過 llms.txt,學生可以更有效地利用 LLM 輔助學習,提升學習效果。 進一步地,可以將歷屆考題、作業範例、以及學生常犯錯誤等資訊也加入 llms.txt 中,讓 LLM 能夠更全面地輔助學生學習。

llms.txt vs. llms-full.txt

llms.txt 是一個索引檔案,包含連結以及內容的簡短描述。LLM 或 Agent 必須追蹤這些連結才能存取詳細資訊。

llms-full.txt 則將所有詳細內容直接包含在單一檔案中,從而無需額外的導覽。

使用 llms-full.txt 的一個關鍵考量因素是其檔案大小。 對於大量的文件來說,這個檔案可能會變得太大,以至於無法放入 LLM 的上下文窗口中。

小型專案:選擇 llms-full.txt

如果你的專案還在初期階段,並且架構並不龐大,那我會推薦你選擇 llms-full.txt 去做開發以及調整。

因為含有所有詳細內容,你的專案可以享受較快的開發速度以及較低的出錯率。對於小型專案來說,llms.txt的內容過於廣泛,會需要額外的查找,浪費了初期快速迭代的時間。且 llms-full.txt 的數量以及內容不會太過於龐大,以至於超過 LLM 的上下文窗口。

中大型專案:llms.txt 為主,重點內容使用 llms-full.txt

中大型專案的架構龐大,內含的技術框架基本上以現今的伺服器環境下沒有辦法塞入全數的 llms-full.txt 。會建議將資源放在重點項目上,如最新的技術或者影響力最大的技術上。其餘的技術框架則靠 llms.txt 用索引的方式去查找。

彈性選擇:模組化的使用方法

這其實是我最推薦的一種方法,在使用 llms.txt 之前,你是否有想過這段 code 有需要用全部的 tech stack 去修改嗎?是不是其實這段程式碼只需要一兩個技術框架的搭配就可以完成。

根據你開發中的程式碼,搭配相對應技術的 llms-full.txt ,就可以達到客製化且不會浪費任何上下文窗口的優勢。

llms.txt vs. robots.txt vs. sitemap.xml

想像一下,你在經營一個網站,這三個檔案就像是給不同對象看的地圖:

  • llms.txt 是特別為 AI 聊天機器人準備的精簡版網站導覽,讓它們快速了解網站重點,以便在回答問題時提供更精準的資訊
  • robots.txt 則是告訴網路爬蟲哪些地方可以去、哪些地方不要去,確保網站不會被不當抓取
  • sitemap.xml 就像是網站的完整目錄,列出所有頁面,方便搜尋引擎找到並收錄網站的內容。

表格比較

llms.txt robots.txt sitemap.xml
用途 為 LLM 提供網站的精選概述,用於推理。 告知自動化工具可接受的網站存取權限。 列出網站上所有可索引的人工可讀資訊。
主要使用者 大型語言模型 (LLM) 搜尋引擎機器人和其他自動化工具 搜尋引擎
包含內容 網站的精選資訊、指向外部網站的連結、結構化資料標記參考。 允許或禁止抓取和建立索引的規則。 網站上所有可索引頁面的列表。
LLM 可讀性 專為 LLM 設計。 不適用。 通常不是 LLM 的最佳格式。
資訊量 精選,較少資訊但更相關。 不適用。 所有可索引頁面的完整列表,資訊量大。
使用時機 在使用者明確要求有關主題的資訊時。 在搜尋引擎機器人抓取網站時。 在搜尋引擎索引網站時。
與其他檔案的關係 可以補充 robots.txt,並參考結構化資料標記。 與 llms.txt 互補,用於控制網站的存取。 不是 llms.txt 的替代品,因為它缺少 LLM 可讀版本和外部連結。

如何知道網站有提供 llms.txt?

基本上現在的網站都會明確標示有提供 llms.txt ,如果你不想浪費時間查找,那 llms.txt hub 是一個方便的儲存庫選項。

llms.txt hub - Discover AI-Ready Documentation
Explore AI-friendly websites and tools implementing the llms.txt standard. Find and submit llms.txt files for better AI integration.

儲存庫也有提供 Chrome ExtensionVSCode 插件MCP ServerRaycast 插件等等選擇,大家可以自己斟酌使用!