AI가 웹사이트를 잘 이해하게 만드는 방법
2025-07-01
639
6분
soaple
안녕하세요, 소플입니다.
일상에서 LLM을 사용하는 사람들이 늘어나면서, 기존 검색엔진의 점유율이 점점 낮아지고 있습니다.
저도 이제는 어떤 정보에 대해 검색을 할 때, 구글이나 네이버 보다는 ChatGPT나 Claude와 같은 LLM을 통해 질문하고 답변을 받는 경우가 대부분입니다.
기존에는 검색엔진 최적화(Search Engine Optimization, SEO) 를 통해 웹사이트가 검색 결과에 잘 노출되도록 하는 것이 중요했습니다.
하지만 검색엔진을 사용하는 사람들이 점점 줄어들고, LLM이 웹사이트의 콘텐츠를 직접 분석하고 답변을 생성하는 방식으로 변화하고 있기 때문에,
어떻게 하면 AI가 웹사이트를 더 잘 이해하도록 만들 수 있을지에 대한 고민이 필요해졌습니다.
그리고 그 과정에서 등장한 것이 바로 llms.txt
입니다.
이번 매거진에서는 llms.txt
에 대해 한 번 알아보도록 하겠습니다.
llms.txt
란? 🤔llms.txt
는 Large Language Models를 위한 텍스트 파일로, 웹사이트의 루트 디렉토리에 배치하여 AI 모델이 해당 사이트의 콘텐츠를 더 잘 이해할 수 있도록 돕는 파일입니다.
기존에 웹사이트에서 llms.txt
와 유사한 역할을 하던 것으로는 robots.txt
파일이 있습니다.
https://example.com/robots.txt
robots.txt
파일은 웹 크롤러가 어떤 페이지를 크롤링할 수 있는지에 대한 규칙을 정의하는 파일입니다.
User-agent: *
Disallow: /private/
Allow: /public/
하지만 이제는 단순히 웹사이트를 검색엔진이 크롤링해서 제공하는 형태가 아닌,
AI 모델이 웹사이트의 콘텐츠를 이해하고 질문에 답변할 수 있도록 하는 것이 중요해졌습니다.
그리고 그 과정에서 AI 모델에게 웹사이트를 더 잘 이해시키기 위한 목적으로 등장한 것이 바로 llms.txt
파일입니다.
llms.txt
파일은 AI 모델이 웹사이트를 크롤링하거나 분석할 때 참고할 수 있는 메타데이터와 구조화된 정보를 제공하는 것이 목적입니다.
아래와 같이 웹사이트의 루트 경로에 llms.txt
파일을 배치하면, AI 모델이 해당 파일을 자동으로 인식하고 내용을 참고할 수 있습니다.
https://example.com/llms.txt
llms.txt
의 필요성 📌그렇다면 llms.txt
파일이 꼭 필요한걸까요?
기존에도 LLM은 웹사이트의 정보를 크롤링해서 활용할 수 있었습니다.
ChatGPT에서 도구 > 웹에서 검색하기
를 누르고 프롬프트를 입력하면, 웹을 검색하고 해당 웹페이지의 내용을 참고해서 답변을 제공하는 기능이 있죠.
하지만 LLM의 Context Window 크기 제한으로 인해 복잡한 HTML 페이지를 평문으로 변환하는 데 어려움이 있었습니다.
그래서 LLM이 웹사이트의 정보를 제대로 활용하지 못하고, 이상한 답변을 내놓는 경우가 종종 발생하기도 했습니다.
NOTE. Context Window란?
LLM이 한 번에 처리할 수 있는 입력 텍스트의 최대 길이를 의미하며, 이 크기를 초과하는 텍스트는 잘리거나 무시됩니다.
복잡한 웹사이트 전체를 처리하기에는 너무 작아 정보 처리가 제한적일 수 있습니다.
llms.txt
파일을 도입하면 이러한 문제를 효과적으로 해결할 수 있습니다.
웹사이트의 목적, 구조, 그리고 주요 콘텐츠를 명확하게 기술함으로써, AI가 보다 정확하고 관련성 높은 답변을 생성할 수 있습니다.
또한, 중요한 페이지와 섹션을 명시하면 AI가 우선적으로 참고할 대상을 파악해 크롤링 효율성을 높이고 불필요한 리소스 소모를 줄일 수 있습니다.
그리고 정확한 회사 및 프로젝트 정보를 제공함으로써 브랜드 일관성을 유지하고, 잘못된 정보 전달이나 오해를 예방할 수 있습니다.
llms.txt
파일 작성 방법 ⌨️llms.txt
파일은 마크다운 형식으로 작성하며, 다음과 같은 필수 섹션을 포함해야 합니다.
파일의 첫 줄에 웹사이트 또는 프로젝트의 이름을 #
로 시작하는 H1 제목으로 작성합니다.
# FastHTML
>
를 사용하여 프로젝트나 웹사이트의 간략한 개요를 제공합니다.
요약은 간결하고 핵심적인 정보를 포함해야 합니다.
> FastHTML is a python library which brings together Starlette, Uvicorn, HTMX, and fastcore's `FT` "FastTags" into a library for creating server-rendered hypermedia applications.
웹사이트에 대한 추가 정보를 단락이나 리스트 형태로 제공합니다.
중요한 주의사항, 사용 지침, 특징 등을 포함할 수 있습니다.
Important notes:
- Although parts of its API are inspired by FastAPI, it is *not* compatible with FastAPI syntax and is not targeted at creating API services
- FastHTML is compatible with JS-native web components and any vanilla JS library, but not with React, Vue, or Svelte.
관련 문서나 리소스의 URL을 리스트 형태로 제공합니다.
각 링크에는 간단한 설명을 추가하여 LLM이 해당 리소스의 목적을 이해하도록 돕습니다.
섹션은 ##
로 시작하는 H2 제목(예: ## Docs
, ## Examples
)으로 구분합니다.
## Docs
- [FastHTML quick start](https://fastht.ml/docs/tutorials/quickstart_for_web_devs.html.md): A brief overview of many FastHTML features
- [HTMX reference](https://github.com/bigskysoftware/htmx/blob/master/www/content/reference.md): Brief description of all HTMX attributes, CSS classes, headers, events, extensions, js lib methods, and config options
## Examples
- [Todo list application](https://github.com/AnswerDotAI/fasthtml/blob/main/examples/adv_app.py): Detailed walk-thru of a complete CRUD app in FastHTML showing idiomatic use of FastHTML and HTMX patterns.
필수적이지 않은 부가 정보는 ## Optional
섹션에 포함합니다.
## Optional
- [Dessert Menu](https://host/dessert.md): A subset of the Starlette docs
이렇게 llms.txt
파일을 모두 작성한 이후에는, 웹사이트의 루트 경로(예: https://example.com/llms.txt
)를 통해 공개적으로 접근할 수 있도록 배포해야 합니다.
그리고 배포한 이후 실제 LLM을 사용해서 웹사이트에 대한 정보를 올바르게 이해하는지 확인하면 됩니다.
NOTE.
llms-full.txt
파일
선택적으로llms-full.txt
파일도 제공할 수 있는데, 이 파일은 전체 문서를 하나의 마크다운 파일로 제공하기 위한 것입니다.
전체 문서의 내용을 담고 있기 때문에 파일의 크기가 굉장히 커질 수 있으며, Context Window 크기 제한을 초과할 수 있다는 점에 유의해야 합니다.
llms.txt
파일 생성 도구llms.txt
파일은 그 형식이 간단하긴 하지만, 아무래도 직접 작성하려면 귀찮은 부분이 있습니다.
그래서 아래와 같은 도구들을 활용하면 쉽게 llms.txt
파일을 생성할 수 있습니다.
llms.txt
를 생성하는 오픈소스 도구llms.txt
를 생성하는 CLI 도구llms.txt
파일 예시 📄아래는 앞에서 설명한 구조에 맞춰 작성한 FastHTML 프로젝트의 llms.txt
파일 예시입니다.
# FastHTML
> FastHTML is a python library which brings together Starlette, Uvicorn, HTMX, and fastcore's `FT` "FastTags" into a library for creating server-rendered hypermedia applications.
Important notes:
- Although parts of its API are inspired by FastAPI, it is *not* compatible with FastAPI syntax and is not targeted at creating API services
- FastHTML is compatible with JS-native web components and any vanilla JS library, but not with React, Vue, or Svelte.
## Docs
- [FastHTML quick start](https://fastht.ml/docs/tutorials/quickstart_for_web_devs.html.md): A brief overview of many FastHTML features
- [HTMX reference](https://github.com/bigskysoftware/htmx/blob/master/www/content/reference.md): Brief description of all HTMX attributes, CSS classes, headers, events, extensions, js lib methods, and config options
## Examples
- [Todo list application](https://github.com/AnswerDotAI/fasthtml/blob/main/examples/adv_app.py): Detailed walk-thru of a complete CRUD app in FastHTML showing idiomatic use of FastHTML and HTMX patterns.
## Optional
- [Starlette full documentation](https://gist.githubusercontent.com/jph00/809e4a4808d4510be0e3dc9565e9cbd3/raw/9b717589ca44cedc8aaf00b2b8cacef922964c0f/starlette-sml.md): A subset of the Starlette documentation useful for FastHTML development.
그 밖에 다음과 같은 다양한 기업들이 이미 llms.txt
파일을 도입하였고, 아래 링크에서 llms.txt
파일을 직접 확인할 수 있습니다.
llms.txt
의 미래 전망 ✨llms.txt
는 LLM이 웹사이트의 구조화된 정보를 효율적으로 이해하고 처리할 수 있도록 돕기 위해 제안된 새로운 표준입니다.
아직 공식적인 표준은 아니지만, robots.txt
가 검색엔진 최적화(SEO)를 지원하는 것처럼,
llms.txt
는 LLM이 웹 콘텐츠를 더 효과적으로 이해하도록 돕는 표준으로 자리 잡을 가능성이 있습니다.
명확한 마크다운 구조와 간결한 정보를 통해 AI가 웹사이트를 더 정확히 이해하도록 도울 수 있고,
결론적으로 AI가 웹사이트의 콘텐츠를 더 효과적으로 활용할 수 있게 됩니다.
llms.txt
는 아직 초기 단계이지만, AI 모델의 활용이 증가하면서 그 중요성도 커지지 않을까 조심스럽게 예상해봅니다 😀
이번 매거진에서는 AI 시대에 LLM이 웹사이트를 더 잘 이해하도록 돕는 llms.txt
파일에 대해 알아보았습니다.
아직 공식적인 표준은 아니지만, 각자 개발 중인 웹사이트에 llms.txt
파일을 추가해서 AI와 더 효과적으로 소통해보면 어떨까 싶습니다.
저는 다음에 또 유익한 글로 찾아뵙겠습니다!
지금까지 소플이었습니다. 감사합니다 😀
지금 가입하고 프론트엔드 개발 관련 매거진을 이메일로 받아보세요!