Llms.txt - LLM에게 웹사이트 이용정보를 제공하기 위한 표준 제안
(llmstxt.org)- 웹사이트는 사람들에게 정보를 제공할 뿐만 아니라 LLM에도 정보를 제공하는 데 사용됨
- LLM은 프로그래밍 라이브러리 및 API에 대한 정보를 웹사이트 문서에서 수집하는 옵션을 포함하여 코더가 사용하는 개발 환경을 향상시키는 데 사용됨
- LLM을 위한 정보 제공은 사람을 위한 정보 제공과 약간 다르지만 많은 부분 겹침
- 일반적으로 보다 간결한 형식으로 정보를 선호함
- 많은 정보를 빠르게 수집할 수 있어 모든 주요 정보를 한 곳에 수집하는 것이 도움됨
- LLM의 컨텍스트 창은 전체 웹 사이트를 처리하기에는 너무 작고, 복잡한 HTML 페이지를 LLM 친화적인 일반 텍스트 문서로 변환하는 것이 어려움
- 따라서 AI 도우미에게 제공할 가장 중요한 정보를 식별하고 가장 적절한 형식으로 제공하는 방법이 필요함
Proposal
- LLM 친화적인 콘텐츠를 제공하려는 사람들은
/llms.txt
파일을 사이트에 추가할 것을 제안함- 이는 간단한 배경 정보와 지침을 제공하는 마크다운 파일로, 더 자세한 정보를 제공하는 마크다운 파일에 대한 링크를 포함함
- 이는 라이브러리 사용에 필요한 정보를 제공하거나 사람이나 조직에 대해 배우기 위한 연구의 일부로 사용될 수 있음
- llms.txt 마크다운은 사람과 LLM이 읽을 수 있지만 정확한 형식의 처리 방법도 허용함
- llms.txt 파일은 다양한 시나리오에서 사용할 수 있음
- 소프트웨어 라이브러리의 경우 문서에 대한 구조화된 개요를 제공하여 LLM이 특정 기능이나 사용 예제를 쉽게 찾을 수 있게 함
- 기업 웹사이트에서는 조직 구조와 주요 정보 출처를 개략적으로 설명할 수 있음
- 새로운 법안과 필요한 배경 및 맥락에 대한 정보가
llms.txt
파일에 큐레이션되어 이해관계자들이 이해하는 데 도움이 될 수 있음 - 개인 포트폴리오 또는 CV 웹사이트는 개인에 대한 질문에 답하는 데 도움이 될 수 있음
- 전자상거래에서는 제품 카테고리와 정책을 간략하게 설명할 수 있음
- 교육 기관은 과정 제공 및 리소스를 요약하는 데 사용할 수 있음
llms.txt
파일 형식
-
llms.txt
파일 형식은 언어 모델이 이해하기 쉬운 Markdown을 사용하여 정보 구조를 제공 - 이 파일은 전통적인 구조화 형식(예: XML) 대신 Markdown을 사용하는데, 이는 파일의 주요 독자가 언어 모델과 에이전트이기 때문
-
llms.txt
파일은 표준 프로그래밍 도구를 통해 읽을 수 있으며, 특정 형식에 따라 구성- H1 헤더: 프로젝트나 사이트의 이름을 포함하며, 유일하게 필수적인 섹션임.
- 인용 블록: 프로젝트에 대한 간단한 요약을 포함하며, 파일의 나머지 부분을 이해하는 데 필요한 주요 정보를 제공함.
- Markdown 섹션: 상세 정보를 제공하며, 문단, 목록 등 여러 유형의 섹션이 포함될 수 있으나, 추가적인 헤딩은 포함되지 않음.
-
H2 헤더로 구분된 파일 목록 섹션: 추가 정보를 제공하는 URL 목록을 포함하며, 각 항목은 Markdown 링크 형식
[이름](URL)
으로 작성되고, 선택적으로 설명이 추가될 수 있음.
- 파일의 예
# 프로젝트 제목
> 프로젝트에 대한 선택적 설명이 여기에 들어감
선택적 세부 정보가 여기에 들어감
## 섹션 이름
- [링크 제목](https://링크_URL): 선택적 링크 설명
## Optional
- [링크 제목](https://링크_URL)
- "Optional" 섹션: 특별한 의미를 가지며, 짧은 맥락이 필요한 경우 해당 URL은 생략할 수 있음. 자주 생략할 수 있는 2차적인 정보를 포함함.
기존 표준과의 공존
-
llms.txt
는 기존 웹 표준과 함께 작동하도록 설계되었음 - 사이트맵(sitemaps)이 검색 엔진을 위해 모든 페이지를 나열하는 반면,
llms.txt
는 LLMs(대형 언어 모델)를 위한 큐레이션된 개요를 제공 -
llms.txt
는 robots.txt와 보완 관계에 있으며, 허용된 콘텐츠에 대한 맥락을 제공할 수 있음 - 또한 사이트에서 사용된 구조화된 데이터 마크업을 참조하여, LLM이 이를 이해하고 해석하는 데 도움을 줄 수 있음
-
/robots.txt
와/sitemap.xml
과 같은 방식으로 파일의 경로를 표준화함-
robots.txt와 llms.txt는 목적이 다름
- robots.txt: 자동화 도구(예: 검색 인덱싱 봇)가 사이트 접근 허용 범위를 이해하는 데 사용됨
- llms.txt: 주로 사용자가 특정 주제에 대한 정보를 명시적으로 요청할 때 사용됨. 예를 들어, 코딩 라이브러리의 문서를 프로젝트에 포함하거나, 검색 기능이 있는 챗봇에 정보를 요청할 때 유용함
-
llms.txt
는 주로 **추론(inference)**에 유용할 것으로 기대됨. 사용자가 도움을 필요로 하는 시점에 활용될 것이며, **훈련(training)**에 사용되지는 않을 것으로 예상됨. 다만,llms.txt
의 사용이 널리 퍼지면, 향후 훈련 과정에서도 이 정보를 활용할 수 있을 가능성도 있음
-
robots.txt와 llms.txt는 목적이 다름
- sitemap.xml과의 차이점
- sitemap.xml: 사이트의 모든 색인 가능한 인간이 읽을 수 있는 정보를 나열함
-
llms.txt
는 sitemap.xml의 대체가 아님:- LLM이 읽을 수 있는 페이지 버전이 포함되지 않을 수 있음.
- 정보를 이해하는 데 유용할 수 있는 외부 사이트의 URL을 포함하지 않음.
- 일반적으로 LLM의 컨텍스트 창에 맞지 않는 너무 큰 문서들을 포함하며, 사이트 이해에 불필요한 정보도 많이 포함됨.
-
llms.txt
는 언어 모델이 특정 정보에 접근하고, 문맥을 이해하는 데 최적화된 도구로 작동할 수 있음
그러게요. 이상하고 매우 범용성이 낮은 또 다른 표준을 만드는 것보다 JSON-LD와 같은 이미 있는 표준을 이용하거나 확장하는 게 더 낫지 않을까 싶네요.