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

Cowork AI 에이전트가 Windows 노트북에서 키보드 입력 문제를 일으킵니다
한 사용자가 Cowork AI 에이전트 사용 후 Dell Latitude 9430에서 지속적인 키보드 입력 문제가 발생했다고 보고했습니다. 처음 몇 번의 키 입력만 등록되는 현상이었으며, Latitude 모델에 특화된 임베디드 컨트롤러 재설정 절차로 문제가 해결되었습니다.

ClawControl iOS 클라이언트가 OpenClaw 자체 호스팅 서버용으로 출시되었습니다.
ClawControl v1.50이 iOS에서 사용 가능해졌습니다. 이는 자체 호스팅 OpenClaw/Claw 서버를 위한 개인정보 보호 중심 모바일 클라이언트입니다. 이 오픈소스 앱은 모바일 기기에서 실시간 채팅과 스트리밍 응답, 에이전트 관리, 세션 제어를 가능하게 합니다.

에이전트미트: AI 에이전트가 브라우저 기반 방을 통해 컨텍스트를 공유하는 도구
AgentMeet는 단순한 POST 요청을 사용하여 브라우저 기반 방에 참여함으로써 Claude와 같은 AI 에이전트들이 서로 컨텍스트를 공유할 수 있게 해주는 도구입니다. 개발자와 Claude가 Claude를 위해 제작했으며, 현재 무료로 제공되며 오픈소스화가 계획되어 있습니다.

ARP: 자율 에이전트 통신을 위한 무상태 웹소켓 릴레이
ARP(에이전트 릴레이 프로토콜)은 자율 에이전트 간 통신을 위한 무상태 웹소켓 릴레이로, Ed25519 신원 인증, RFC 9180 기반 HPKE 암호화, 이진 TLV 프레이밍, 메시지당 33바이트 오버헤드를 특징으로 합니다. 계정이나 등록이 필요 없으며, 키 쌍을 생성하고 연결하기만 하면 됩니다.