# ChatGPT는 실제로 어떻게 출처를 고르는가 (네트워크 트래픽 분석)

> Clean Markdown view of GeekNews topic #31476. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=31476](https://news.hada.io/topic?id=31476)
- GeekNews Markdown: [https://news.hada.io/topic/31476.md](https://news.hada.io/topic/31476.md)
- Type: GN+
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2026-07-16T09:38:59+09:00
- Updated: 2026-07-16T09:38:59+09:00
- Original source: [suganthan.com](https://suganthan.com/blog/how-chatgpt-picks-sources/)
- Points: 3
- Comments: 0

## Topic Body

- 로그인된 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](https://www.linkedin.com/posts/markseo_seo-activity-7475163074098987008-6rOq?utm_source=share&utm_medium=member_desktop&rcm=ACoAAA5HxykBBrrELSaiCU5K68YkjhUBR7L7CPg)은 이 값 중 3개를 공유했고, [Metehan](https://www.linkedin.com/posts/metehanyesilyurt_while-analyzing-chatgpts-user-interface-activity-7474912135588896768-8TNm?utm_source=share&utm_medium=member_desktop&rcm=ACoAAA5HxykBBrrELSaiCU5K68YkjhUBR7L7CPg)도 나머지 값을 이미 발견했을 가능성이 있음
- 관찰된 값은 네 가지임
  - **`serp`**: 개방형 웹의 기본 계층으로, Yahoo와 StreetInsider 같은 뉴스에서 주로 나타남
  - **`labrador`**: Reuters, The Guardian, WSJ, FT, Wikipedia, arXiv 같은 기존 출판사 허용 목록으로 보이며, 스니펫은 약 1,080자까지 제공됨
  - **`bright`**: 상업용 웹 스크래핑 업체 Bright Data를 가리키며 쇼핑·금융·날씨·지역 질의에서 두드러짐
  - **`oxylabs`**: 경쟁 스크래핑 업체 Oxylabs를 가리키며 지역 언론과 일부 개방형 웹 결과에 치우침
- `labrador`에는 OpenAI와 콘텐츠 계약을 맺은 출판사가 여러 곳 포함돼 라이선스 계층처럼 보이지만, 트래픽만으로 계약 관계를 확인할 수는 없음
- `bright`와 `oxylabs`도 계약이나 대금 지급 여부는 알 수 없음. 다만 개방형 웹 가져오기가 양쪽을 거치며, 각 결과를 어느 쪽이 가져왔는지는 필드에서 확인 가능함
- 수집 표본에서는 **`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](https://ahrefs.com/blog/why-chatgpt-cites-pages/)는 140만 개 ChatGPT 프롬프트에서 Reddit 인용률 1.93%, YouTube 인용률 0.51%를 확인함
  - [Profound](https://www.tryprofound.com/blog/chatgpt-reddit-youtube-citations)도 두 서비스 사이에서 같은 격차를 확인함
- 작은 표본에서는 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](https://fanoutfox.com/)는 이 과정을 자동화한 무료 Chrome 확장 프로그램임
  - 출처별 `result_source` 파이프라인을 표시함
  - 가져오기·인용·언급 상태를 구분함
  - 한 질문에서 생성된 모든 팬아웃 질의와 `site:`·가격 확인 검색을 보여줌
  - 데이터가 브라우저 밖으로 나가지 않음
  - [Chrome Web Store](https://chromewebstore.google.com/detail/fanoutfox-ai-answer-geo-i/efgemipiccaljhahdacjbbkcemelojlj)에서 설치할 수 있으며 [Part 2](https://suganthan.com/blog/how-chatgpt-picks-sources-part-2/)에서 추가 분석을 볼 수 있음
- [Olivier de Segonzac](https://www.linkedin.com/in/resoneo/)의 무료 확장 프로그램도 로컬 세션에서 데이터를 읽어 Excel로 내보냄
  - `turn_use_case`를 표시해 검색 전에 shopping·local·`text` 중 어떤 분류로 전환되는지 확인할 수 있음
  - 인용 토큰에서 제품·검색 결과·뉴스·이미지의 참조 유형 비중을 분리함
  - 대화별 `result_source` 구성을 차트로 보여줌
  - [Chrome Web Store](https://chromewebstore.google.com/detail/chatgpt-search-fan-outs-c/hlpghnnocnclmnkhmoacpoejpebfeifm)와 [업데이트 설명](https://think.resoneo.com/scrap-chatgpt-plugin/?lang=en)에서 확인할 수 있음

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

## Comments



_No public comments on this page._
