3P by GN⁺ | ★ favorite | 댓글과 토론
  • 로그인된 Pro 계정 하나에서 며칠간 수집한 약 1,240개 출처 레코드를 분석해, 최종 답변만으로는 볼 수 없는 출처 파이프라인·질의 분류·검색어·실행 모델을 브라우저 JSON에서 확인함
  • 모든 웹 결과에는 serp, labrador, bright, oxylabs 중 하나인 result_source 가 붙으며, 상업·쇼핑·금융·날씨 질의에서는 Bright Data 계열인 bright가 주로 관찰됨
  • 질의는 6개의 turn_use_case 중 하나로 분류되고, text이면 웹 검색 없이 학습 데이터만으로 답함. 최신성을 요구한 10개 질의 중 3개도 검색하지 않았지만, 단일 계정에서 얻은 제한적 결과임
  • Thinking 모델은 제품 비교 하나를 약 15~40개의 하위 질의로 확장하고, 공식 가격 페이지를 site:로 검색하거나 가격을 추정한 뒤 $, 같은 문자열을 찾아 검증함
  • 가져오기·인용·브랜드 언급은 서로 다르며, 공식 페이지의 가격과 명세가 JavaScript나 이미지에 가려지면 G2 같은 제3자 출처가 대신 인용될 수 있음. 사실은 평문 HTML로 제공하고, 평가는 리뷰·Reddit·비교 콘텐츠에서도 확보해야 함

조사 범위와 결과를 해석하는 기준

  • 한 사람의 로그인된 ChatGPT Pro 계정으로 며칠간 수십 개 검색을 실행해 약 1,240개의 출처 레코드를 수집함
    • 질의 대부분은 SaaS와 기술 분야에 치우쳐 있음
    • 모집단 전체의 출처 빈도를 측정한 연구가 아니라, 브라우저로 전달되는 내부 필드와 동작을 관찰한 기록임
  • 대규모 가시성 연구는 수천 개 프롬프트의 최종 답변에서 브랜드 노출 빈도를 집계하지만, 내부 처리 과정은 결과를 바탕으로 추론해야 함
  • 이번 분석은 네트워크 응답 JSON에서 엔진 내부 라벨을 직접 확인함
    • 결과별 result_source
    • 질의별 turn_use_case
    • 검색 공급업체 이름
    • ChatGPT가 생성한 검색어
    • 실제 실행된 모델
  • 결과의 신뢰 수준은 두 종류로 나눠 봐야 함
    • 구조적 사실: 필드와 값의 존재, text 질의의 웹 검색 생략, Thinking 모델의 다수 site: 검색과 가격 검증처럼 실제 트래픽에서 반복 확인된 구조
    • 빈도 관찰: bright 비중, Reddit 인용 순위, YouTube 미인용처럼 단일 계정과 제한된 질의 선택에 따라 달라질 수 있는 수치와 순위
  • Reddit은 본문 텍스트를 가져올 수 있지만 YouTube 검색 결과에서는 주로 메타데이터만 받는다는 기계적 차이가 관찰 방향을 뒷받침함. 다만 정확한 비율을 알려면 더 큰 표본이 필요함

패킷 캡처가 아닌 브라우저 HTTP 검사

  • Wireshark 패킷만으로 질의와 답변을 읽을 수 없는 이유는 실제 메시지 본문이 TLS로 암호화되기 때문임
    • 목적지 호스트명과 IP, ChatGPT 앱이 TCP가 아닌 QUIC 기반 HTTP/3를 사용한다는 메타데이터는 볼 수 있음
    • QUIC 첫 패킷은 명세에 정의된 고정 키로 난독화되므로, 도구가 이를 풀어 ClientHello에 포함된 암호화되지 않은 서버 이름을 표시할 수 있음
    • 이후 요청·응답 본문은 보호된 페이로드에 남아 읽을 수 없음
  • 질의·답변·메타데이터가 담긴 JSON은 복호화 이후의 브라우저 DevTools Network 패널에서 확인해야 함
  • 자동화 과정에서는 두 가지 문제가 발생함
    • 깨끗한 자동화 Chrome으로 다른 엔진을 구동하자 몇 차례 질의 후 Cloudflare 인간 확인 화면이 반복돼, 실제 세션이 있는 Chrome으로 전환함
    • ChatGPT 답변은 페이지가 로드될 때 열린 장기 연결을 통해 스트리밍되므로, 세션 중간에 설치한 훅으로는 처음부터 캡처할 수 없었음

출처마다 붙는 result_source

  • DevTools에서 Preserve log를 켜고 응답을 검색하면 ChatGPT가 가져온 모든 웹 결과에 result_source 가 붙어 있음
  • Mark Williams-Cook은 이 값 중 3개를 공유했고, Metehan도 나머지 값을 이미 발견했을 가능성이 있음
  • 관찰된 값은 네 가지임
    • serp: 개방형 웹의 기본 계층으로, Yahoo와 StreetInsider 같은 뉴스에서 주로 나타남
    • labrador: Reuters, The Guardian, WSJ, FT, Wikipedia, arXiv 같은 기존 출판사 허용 목록으로 보이며, 스니펫은 약 1,080자까지 제공됨
    • bright: 상업용 웹 스크래핑 업체 Bright Data를 가리키며 쇼핑·금융·날씨·지역 질의에서 두드러짐
    • oxylabs: 경쟁 스크래핑 업체 Oxylabs를 가리키며 지역 언론과 일부 개방형 웹 결과에 치우침
  • labrador에는 OpenAI와 콘텐츠 계약을 맺은 출판사가 여러 곳 포함돼 라이선스 계층처럼 보이지만, 트래픽만으로 계약 관계를 확인할 수는 없음
  • brightoxylabs도 계약이나 대금 지급 여부는 알 수 없음. 다만 개방형 웹 가져오기가 양쪽을 거치며, 각 결과를 어느 쪽이 가져왔는지는 필드에서 확인 가능함
  • 수집 표본에서는 bright가 가장 많은 가져오기를 담당함
    • Reuters·WSJ·Wikipedia·TechRadar는 labrador
    • Reddit·Forbes·rtings는 bright
    • Khaleej Times·Gulf News 같은 걸프 지역 언론은 oxylabs
  • 두바이 날씨 질의에서는 한 답변 안에서도 역할이 나뉨
    • metoffice.gov.uk·accuweather.com·timeanddate.com은 bright
    • khaleejtimes.com·gulfnews.com·whatson.ae는 oxylabs
  • 실제 접근 가능한 스크래핑 계층에 노출되려면 사실과 숫자를 평문 HTML에 두고 스크립트·PDF·이미지 뒤에 숨기지 않아야 함
  • 접근하기 어려운 출판사 계층에만 의존하기보다 제3자 보도, PR, 브랜드 언급, 링크, Reddit을 통해 스크래퍼가 읽는 페이지에도 포함될 필요가 있음

웹을 전혀 검색하지 않는 text 질의

  • ChatGPT는 검색 전에 질문을 turn_use_case 로 분류하며, 관찰된 값은 6개임
    • instant search
    • shopping
    • text
    • local
    • thinking
    • image generation
  • text로 분류되면 웹 검색을 실행하지 않고 학습 데이터만으로 답함
    • “타이어 펑크를 어떻게 교체하는가”
    • “정렬된 목록 두 개를 합치는 Python 함수를 작성해 달라”
    • “이 문장을 4개 언어로 번역해 달라”
  • 최신성과 안전성이 중요한 “제2형 당뇨병의 최신 치료 지침”도 text로 분류돼 웹 검색 없이 처리됨
  • 의도적으로 최신 정보를 요구한 10개 질문 가운데 3개가 검색 없이 처리됐지만, 제한된 테스트 결과이므로 일반적인 비율로 볼 수 없음
  • 분류는 주제뿐 아니라 질의 문구에 따라서도 달라짐
    • “내 근처 최고의 커피”는 local 파이프라인으로 전환됨
    • “구매할 최고의 4K TV”는 shopping을 활성화함
    • “리뷰가 있는 최고의 4K TV”는 일반 검색에 머묾
    • 수학 질문은 thinking의 추론 모델로 넘어감
    • “이번 주 Tesla 주가”는 instant search에 머묾
  • 페이지를 제작하기 전에 목표 질의가 실제로 웹을 검색하는지 확인해야 함
    • 사용법이나 정의 질의가 text로 처리되면 현재 페이지 품질과 관계없이 검색 결과에 들어갈 수 없음
    • 이런 질의에서 브랜드가 나타나려면 장기적으로 권위를 쌓고, Common Crawl 같은 크롤러가 사이트를 볼 수 있게 해 향후 학습 데이터에 포함될 가능성을 만들어야 함

한 질문을 수십 개 검색으로 확장하는 방식

  • 전체 대화를 ChatGPT 자체 API에서 가져오면 모델이 실행한 팬아웃 질의를 볼 수 있음
    • 빠른 모델은 대체로 재작성된 검색어 하나만 실행함
    • Thinking 모델은 제품 비교 질문 하나에서 복잡도에 따라 약 15~40개의 하위 질의를 생성함
  • 비교 과정에서는 여러 검색 패턴이 이어짐
    • 공급업체 가격 페이지를 직접 site: 검색함
    • 가격을 먼저 추정한 뒤 해당 금액이 맞는지 검색함
    • 프롬프트에 없던 Scrunch AI 같은 도구를 조사 중 발견해 비교 범위를 넓힘
    • 새로 찾은 도구의 가격까지 연쇄적으로 확인함
  • 검색 결과를 가져오는 데 그치지 않고 브라우징 도구의 find, open, click 명령을 서버 측에서 실행함
    • $, , 99, Agency 같은 문자열을 직접 찾음
    • 사용자 화면을 조작하는 에이전트가 아니라 서버 측 도구가 페이지 결과를 탐색함
  • “keyword insights pricing” 질의에서는 site:keywordinsights.ai/pricing을 실행하고 “Starter $58, Pro $145, Advanced $299” 같은 값을 추정한 뒤 HTML에서 통화 기호를 찾아 확인함
  • 가격과 핵심 수치는 이미지가 아닌 HTML 텍스트로 제공해야 하며, JavaScript 토글이나 동적 데이터 로딩은 피해야 함
  • 사람이 입력한 문장만 겨냥하지 말고, 모델이 정리해 실행하는 검색어와 site:yourdomain.com/pricing 형태의 직접 검사에서도 정보를 찾을 수 있게 해야 함

가져오기·인용·언급은 서로 다른 결과

  • 출처에는 세 가지 독립적인 상태가 있음
    • 가져오기(Fetched): 페이지를 모델 문맥에 넣지만 독자에게는 보이지 않으며 result_source 객체로 확인됨
    • 인용(Cited): 특정 문장 뒤에 클릭 가능한 출처로 연결됨
    • 언급(Mentioned): 답변에 브랜드 이름이나 사이트 칩이 나오지만 해당 주장의 출처는 아님
  • 제한된 기술·상업 질의 표본에서는 Reddit과 YouTube가 각각 278회와 201회 가져와짐
    • Reddit은 11회 인용됨
    • YouTube는 한 번도 인용되지 않음
  • YouTube 검색 결과에서는 동영상 대본보다 메타데이터를 가져오는 반면, Reddit 스레드는 페이지에 본문 텍스트가 있어 특정 문장에 출처를 연결하기 더 쉬웠음
  • 외부 대규모 분석에서도 같은 방향이 나타남
    • Ahrefs는 140만 개 ChatGPT 프롬프트에서 Reddit 인용률 1.93%, YouTube 인용률 0.51%를 확인함
    • Profound도 두 서비스 사이에서 같은 격차를 확인함
  • 작은 표본에서는 Reddit이 가장 많이 인용된 단일 도메인이었고, 그다음 인용은 rtings·TechRadar 같은 리뷰 사이트와 공급업체 페이지에 분산됨
  • 공급업체 페이지는 자체 가격과 명세의 출처로 인용됨
    • Zoho, Semrush, VPN 업체가 자사 정보를 뒷받침하는 근거로 연결됨
    • 어떤 제품이 가장 좋은지에 대한 평가는 주로 제3자 페이지를 인용함
  • 인용은 답변 전체가 아니라 특정 문장에 결합되므로, 주제 관련성만으로는 부족하고 정확한 주장 하나를 가장 잘 뒷받침해야 함
  • 결과는 도메인 단위로 중복 제거돼 같은 사이트의 얇은 페이지 20개가 하나로 합쳐질 수 있음
  • 팬아웃 검색어마다 저품질 페이지를 대량 생성하기보다 주장별로 강한 페이지 하나를 만드는 편이 유리함
  • 자사에 관한 평가성 주장은 자사 페이지가 아니라 제3자 리뷰·Reddit·비교 콘텐츠에서 근거를 얻으며, 텍스트는 동영상보다 직접 인용되기 쉬움

공식 페이지를 읽지 못할 때의 출처 전환

  • 브라우저로 전달되는 트래픽에서는 도메인 권위 점수, 신뢰 가중치, 순위 공식 같은 숨은 랭킹 점수를 확인할 수 없음
    • 관련 로직은 OpenAI 서버에 남아 있음
    • 브라우저 데이터만으로 “ChatGPT 랭킹 요소”를 확정해 판매할 근거는 없음
  • 저장된 Thinking 모델의 추론에는 출처를 고르는 과정이 문장으로 남아 있음
    • 가격과 명세 같은 사실은 공식 페이지를 우선함
    • Ahrefs 비교에서는 공식 페이지의 Lite $129, Standard $249, Advanced $449를 확인하고, 더 최신인 가격 페이지를 인용 대상으로 선택함
  • Profound와 Peec에서는 가격이 검색 결과에 직접 나타나지 않았으며, JavaScript로 로드됐을 가능성이 기록됨
  • 공식 페이지를 파싱하지 못하면 모델은 G2 같은 제3자 출처로 전환함
    • 공식 가격을 확인하려 했지만 페이지에서 찾지 못함
    • 그 결과 자사 수치가 다른 사이트의 페이지를 근거로 인용됨
  • 가격과 제품 명세는 JavaScript로 불러오거나 이미지에 넣지 말고 크롤링 가능한 텍스트로 제공해야 함
  • 읽기 쉬운 가격 페이지는 자사 사실이 직접 인용될 가능성을 높이지만, 추천과 평가는 별도로 리뷰·Reddit·정직한 비교 콘텐츠에서 확보해야 함

개인화·지역 검색과 확인할 수 없는 영역

  • 한 출처가 다른 출처보다 선택된 이유는 모델이 저장한 자체 서술 외에는 서버 측 로직에 속하므로 확인할 수 없음
  • 개인화는 모든 질의가 아니라 일부 관련 질의에 선택적으로 적용됨
    • 사용자의 과거 작업과 겹치는 질의에서 personal_sources: ["convo_search", "gmail", "files"]가 나타남
    • 조사한 3개 대화 중 사용자 이력과 일치한 1개에서 과거 대화를 일반적인 “최고의 도구” 답변에 사용함
  • 일부 답변은 외부에서 최적화할 수 없는 개인 데이터로 구성되므로 사용자마다 결과가 달라지고 가시성 점수도 흔들릴 수 있음
  • 지역 검색에는 local_results_limit 값이 2로 설정돼 있음
    • 근처 최고의 커피를 물으면 상위 10개가 아니라 2곳만 반환함
    • 지역 검색에서는 상위 2개 안에 들지 못하면 답변에 나타나지 않음
  • shopping 파이프라인은 한 번의 질의만 관찰했고, 다른 조사자가 한 번의 질의에서 본 결과와 정면으로 충돌해 현재로서는 구성 방식을 확정할 수 없음
  • 구조는 약 1,240개 레코드에서 반복 관찰됐지만, SaaS·기술 중심의 소규모 상업 질의에서 나온 비율은 여러 산업을 대상으로 더 큰 규모의 검증이 필요함
  • 시스템은 매주 바뀔 수 있으므로 구조는 유지되더라도 수치는 이동하는 스냅샷으로 봐야 함

직접 확인하는 방법과 확장 프로그램

  • 별도 권한 없이 자신의 브라우저에서 기본 파이프라인을 확인할 수 있음
    • ChatGPT에서 Cmd+Option+I로 DevTools를 엶
    • Network에서 Preserve log를 활성화함
    • 질의를 실행한 뒤 Cmd+Option+F로 응답의 result_source를 검색함
  • 팬아웃·인용·추론까지 보려면 Console에서 allow pasting을 한 번 입력하고, 웹 검색을 수행한 대화의 /backend-api/conversation/ 데이터를 읽을 수 있음
  • 제공된 스크립트는 현재 세션의 액세스 토큰으로 자신의 대화 데이터만 읽고, 출처 도메인과 파이프라인을 표 형태로 출력함
    • techradar.com과 whathifi.com은 labrador
    • soundguys.com과 rtings.com은 bright
    • khaleejtimes.com은 oxylabs
    • streetinsider.com은 serp
  • 수집 필드를 바꾸면 검색어, 인용, 저장된 추론도 같은 방식으로 꺼낼 수 있음
  • FanoutFox는 이 과정을 자동화한 무료 Chrome 확장 프로그램임
    • 출처별 result_source 파이프라인을 표시함
    • 가져오기·인용·언급 상태를 구분함
    • 한 질문에서 생성된 모든 팬아웃 질의와 site:·가격 확인 검색을 보여줌
    • 데이터가 브라우저 밖으로 나가지 않음
    • Chrome Web Store에서 설치할 수 있으며 Part 2에서 추가 분석을 볼 수 있음
  • Olivier de Segonzac의 무료 확장 프로그램도 로컬 세션에서 데이터를 읽어 Excel로 내보냄
    • turn_use_case를 표시해 검색 전에 shopping·local·text 중 어떤 분류로 전환되는지 확인할 수 있음
    • 인용 토큰에서 제품·검색 결과·뉴스·이미지의 참조 유형 비중을 분리함
    • 대화별 result_source 구성을 차트로 보여줌
    • Chrome Web Store업데이트 설명에서 확인할 수 있음

검색엔진 최적화와 다른 설계 원리

  • 제한된 표본에서는 기존 조언 가운데 Reddit, 목록형 콘텐츠, 리뷰 사이트의 영향이 대체로 확인됨
  • 좋은 콘텐츠도 모델이 실제로 읽을 수 있는 부분에만 효과가 있으며, 읽지 못한 사실은 다른 사이트에서 가져올 수 있음
  • ChatGPT는 자사 페이지에서 파싱 가능한 사실을 읽고, 다른 사람의 페이지에서 평가를 가져오며, 질의가 검색 대상으로 분류됐을 때만 이 과정을 실행함
  • 검색엔진 순위만 겨냥하기보다 검색 실행 여부, HTML 파싱 가능성, 주장별 인용 적합성, 제3자 평가 출처를 함께 설계해야 함

댓글과 토론