Giới thiệu về llms.txt
llms.txt là một tệp được đề xuất theo một tiêu chuẩn mở, được đặt ở thư mục gốc của một trang web, nhằm mục đích cung cấp thông tin hướng dẫn cho các Mô hình Ngôn ngữ Lớn (LLM) và các agent AI về cách sử dụng trang web đó một cách hiệu quả.
Nó không phải là một file cấu hình persona trong dự án local, mà là một "bản đồ" công khai giúp AI hiểu được cấu trúc, nội dung quan trọng, và cách tương tác với một website.
Trang web chính thức của tiêu chuẩn này là: https://llmstxt.org.
Mục đích của llms.txt
Hãy tưởng tượng llms.txt giống như robots.txt hay sitemap.xml, nhưng được thiết kế riêng cho AI:
robots.txt: Cho các bot biết trang nào không được truy cập.sitemap.xml: Liệt kê tất cả các trang để máy tìm kiếm lập chỉ mục.llms.txt: Cung cấp một danh sách các tài nguyên chọn lọc và có ngữ cảnh, giúp LLM hiểu nhanh về trang web mà không cần phải "đọc" toàn bộ nội dung.
Điều này cực kỳ hữu ích khi một agent AI (như Cascade) cần tìm hiểu về một thư viện, một framework, hay một sản phẩm có cung cấp file llms.txt.
Khi nào nên sử dụng llms.txt?
Việc tạo file llms.txt mang lại lợi ích cho cả hai phía:
Đối với chủ sở hữu trang web/dự án:
- Khi bạn muốn các agent AI hiểu đúng về sản phẩm hoặc thư viện của bạn.
- Khi bạn muốn hướng dẫn AI đến các tài liệu quan trọng nhất, tránh các thông tin nhiễu hoặc lỗi thời.
- Khi bạn muốn giảm thiểu "ảo giác" (hallucination) của AI khi nó nói về dự án của bạn.
Đối với người dùng Agentic IDE:
- Khi bạn bắt đầu làm việc với một thư viện hoặc framework lạ.
- Khi bạn muốn AI có được thông tin cập nhật và chính xác nhất về một công nghệ, thay vì dựa vào kiến thức huấn luyện có thể đã cũ.
Định dạng của llms.txt
File llms.txt sử dụng cú pháp Markdown và có cấu trúc cụ thể như sau:
- Tiêu đề (H1 - Bắt buộc): Tên của dự án hoặc trang web.markdown
# Tên Dự Án - Mô tả ngắn (Blockquote - Tùy chọn): Một đoạn mô tả ngắn gọn, cung cấp thông tin chính.markdown
> Đây là một thư viện để làm... - Chi tiết (Tùy chọn): Các đoạn văn bản hoặc danh sách cung cấp thêm thông tin.
- Danh sách file (H2): Các mục được nhóm bởi tiêu đề H2, chứa danh sách các liên kết quan trọng. Mỗi liên kết là một mục trong danh sách Markdown.markdown
## Tài liệu - [Bắt đầu nhanh](https://example.com/docs/quickstart): Hướng dẫn cài đặt và sử dụng. - [Tham chiếu API](https://example.com/docs/api): Chi tiết về các hàm và lớp. - Mục
## Optional: Một mục đặc biệt chứa các liên kết đến thông tin phụ. Các agent có thể bỏ qua mục này nếu cần một bối cảnh ngắn gọn hơn.
Các phiên bản và biến thể
Tiêu chuẩn llms.txt rất linh hoạt và không có một cấu trúc cứng nhắc cho các "phiên bản". Tuy nhiên, cộng đồng khuyến khích việc cung cấp các mức độ chi tiết khác nhau để các agent có thể lựa chọn:
- Bản "Lite" hoặc "Cắt gọn" (Cut down version): Một phiên bản tối giản, chỉ chứa các liên kết quan trọng nhất và thường bỏ qua mục
## Optional. - Bản "Full": Một phiên bản đầy đủ, bao gồm cả các liên kết trong mục
## Optionalđến các tài liệu phụ trợ, ví dụ như tài liệu của các thư viện liên quan.
Cách tiếp cận này cho phép các agent AI chọn mức độ chi tiết phù hợp với ngữ cảnh và giới hạn token của chúng.
Ví dụ thực tế
Đây là một ví dụ rút gọn từ dự án FastHTML:
# FastHTML
> FastHTML là một thư viện Python kết hợp Starlette, Uvicorn, HTMX... để tạo các ứng dụng web hypermedia.
Lưu ý quan trọng:
- Không tương thích với cú pháp FastAPI.
- Tương thích với web components và vanilla JS, không dùng cho React, Vue, Svelte.
## Tài liệu (Docs)
- [FastHTML quick start](https://answerdotai.github.io/fasthtml/tutorials/quickstart_for_web_devs.html.md): Tổng quan nhanh về các tính năng.
- [HTMX reference](https://raw.githubusercontent.com/path/reference.md): Mô tả ngắn về các thuộc tính HTMX.
## Ví dụ (Examples)
- [Todo list application](https://raw.githubusercontent.com/path/adv_app.py): Hướng dẫn chi tiết một ứng dụng CRUD hoàn chỉnh.
## Optional
- [Starlette full documentation](https://gist.githubusercontent.com/path/starlette-sml.md): Một phần tài liệu Starlette hữu ích cho việc phát triển FastHTML.Khi một Agentic IDE được yêu cầu tìm hiểu về "FastHTML", nếu nó tìm thấy file llms.txt này, nó sẽ ngay lập tức có được các liên kết quan trọng nhất để bắt đầu, thay vì phải tìm kiếm trên Google một cách mò mẫm.
Ứng dụng trong các Agentic IDE
Tiêu chuẩn llms.txt đang ngày càng được công nhận và tích hợp vào các Agentic IDE hiện đại như một cách để cung cấp context hiệu quả.
Ví dụ, Cursor (một IDE được xây dựng trên nền tảng VSCode) cho phép người dùng thêm trực tiếp các file llms.txt từ các trang web vào context của nó. Trong tài liệu hướng dẫn của họ về Agent User Interaction Protocol (AG-UI), họ chỉ dẫn người dùng thêm file https://docs.ag-ui.com/llms-full.txt để AI có thể hiểu và hỗ trợ lập trình với bộ giao thức này.
Điều này cho thấy llms.txt không chỉ là một lý thuyết, mà đã trở thành một cơ chế thực tiễn giúp các lập trình viên và agent AI giao tiếp hiệu quả hơn thông qua một bộ context được chuẩn hóa.
Tìm kiếm các file llms.txt
Bạn có thể khám phá các trang web đã áp dụng tiêu chuẩn llms.txt tại các thư mục cộng đồng sau: