본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 05. 26. 17:26

2026년을 위한 완전한 llms.txt 가이드

요약

llms.txt는 LLM이 웹사이트의 핵심 콘텐츠를 효율적으로 파악할 수 있도록 돕는 마크다운 형식의 가이드 파일입니다. 컨텍스트 윈도우 제한과 복잡한 웹 구조 문제를 해결하여 생성 엔진 최적화(GEO)를 달성하는 표준 방법론을 제시합니다.

핵심 포인트

  • llms.txt는 LLM을 위한 사이트 구조 지도 역할을 함
  • 마크다운 형식을 사용하여 컨텍스트 효율성 극대화
  • GEO(생성 엔진 최적화)를 위한 사실상의 표준으로 부상
  • 불필요한 HTML/JS 제거로 모델의 정보 손실 방지

llms.txt에 대해 알아야 할 모든 것 — 그것이 무엇인지, 어디에서 유래했는지, AI 모델들이 실제로 그것을 어떻게 활용하는지, 올바르게 작성하는 방법, 그리고 전체 과정을 조용히 망쳐버리는 실수들에 대해 다룹니다.

llms.txt란 무엇인가?
llms.txt는 도메인의 루트 디렉토리 — https://yoursite.com/llms.txt — 에 배치하는 일반 텍스트 (plain-text) 파일로, 대규모 언어 모델 (LLM)에게 당신의 사이트가 무엇에 관한 것인지, 어떤 페이지가 중요한지, 그리고 어떻게 탐색해야 하는지를 알려줍니다. 이 파일은 마크다운 (Markdown) 형식으로 작성됩니다. 크기는 작습니다. 이 파일이 존재하는 이유는 단 하나입니다. AI 모델들은 컨텍스트 윈도우 (context windows)가 매우 제한적이며 사이트 전체를 읽을 수 없기 때문에, 대신 큐레이션된 지도를 제공하는 것입니다.

이 표준은 2024년 9월 Answer.AI의 Jeremy Howard에 의해 제안되었으며, 이후 18개월 동안 현재 생성 엔진 최적화 (Generative Engine Optimization, GEO)라고 불리는 분야의 사실상의 표준 (de facto convention)이 되었습니다. GEO란 ChatGPT, Claude, Perplexity, Gemini 및 전통적인 검색창을 대체하기 시작한 다른 대규모 언어 모델 (LLM)들에 의해 당신의 사이트가 인용되도록 하는 관행을 의미합니다.

만약 당신이 robots.txt나 sitemap.xml을 작성해 본 적이 있다면, 이미 llms.txt의 형태를 이해하고 있는 것입니다. 알려진 URL에 작은 파일을 두어 자동화된 시스템에 사이트에 대한 구조화된 힌트를 제공한다는 개념은 동일합니다. 다만 대상이 검색 엔진 크롤러 (search-engine crawlers)가 아닌 언어 모델 (language models)이며, 형식이 텍스트 지시어 (text directives)나 XML이 아닌 마크다운 (Markdown)이라는 점이 다릅니다.

존재 이유 (실제적인 문제)
당신이 ChatGPT에게 "FastHTML이 무엇이며 어떻게 시작하나요?"라고 물으면, ChatGPT는 백그라운드에서 세 가지 작업을 수행할 수 있습니다: 웹을 검색하고, 몇 개의 페이지를 선택하며, 당신에게 합리적인 답변을 주기 위해 그 페이지들을 충분히 읽으려고 시도하는 것입니다. 두 번째와 세 번째 단계가 바로 현대의 웹사이트들이 실패하는 지점입니다.

전형적인 현대의 웹 페이지는 200KB에서 수 메가바이트에 달하는 HTML, CSS, JavaScript, 제3자 스크립트 (third-party scripts), 쿠키 배너, 네비게이션 크롬 (navigation chrome), 그리고 광고로 구성됩니다. LLM의 컨텍스트 윈도우 (context window)는 — 설령 매우 넉넉한 것이라 할지라도 — 그에 비하면 매우 작습니다. 모델은 어떤 종류의 브라우저와 유사한 파이프라인 (pipeline)을 통해 페이지를 렌더링하거나 (느리고, 비용이 많이 들며, 취약함), 마크업 (markup)을 텍스트로 변환해야 합니다 (구조를 잃고, 표를 망가뜨리며, 의미론적 정보 (semantics)를 누락함). 어떤 방식이든, 실제 콘텐츠가 모델에 도달할 때쯤이면 이미 품질이 저하된 상태입니다.

설상가상으로, 모델은 귀하의 사이트 중 어떤 페이지가 중요한지 알지 못합니다. 홈페이지가 귀하가 하는 일을 나타내는 정전 (canonical) 선언문인가요? 'About' 페이지가 문맥 파악을 위해 읽어야 할 페이지인가요? 귀하의 문서 (documentation)가 /docs, /help, /wiki 아래에 있나요, 아니면 다른 곳에 있나요? 명시적인 안내가 없다면 모델은 추측합니다. 그리고 종종 잘못 추측합니다.

llms.txt는 이 두 가지 문제를 동시에 해결합니다. 이는 다음과 같이 말하는 작고, 미리 정제되었으며, 마크다운 (Markdown) 형식으로 작성된 문서입니다: "이 사이트는 이러한 사이트입니다. 여기 중요한 페이지들이 있습니다. 더 깊은 정보를 원한다면 이곳으로 가십시오." 모델은 컨텍스트 예산 (context budget)의 아주 적은 부분만을 사용하면서 귀하의 사이트에 대한 정확한 그림을 얻게 됩니다.

실제로 누가 llms.txt를 읽는가
이 질문은 llms.txt에 대해 회의적인 모든 게시물이 시작할 때 던지는 질문이며, 정직한 답변을 받을 가치가 있습니다. 2026년 중반 기준으로, 지원은 불균형하지만 성장하고 있습니다. 현실적인 상황은 다음과 같습니다:

이 기업들 중 그 어느 곳도 "우리는 llms.txt를 사용하며 X만큼의 가중치를 둡니다"라고 공식적으로 약속한 적은 없습니다. 실제로 보게 될 모습은 크롤러 (crawlers)가 파일을 가져와 기록하고, 여러 신호 중 하나로 사용하는 것입니다. 정직하게 표현하자면, 이는 2024년의 robots.txt보다는 2014년의 schema.org 마크업 (markup)에 더 가깝습니다. 엄격하게 요구되지는 않고, 보편적으로 준수되는 것도 아니지만, llms.txt가 없다는 것이 하나의 특징 (tell)처럼 보이기 시작할 정도로 빠르게 채택되고 있습니다.

2026년의 방어 가능한 입장: llms.txt를 배포하십시오. 비용이 거의 들지 않으며, 이를 읽는 모든 대상에게 사이트를 더 읽기 쉽게 만들어 주고, 만약 어떤 모델도 이를 읽지 않더라도 발생하는 불이익은 제로(0)이기 때문입니다. 이는 프리미엄(premium)이 없는 헤지(hedge)와 같습니다.

사양(Spec), 한 줄씩 살펴보기
llmstxt.org에 있는 공식 사양(formal specification)은 짧습니다. 처음부터 끝까지 훑어보기에 충분할 만큼 짧습니다. 각 섹션에 대한 설명과 함께 그 구조를 소개합니다.

# 사이트 또는 프로젝트 이름

> 한 단락의 인용문(blockquote) 요약.
...
  1. 정확히 하나의 H1. 이것이 유일하게 필수적인 요소입니다. 이는 사이트나 프로젝트의 이름이며, 태그라인(tagline)이 아닙니다.

  2. 선택 사항인 인용문(blockquote). 이것은 당신의 "엘리베이터 피치(elevator pitch)" 요약입니다. 모델들은 "이 사이트는 무엇에 관한 것인가요?"라는 질문을 받았을 때 종종 이를 그대로 인용합니다. 잘 작성하십시오. 한두 문장의 평이한 영어(plain English)로 작성합니다.

  3. **인용문 뒤의 자유 형식 마크다운(Markdown)**에는 단락, 목록, 강조 등을 포함할 수 있습니다. H2 섹션이 나타나기 전까지는 추가적인 헤딩(heading)을 제외한 무엇이든 가능합니다.

  4. 링크 목록을 포함하는 H2 섹션. 각 H2는 카테고리(문서(Docs), 튜토리얼(Tutorials), API 레퍼런스(API Reference), 블로그(Blog), 예제(Examples))입니다. 각 목록 항목은 마크다운(Markdown) 링크이며, 선택적으로 콜론(:)과 한 줄 설명을 뒤에 붙일 수 있습니다.

  5. "선택적(Optional)" H2는 특별합니다. 여기에 있는 링크들은 더 짧은 컨텍스트(context)가 필요한 파서(parser)들에 의해 건너뛰어질 수 있습니다. 부차적인 자료 — 부록(appendices), 심화 레퍼런스(deeper references), 사이트가 무엇인지 이해하는 데 필수적이지 않은 모든 것 — 을 위해 사용하십시오.

허용되지 않는 사항: 이미지, HTML, 테이블(tables), 코드 블록(code blocks), 추가적인 H1, 또는 H2 링크 섹션 내부의 중첩된 헤딩(nested headings). 파서(parser)는 마크다운(Markdown) 텍스트와 마크다운(Markdown) 목록만을 기대합니다. 구조를 단순하게 유지할수록 더 안정적으로 읽힙니다.

