가이드

llms.txt v2: 무엇이 바뀌었나

llms.txt 제안이 최초 발표로부터 거의 2년 만인 2026년 8월에 개정되었습니다. 파일 형식 자체는 바뀌지 않았습니다. v1 파일은 여전히 유효한 v2 파일입니다. 바뀐 것은 파일을 둘러싼 모든 것, 즉 에이전트가 파일을 어떻게 찾는지와 스펙이 어떤 도구를 전제하는지입니다.

형식은 그대로

요구되는 구조는 이전과 정확히 같습니다. 선택적 BOM, 프로젝트 이름을 담은 H1(여전히 유일한 필수 요소), 블록 인용 요약, 제목이 없는 선택적 본문, 그다음 Markdown 링크 목록을 담은 0개 이상의 H2 섹션입니다. v1 기준으로 100점이던 파일은 지금도 100점입니다.

1. 에이전트가 URL을 추측하지 않게 하는 링크 관계

이것이 실질적인 추가 사항이며, 2년간의 도입에서 가장 많이 나온 요청에 대한 답입니다. 어떤 페이지가 주어졌을 때, 에이전트는 그 페이지의 Markdown 버전이나 그 페이지를 포괄하는 llms.txt를 URL을 추측하지 않고 어떻게 찾을까요?

v2는 두 가지 표준 링크 관계로 답합니다.

둘 다 HTML <link> 요소로 쓸 수 있습니다.

<link rel="describedby" href="/llms.txt">
<link rel="alternate" type="text/markdown" href="/docs/page.html.md">

…또는 HTTP 응답 헤더로도 쓸 수 있습니다. Markdown 파일 자체처럼 HTML이 아닌 리소스에는 이 방법뿐이며, 페이지를 하나도 건드리지 않고 웹 서버나 CDN 설정에서 추가할 수 있습니다.

Link: </docs/page.html.md>; rel="alternate"; type="text/markdown", </docs/llms.txt>; rel="describedby"

지금까지 rel="alternate" type="text/plain"으로 파일을 알리라는 조언을 따랐다면 — 저희 예전 가이드도 그랬습니다 — rel="describedby"로 바꾸세요. 스펙에 정해진 관계가 없던 동안에는 합리적인 관행이었지만, 이제는 정해져 있습니다.

2. 이제 두 가지 .md URL 형식이 모두 허용

v1은 페이지의 Markdown 쌍둥이에 대해 URL 형식을 하나로 정했습니다. 전체 페이지 URL에 .md를 붙이므로 page.htmlpage.html.md가 됩니다. 그런데 실제로는 여러 퍼블리싱 도구가 확장자를 교체해 page.md를 만들었습니다. v2는 둘 다 인정합니다. 파일 이름이 없는 URL에는 index.html.md 또는 index.md를 붙입니다.

여기에 마이그레이션은 없습니다. 이미 내보내고 있는 형식이 이제 올바른 형식입니다.

3. 하위 경로 파일이 제대로 정의됨

v1은 루트가 아닌 곳의 llms.txt를 허용했지만 그것이 무슨 의미인지는 말하지 않았습니다. v2는 정의합니다. 파일은 자기 경로 아래의 페이지들을 포괄하며, 둘 이상이 해당될 때 에이전트는 가장 구체적인 것을 사용한다. 즉 /docs/llms.txt/docs/ 아래 모든 것을 포괄하고, 문서 페이지를 읽는 에이전트는 루트 파일보다 이것을 선호합니다.

이는 호스트가 아니라 경로만 관리하는 경우에 중요합니다. GitHub Pages 프로젝트 사이트, 공유 도메인의 문서 영역 등이 그렇습니다. 스펙이 /.well-known/ 대신 관례적인 파일 이름을 유지하는 이유도 여기에 있습니다. well-known은 오리진 루트에만 존재할 수 있습니다.

실무적 결론: 에이전트가 관심을 갖는 부분이 문서라면, 그 문서만을 위한 /docs/llms.txt는 이제 회색 지대가 아니라 일급 선택지입니다.

4. 컨텍스트 확장 도구는 제거 (그리고 「Optional」은 기능을 잃었다)

v1은 llms.txt를 하나의 LLM 컨텍스트로 확장하는 llms_txt2ctx를 소개했습니다. v2는 이를 버리고 대신 기대를 직접 명시합니다. 에이전트는 llms.txt를 보거나 검색한 다음 필요한 링크를 따라갑니다. 따라서 링크는 LLM이 다루기 쉬운 콘텐츠를 가리켜야 하며, 파일 자체는 컨텍스트에 들어갈 만큼 작게 유지됩니다.

그 도구가 사라지면서 ## Optional 섹션의 기계적 의미도 사라졌습니다. 그 의미는 그런 도구에 무엇을 생략할지 알려주기 위해 존재했습니다. Optional 섹션은 여전히 허용되며, 에이전트가 건너뛸 수 있는 부차적 링크를 위한 유용한 관행으로 남아 있습니다. 다만 이제 자동으로 무언가를 작동시키지는 않습니다.

llms-full.txt는 두 버전 모두에서 스펙의 일부가 아니었다는 점에 유의하세요. 널리 채택된 업계 관행이며 큰 문서 모음에는 좋은 선택이지만, 요구 사항으로 취급하지는 마세요.

이번 주에 실제로 할 일

  1. llms.txt를 가리키는 rel="describedby"를 추가하세요 — 레이아웃에 한 줄, 또는 CDN 헤더 규칙 하나.
  2. Markdown 쌍둥이를 게시한다면 rel="alternate" type="text/markdown"으로 알리세요.
  3. rel="alternate" type="text/plain" 힌트는 모두 rel="describedby"로 바꾸세요.
  4. 가치 있는 부분이 문서라면 전용 /docs/llms.txt를 검토하세요.
  5. 검사기를 다시 돌리세요 — 이제 페이지가 v2 관계를 알리는지 보고하고, 하위 경로 파일도 v2가 에이전트에게 요구하는 방식으로 따라갑니다.

왜 개정되었나

전제가 더 이상 추측이 아니게 되었기 때문입니다. 2024년 9월 llms.txt가 제안되던 때 「에이전트가 당신의 웹사이트를 읽을 것이다」는 예측이었습니다. 지금은 문서 플랫폼이 이 파일을 자동 생성하고, Chrome의 Lighthouse가 agentic browsing 점검의 일부로 사이트에 이 파일이 있는지 감사하며, AI 연구소들이 자사 개발자 문서를 위해 llms.txt를 게시합니다. v2는 제안의 가정이 실제 도입으로 검증된 뒤의 모습입니다.

계속 읽기

당신의 llms.txt 검증하기 →