llms.txt: ChatGPT가 당신의 사이트를 읽게 만드는 20줄짜리 파일 (그리고 제가 만든 무료 생성기)
요약
AI 모델이 웹사이트의 핵심 콘텐츠를 효율적으로 파싱할 수 있도록 돕는 llms.txt 표준과 그 활용법을 소개합니다. 불필요한 HTML 요소를 제거하고 큐레이션된 마크다운 지도를 제공하여 LLM의 컨텍스트 활용도를 높이는 방법을 다룹니다.
핵심 포인트
- llms.txt는 AI 크롤러를 위한 마크다운 기반의 사이트맵 역할을 수행함
- 모델의 컨텍스트 윈도우 낭비를 줄이고 실질적 콘텐츠에 어텐션을 집중시킴
- 사이트의 핵심 페이지를 큐레이션하여 모델에게 정전적(Canonical) 신호 전달
- 정적 파일로 구현되어 기존 SEO에 영향을 주지 않고 비용 없이 배포 가능
제가 처음으로 서버 로그를 확인했을 때, 제가 전혀 최적화하지 않은 페이지들을 GPTBot, PerplexityBot, ClaudeBot, 그리고 Google-Extended가 모두 크롤링(crawling)하고 있는 것을 보고 깨달았습니다. 제 "검색 트래픽"의 점점 더 큰 부분이 이제는 제 사이트를 읽고 인용 여부를 결정하는 AI 모델이 되고 있다는 사실을 말이죠. 그리고 이 모델들은 브라우저처럼 읽지 않습니다. 그들에게는 예산(컨텍스트 윈도우 (context window))이 있으며, 대부분의 웹 페이지는 실제 콘텐츠에 도달하기도 전에 내비게이션 바, 쿠키 배너, 그리고 <script> 태그에 그 예산을 소모해 버립니다.
llms.txt는 이를 위한 작고 지루한 해결책입니다. 이것이 무엇인지, 왜 20분의 시간을 투자할 가치가 있는지, 그리고 여러분이 직접 Markdown을 작성할 필요가 없도록 제가 만든 무료 생성기에 대해 알려드리겠습니다.
llms.txt란 정확히 무엇인가
이것은 도메인의 루트(root)에 배치하는 일반적인 Markdown 파일입니다:
이를 robots.txt의 거울 이미지라고 생각하세요. robots.txt가 크롤러에게 무엇을 피해야 하는지 알려준다면, llms.txt(llmstxt.org에서 제안됨)는 모델에게 당신이 가장 읽고 인용하기를 원하는 페이지들의 짧고 큐레이션된 지도를 전달합니다. 형식은 의도적으로 매우 작습니다:
# Your Project Name
> 이 사이트가 무엇인지, 그리고 누구를 위한 것인지에 대한 한 줄 요약.
...
알아둘 가치가 있는 사양(spec)은 이것이 전부입니다: H1 제목, 블록쿼트(blockquote) 요약, 그리고 짧은 설명이 포함된 Markdown 링크를 담은 ## 섹션들입니다. 문자 그대로 Optional이라고 명명된 섹션은 모델의 컨텍스트가 부족할 때 건너뛰어도 되는 페이지를 나타냅니다.
솔직히, 왜 굳이 해야 하는가
많은 과장이 있기 때문에 저는 솔직하게 말씀드리고 싶습니다: llms.txt는 아직 초기 단계의 자발적인 표준입니다. 어떤 모델도 이를 읽어야 할 계약적 의무가 없으며, 이를 게시한다고 해서 마법처럼 인용되는 것도 아닙니다. 하지만 이것이 하는 역할은 실질적이며 그만한 가치가 있습니다:
- 마찰을 제거합니다 (It removes friction). 한 줄의 설명과 함께 가장 중요한 8개 페이지의 깔끔한 인덱스를 가져오는 모델은, 내용을 찾기 위해 200KB의 HTML을 파싱하는 대신 제한된 어텐션 (Attention)을 당신의 실질적인 콘텐츠에 집중할 수 있습니다.
- 큐레이션 신호 (Curation signal) 역할을 합니다. 당신은 엔진에게 "400개의 태그 아카이브 URL이 아니라, 이것들이 정전적 (Canonical) 페이지입니다"라고 말하고 있는 것입니다. 모델이 당신의 사이트를 대표하는 것이 무엇인지 결정할 때 이는 진정으로 유용합니다.
- 비용이 들지 않고 무엇도 망가뜨리지 않습니다. 이것은 정적 (Static) 텍스트 파일입니다. 단점도 없고, 렌더링 비용도 없으며, 기존의 SEO (검색 엔진 최적화)에 위험을 주지도 않습니다.
그래서 저는 이것을 사이트맵 (Sitemap)을 다루는 것과 같이 취급합니다. 순위를 높이는 레버가 아니라, 기계가 나를 읽는 방식에 대한 기본적인 위생 관리일 뿐입니다. 차이점은 이제 그 기계가 LLM (대규모 언어 모델)이라는 점입니다.
10분 만에 배포하는 방법
- 가장 중요한 5~15개의 페이지를 나열하세요. 모든 것이 아니라, 가장 좋은 것들입니다: 문서 (Docs), 주요 가이드, 제품 페이지 등. 만약 어떤 페이지가 ChatGPT에게 당신의 사이트를 대표하는 페이지로 보여지기에 부끄러운 수준이라면, 제외하세요.
- 사이트에 대한 한 줄 요약과 각 링크에 대한 한 줄 설명을 작성하세요. 기발한 것보다는 구체적인 것이 낫습니다. 설명은 모델이 관련성을 결정하기 위해 읽는 내용입니다.
- 이름이 지정된 섹션 (Docs, Guides, Products, About)으로 그룹화하고, 우선순위가 낮은 링크는
Optional아래에 두세요. llms.txt로 저장하여 도메인 루트에 업로드하고,yoursite.com/llms.txt에서 로드되는지 확인하세요. 전체 과정에서 절대 경로인https://URL을 사용하세요.
그게 전부입니다. 나중에 더 넓은 범위를 커버하고 싶다면, 주요 페이지의 전체 텍스트를 하나의 파일에 인라인 (Inline)으로 포함하는 llms-full.txt를 추가할 수 있지만, 우선은 큐레이션된 인덱스로 시작하세요.
무료 생성기
사이트가 하나라면 마크다운 (Markdown)을 직접 작성해도 괜찮습니다. 하지만 여러 프로젝트에 걸쳐 작업하면서, 링크를 절대 경로로 유지하고, 형식을 실수 없이 작성하는 일은 금방 지치기 마련입니다. 그래서 저는 가입이 필요 없고 브라우저에서 완전히 실행되는 무료 생성기를 만들었습니다:
사이트 이름, 요약, 섹션 및 링크를 입력하면 복사하거나 파일로 다운로드할 수 있는 규격 준수(spec-compliant) llms.txt 파일이 생성됩니다. 데이터는 아무것도 업로드되지 않으며, 모든 과정이 클라이언트 측 JavaScript (client-side JavaScript)로 처리되므로 아직 공개되지 않은 사이트를 위한 초안도 안전하게 작성할 수 있습니다. 또한 합리적인 시작 템플릿(starter template)이 기본으로 제공되어, 빈 상자를 바라보며 고민하는 대신 바로 편집을 시작할 수 있습니다.
이미 llms.txt를 배포하셨다면, Optional 섹션에 무엇을 넣으셨는지 정말 궁금합니다. 이 부분은 대부분의 사람들이 실수하는 부분입니다 (모든 내용을 쏟아붓거나, 아예 건너뛰어 버리곤 합니다). 댓글에 URL을 남겨주시면 제가 확인해 보겠습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기