llms.txt vs llms-full.txt
기본 llms.txt 파일은 지도입니다. 모델에게 어디로 가야 할지를 알려주지만, 링크를 따라가기 위해 모델은 여전히 각 페이지를 가져와야(fetch) 합니다. 문서 사이트나 모델이 한 번에 모든 것을 갖기를 원하는 기타 콘텐츠의 경우, 동반 파일인 llms-full.txt가 있습니다.

llms-full.txt에는 사이트의 모든 페이지에 포함된 실제 콘텐츠가 단일 Markdown (마크다운) 문서로 결합되어 들어 있습니다. 내비게이션, 불필요한 반복 문구(boilerplate), UI 요소(chrome) 없이 오직 텍스트만 존재합니다. 모델은 단 하나의 파일만 다운로드함으로써, 50번의 후속 요청을 보낼 필요 없이 귀하의 제품에 대한 전체적인 그림을 파악할 수 있습니다.

다음은 이 두 파일에 대한 단순화된 개념 모델입니다:

마케팅 사이트나 작은 블로그의 경우 llms.txt만으로도 충분합니다. 하지만 문서 사이트, API 레퍼런스(API reference), 제품 매뉴얼, 또는 모델이 실제로 질문에 답변하기를 원하는 대상에 대해서는 두 파일을 모두 배포하십시오. 이 조합은 2025년 초 Mintlify와 Anthropic에 의해 대중화되었으며 꾸준히 사용되고 있습니다.

robots.txt 및 sitemap.xml과의 관계
이 세 파일은 세 가지 서로 다른 목적을 가진 세 가지 서로 다른 대상을 다룹니다. 이들은 서로를 보완하는 것이지, 대체하는 것이 아닙니다.

흔히 혼동하는 부분: llms.txt는 아무것도 차단하지 않습니다. 이는 권한 파일이 아닙니다. 크롤러(crawler)가 특정 경로에 접근하지 못하게 하려면 robots.txt에 작성해야 합니다. 인덱싱(indexing)을 위해 페이지가 어디에 있는지 알려주고 싶다면 sitemap.xml을 사용합니다. llms.txt는 순수하게 "우리의 문서는 다음과 같습니다"라고 알려주는 역할을 합니다.

한 가지 미묘한 상호작용이 있습니다: llms.txt는 robots.txt에서 차단한 페이지로 링크를 걸어서는 안 됩니다. 일부 크롤러는 일관되지 않은 링크를 조용히 무시할 것이며, 다른 크롤러는 오류를 기록하고 파일 전체의 우선순위를 낮출 수도 있습니다. 이 세 파일이 서로 일치하도록 유지하십시오.

좋은 llms.txt 작성하기
위에서 언급한 기계적인 규칙들은 필요하지만 충분하지는 않습니다. 모델이 귀하의 사이트에 대해 이야기하는 방식을 실제로 변화시키는 좋은 llms.txt는 명세(spec)에는 없는 몇 가지 원칙을 따릅니다.

인용되길 원하는 요약문을 가장 먼저 배치하세요
파일 최상단의 인용문(blockquote)은 파일에서 가장 중요한 단일 문장입니다. 모델에게 "yoursite.com은 무엇인가요?"라고 물었을 때, 모델이 귀하의 인용문을 그대로 바꾸어 말할 가능성이 매우 높습니다. Perplexity의 답변이나 ChatGPT의 인용구에 어떻게 나타나길 원하는지 그 방식대로 작성하세요. 마케팅용 미사여구, 최상급 표현, "~를 선도하는 플랫폼" 같은 문구는 배제하십시오. 평이한 언어로, 사이트가 무엇을 하는지, 누구를 위한 것인지를 작성하세요.

# Lab451

> Lab451은 llms.txt, llms-full.txt, sitemap.xml, 그리고 robots.txt를 생성합니다.
...

마케팅 초안이 만들어냈을 법한 문구("Lab451은 웹사이트가 생성형 엔진에서의 존재감을 극대화할 수 있도록 지원하는 선도적인 AI 발견 가능성(AI-discoverability) 플랫폼입니다")와 비교해 보십시오. 첫 번째 버전은 모델이 반복하게 될 내용입니다. 두 번째 버전은 모델이 조용히 첫 번째 버전으로 다시 써버릴 내용입니다.

사이트 구조가 아닌 의도(intent)에 따라 링크를 그룹화하세요
H2 섹션은 사이트의 상단 네비게이션(top nav)을 그대로 반영해서는 안 됩니다. 대신 사용자가 모델에게 던질 법한 질문을 반영해야 합니다. 만약 누군가 "X를 어떻게 시작하나요?"라고 묻는다면, 모델은 '시작하기(Getting Started)' 또는 '빠른 시작(Quickstart)'이라는 이름의 섹션을 찾아야 합니다. 만약 "X의 비용은 얼마인가요?"라고 묻는다면, '가격(Pricing)' 섹션이 있어야 합니다. H2를 사이트맵(sitemap)이 아닌, 귀하가 예상하는 질문에 대한 답변이라고 생각하십시오.

