AI 어시스턴트가 웹 페이지를 가져오는 방법: ChatGPT, Claude, Gemini 등의 Nginx 로그 분석

한 개발자가 사용자가 특정 사이트에 대해 질문할 때 AI 어시스턴트가 웹 페이지를 실시간으로 가져오는지, 아니면 캐시된 인덱스에서 답변하는지 확인하기 위한 실용적인 실험을 수행했습니다. 맞춤형 Nginx 로깅을 설정하고 주요 챗봇에 고유한 쿼리 문자열을 포함한 프롬프트를 제공함으로써, 검색 행동에 대한 명확한 증거를 포착했습니다.
탐사 설정
이 테스트는 기본 결합 로그가 압축하는 헤더를 캡처하기 위해 맞춤형 Nginx 로그 형식을 사용했습니다:
log_format ai_probe escape=json '{' '"time":"$time_iso8601",' '"ip":"$remote_addr",' '"uri":"$request_uri",' '"status":$status,' '"ua":"$http_user_agent",' '"referer":"$http_referer",' '"accept":"$http_accept"' '}';
각 어시스턴트는 고유한 쿼리 문자열(/?ai=chatgpt, /?ai=claude 등)을 가리키는 프롬프트를 받아 귀속을 간단하게 했습니다. 일시적인 캐시 히트가 검색 패턴을 가리는 것을 피하기 위해 세션 간에 프롬프트를 재실행했습니다.
전용 사용자 에이전트로 자신을 알린 어시스턴트
다섯 가지 어시스턴트가 검색 특정 신호와 함께 도착했습니다:
- ChatGPT: ChatGPT-User/1.0 (Chrome 스타일 Accept, robots.txt 확인 없음)
- Claude: Claude-User/1.0 (*/* Accept, 항상 robots.txt를 먼저 확인)
- Perplexity: Perplexity-User/1.0 (빈 Accept 헤더)
- Meta AI: meta-webindexer/1.1 (*/* Accept, robots.txt 확인 없음)
- Manus: Manus-User/1.0 접미사가 붙은 Chrome UA (Chrome 스타일 Accept)
다섯 가지 모두 원본에서 페이지를 직접 가져왔습니다.
자신을 알리지 않은 어시스턴트
- Gemini: 프롬프트 창 동안 Google 사용자 에이전트로부터의 요청이 전혀 없었습니다. 라이브 제공자 측 가져오기를 수행하지 않고 전적으로 자체 인덱스에서 답변했습니다.
- Copilot: 일반 Chrome 135 on Linux x86_64, 전체 브라우저 스타일 Accept. 가져왔지만 인간 방문자와 구별할 수 없습니다.
- Grok: 일반 Mac Safari 26 및 일반 Mac Chrome 143. 가져왔지만 인간 방문자와 구별할 수 없습니다.
관찰된 주요 행동 패턴
ChatGPT: 동일한 버스트 내에서 여러 소스 IP로부터의 히트, 일반적으로 인용할 페이지를 결정하는 동안 여러 후보 페이지를 한 번에 가져옵니다. 24시간 생산 창에서 ChatGPT-User 요청은 23.98.x.x, 20.215.x.x, 40.67.x.x, 51.8.x.x, 51.107.x.x의 다섯 가지 별개의 Azure 범위에서 왔습니다.
Claude: 항상 페이지 가져오기 전에 /robots.txt를 가져옵니다. Anthropic 소유의 IP 공간인 216.73.216.0/24 범위에서 옵니다. 후행 슬래시 정규화를 포함하여 리디렉션을 깔끔하게 따릅니다. Anthropic은 세 가지 별개의 봇을 운영합니다: Claude-User(사용자 시작 검색), Claude-SearchBot(검색 인덱스), ClaudeBot(훈련 크롤러).
Perplexity: Accept 헤더나 리퍼러 없이 직접 가져오기. PerplexityBot(그들의 검색 인덱싱 크롤러)은 별도로 /robots.txt를 핑했습니다. 저자는 Perplexity가 라이브로 검색할 수 있지만 자체 인덱스에서 답변할 수 있기 때문에 반드시 그럴 필요는 없다고 언급합니다.
Gemini: 관찰된 라이브 제공자 측 가져오기가 없습니다. Google은 Gemini를 위한 검색 특정 사용자 에이전트를 공개하지 않으며, Google의 크롤러 문서에 따르면 AI 개요 및 AI 모드는 Googlebot이 채우는 동일한 검색 인덱스를 기반으로 합니다.
이 실험은 두 가지 신호를 구분합니다: 제공자 측 가져오기(어시스턴트가 전용 사용자 에이전트로 원본에 히트)와 실제 클릭스루 방문(사람이 AI 답변을 읽고 인용을 클릭하여 어시스턴트를 리퍼러로 하는 일반 브라우저로 도착). 둘을 단일 "AI 트래픽" 숫자로 결합하면 이 유용한 구분이 숨겨집니다.
📖 전체 Source 읽기: HN AI Agents
👀 See Also

PgAdmin 4 9.13, 쿼리 도구에 AI 어시스턴트 패널 추가
PgAdmin 4 버전 9.13은 AI가 구성된 경우 자연어에서 SQL을 생성할 수 있는 쿼리 도구 내 AI 어시스턴트 패널을 도입했습니다. 이 업데이트에는 방해 요소 없는 쿼리 편집을 위한 작업 공간 레이아웃과 임시 서버 연결 기능도 포함되어 있습니다.

AI 클로: 서버리스 브리지가 Alexa를 로컬 OpenClaw에 연결하고 이중 배송을 제공합니다
AI Claw는 Amazon Echo 스피커를 로컬 OpenClaw 인스턴스에 연결하는 Python AWS Lambda 파이프라인으로, 텔레그램과 네이티브 Echo 오디오 출력에 대한 이중 전송을 통해 fire-and-forget 아키텍처를 사용하여 Amazon의 8초 타임아웃을 우회합니다.

Google Research, AI 모델 압축을 위한 TurboQuant 소개
Google Research는 정확도 손실 없이 AI 모델 크기를 줄이는 압축 알고리즘 TurboQuant를 소개했습니다. 이는 벡터 양자화에서의 메모리 오버헤드를 해결하고 키-값 캐시 성능을 향상시킵니다.

Claude Code, 3주 견적 개발자를 6시간에 SaaS 온보딩 플로우 재구축, 활성화율 13% 향상
한 SaaS 창업자가 Claude Code를 사용하여 온보딩 플로우 전체(회원가입 → 프로필 → 첫 인보이스 → 대시보드 튜토리얼)를 6시간 만에 재구축했습니다. 개발자가 3주, $4,500을 견적했던 작업이었습니다. 활성화율이 35%에서 48%로 13% 포인트 상승했습니다.