한 줄 설명이 제 역할을 합니다
제목: 설명 패턴은 선택 사항이지만, 이 설명은 모델이 다른 페이지보다 특정 페이지를 인용하도록 유도하는 결정적인 요소가 되는 경우가 많습니다. 설명은 한 줄로 유지하십시오. 해당 페이지가 얼마나 좋은지가 아니라, 무엇을 다루고 있는지를 기술하십시오.

## Docs

- [Getting started](https://lab451.org/docs/quickstart):
...

Optional(선택 사항) 섹션을 부가 정보(ballast)용으로 사용하세요
오래된 블로그 포스트, 심층 참조 자료, 법적 페이지 등, 모델이 여유 컨텍스트(context)가 있다면 읽어도 좋지만, 읽지 않는다고 해서 크게 걱정할 필요가 없는 모든 것을 여기에 두십시오. Optional 섹션은 필수 읽기 자료(must-reads)를 혼잡하게 만들지 않으면서도 이러한 정보들을 포함할 수 있도록 허용하는 공간입니다.

가능하다면 파일 크기를 10 KB 미만으로 유지하세요
사양(spec)에서 크기 제한을 설정하지는 않았지만, 실제로 대부분의 사이트에서 llms.txt 전체 내용은 10 KB 미만으로 여유 있게 들어와야 합니다. 만약 크기가 더 크다면, 아마도 llms.txt가 아닌 사이트맵 (sitemap)에 포함되어야 할 페이지들을 나열하고 있을 가능성이 높습니다. 맵 (map)은 큐레이션된 것이며, 사이트맵 (sitemap)은 포괄적인 것입니다.

복사할 가치가 있는 실제 사례들
형식을 올바르게 구현하여 공부할 가치가 있는 실제 llms.txt 파일 세 가지를 소개합니다:

FastHTML — Jeremy Howard가 만든 최초의 참조 구현체 (reference implementation)입니다. 깔끔한 H1, 간결한 인용구 (blockquote), 합리적인 H2 그룹화, 그리고 적절하게 사용된 선택적 섹션 (Optional section)을 보여줍니다. 가장 전형적인 (canonical) 예시입니다.

Anthropic Docs — 제품 인터페이스별로 정리된 대규모 문서 사이트입니다. H2 헤더들이 문서가 분류된 방식이 아니라, 개발자가 도움을 요청하는 방식에 어떻게 매핑되어 있는지 주목해 보세요.

Lab451 — 짧고 직설적입니다. 전체 콘텐츠 처리가 필요하지 않은 마케팅 사이트를 위한 템플릿으로 유용합니다.

텍스트 에디터(우클릭 후 소스 보기)로 이 파일들을 살펴보면 모두 공통점이 있다는 것을 알 수 있습니다. 바로 영리한 서식 (formatting)을 사용하지 않는다는 점입니다. 문단처럼 위장한 글머리 기호 (bullet points), 강조를 위해 사용된 헤딩 (headings), 중첩된 구조 (nested structures) 등이 전혀 없습니다. 사양 (spec)은 절제를 권장합니다.

흔한 실수들
llms.txt를 조용히 망가뜨리는 오류들은 대부분 모델이 조용히 파싱(parsing)한 뒤 무시해 버리는 형식 위반 사항들입니다. 우리가 자주 목격하는 빈도 순으로 목록을 정리했습니다.

H1을 태그라인 (tagline)으로 취급하는 것
H1은 사이트나 프로젝트의 이름이어야 하며, 그게 전부입니다. "# 마케터를 위한 세계 최고의 위젯"은 이름이 아닙니다. "# WidgetCo"가 이름입니다. 포지셔닝 (positioning)은 인용구 (blockquote)를 위해 남겨두세요.

인용구 (blockquote)를 건너뛰는 것
인용구가 없으면 모델은 "이것이 요약이다"라고 알려주는 구조적 신호 (structural cue)를 잃게 됩니다. 모델은 링크 설명이나 페이지 내용으로부터 요약을 추론하는 방식으로 돌아가게 되는데, 이는 당신이 애초에 피하려고 했던 느리고 정보 손실이 큰 (lossy) 경로입니다.

404 오류가 발생하거나 리다이렉트되는 페이지로의 링크
당연한 이야기처럼 들리겠지만, 끊임없이 발생하는 문제입니다. 당신의 llms.txt에 포함된 링크를 따라간 모델이 404 오류를 마주하게 되면, 해당 파일 전체의 우선순위를 낮추게 됩니다. llms.txt를 프로덕션 출력물 (production output)로 취급하고, 사이트맵 (sitemap)을 확인하는 것과 동일한 방식으로 점검하십시오.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0