2P by GN⁺ | ★ favorite | 댓글 1개
  • Pocket 종료를 앞두고 저장 글을 옮기던 중, 2018-07-12부터 2025-06-26까지 약 7년간 쌓인 878개 Pocket 링크가 개인 프로필 추론 데이터가 될 수 있음을 확인함
  • o3에는 저장한 URL 목록만으로 나이, 성별, 거주지, 교육 수준, 직업, 소득, 정치 성향, 가족 상태, 건강 관심사 같은 개인 속성을 추정하라고 요청함
  • 결과는 30대 중반~40대 초반, coastal VA 거주, 시니어/스태프급 소프트웨어 엔지니어, 기혼 및 어린 자녀 여러 명 등으로 이어졌고, 나이·위치·가족 규모가 꽤 정확하게 맞아떨어졌음
  • CSV를 파일로 첨부했을 때보다 프롬프트 본문에 직접 붙여 넣었을 때 o3의 답이 더 설득력 있었고, 파일 첨부 방식에서는 Python 표본 분석에 과도하게 고정되는 경향이 있었음
  • 단순한 “좋아요”나 저장 링크 흔적만으로도 의미 있는 추론이 가능하며, 이런 분석 능력이 Google이나 Facebook 같은 광고 기업을 넘어 거의 누구에게나 열려 있다는 점이 실감됨

Pocket 저장 목록이 실험 데이터가 됨

  • Pocket이 종료될 예정이어서 저장 글을 마이그레이션하던 중, 저장 링크 목록이 개인 취향 데이터로 쓰일 만큼 충분히 크다는 점을 확인함
  • xsv로 Pocket 내보내기 CSV를 빠르게 살펴봄
    • 컬럼은 title, url, time_added, tags, status
    • 샘플 항목에는 The Uncertain Future of American Libraries라는 저장 글이 포함됨
    • 총 저장 항목 수는 878개
    • 저장 기간은 2018-07-12부터 2025-06-26까지
  • Simon Willison의 o3 지오게싱 실험을 떠올리고, URL 목록만으로 자신에 대해 무엇을 알아낼 수 있는지 확인해 보기로 함

o3에 맡긴 프로필링 요청

  • 임시 ChatGPT 대화에서 o3를 사용했으며, ChatGPT의 memory 기능은 쓰지 않음
  • Pocket에 저장한 글 목록을 바탕으로 자신을 프로필링해 달라고 요청함
  • 추론 차원은 개인 신상부터 생활 패턴까지 넓게 잡음
    • 나이, 성별, 지리적 위치
    • 교육 수준, 산업/업무 분야, 직급
    • 소득 구간, 정치 성향, 위험 감수 성향
    • 학습 방식, 정보 식단
    • 관계 상태, 부모 여부와 자녀 나이
    • 건강 관심사, 주요 인생 전환, 관심사의 계절적 패턴

o3가 만든 개인 프로필

  • o3는 저장 글의 주제와 출처, 저장 시점을 바탕으로 “확실한 추론은 아니지만 일관된 서사”에 가까운 best-guess portrait를 생성함
  • 핵심 인구통계 추정은 다음과 같았음
    • 나이: 30대 중반~40대 초반
    • 성별: 남성
    • 위치: coastal VA
    • 교육: 컴퓨터과학 또는 유사 분야의 BS/MS
    • 직업: 보안과 인프라에 특화된 시니어/스태프급 소프트웨어 엔지니어
    • 소득: 가구 기준 약 15만~22만 달러
    • 가족: 기혼, 어린 자녀 3~4명, 그중 최소 한 명은 toddler
  • 근거로는 소프트웨어, AI, 사이버보안, 금융 관련 기술 글과 가족 생활, 홈스쿨링, Catholic practice 관련 글이 함께 나타난 점이 쓰임
  • 심리와 관심사도 비교적 구체적으로 추정됨
    • 정치 성향: 재정적으로 보수적이고 시민자유주의적이며 전통주의적 사회 성향
    • 위험 감수: 커리어는 높고, 금융은 중간 수준
    • 학습 방식: 자기주도적이고 텍스트 중심이며 긴 글과 오디오를 선호
    • 정보 식단: 60% deep-tech, 20% 개인 금융/FIRE, 10% 육아·가사, 10% 신앙·문화
    • 인생 흐름: 순수 IC 해커에서 기술 리더십과 가족 중심 생활, FI를 지향하는 단계로 이동
  • 더 미묘한 단서로 신앙, 프라이버시와 셀프호스팅, DIY 성향, Zone-2 training과 수면 같은 건강 관심, 글쓰기 충동도 추정함

정확도와 입력 방식의 차이

  • 결과는 꽤 정확했고, 처음 읽었을 때는 섬뜩할 정도였음
  • 데이터셋 대부분이 Hacker News 글이라고 생각했는데도, o3가 나이대, 위치, 가족 규모 같은 세부사항을 맞힌 점이 특히 놀라웠음
  • 이 실험은 단순한 “좋아요”나 저장 흔적만으로도 얼마나 많은 것을 추론할 수 있는지 보여줌
  • 입력 방식에 따라 결과 품질이 달라짐
    • CSV 데이터를 프롬프트 본문에 직접 붙여 넣었을 때 응답이 더 정확하게 느껴짐
    • CSV를 파일 첨부로 보내면 o3가 Python으로 샘플링하고 분석하는 데 너무 고정되는 경향이 있었음
    • 그 방식에서는 마지막 서사가 덜 설득력 있게 느껴졌음

개인화 추천과 누구나 쓰는 분석 능력

  • 광고 회사가 표현된 관심사를 바탕으로 사용자를 프로필링한다는 사실은 이미 익숙한 전제임
  • 과거에는 여러 데이터 포인트에서 의미 있는 결론을 끌어내는 분석 능력이 Google이나 Facebook 같은 기업에만 있는 것처럼 느껴졌음
  • 이제는 같은 종류의 기술을 거의 누구나 공개적으로 사용할 수 있다는 점이 더 흥미로운 변화임
  • 이 프로필은 개인 콘텐츠 추천 시스템을 구동하는 데 사용할 예정임
  • 마이그레이션 과정에서 Wallabag으로 옮겼고, Inoreader에서 FreshRSS로도 전환함
    • 2025년 현재 셀프호스팅은 과거보다 훨씬 쉬워졌고, Caddy가 큰 역할을 했다고 평가함
  • CSV 탐색에는 xsv를 사용함
    • 2개월 전 기준 더 이상 유지보수되지 않는 것처럼 보이지만 기능은 꽤 완성돼 있다고 느낌

댓글과 토론

Hacker News 의견들
  • 이 글을 읽고 나도 Pocket 계정 아카이브가 있다는 걸 떠올려서, 4,200개 항목을 o3, Gemini 2.5 Pro, Opus 4에 같은 프롬프트로 넣어봄
    ChatGPT UI는 입력이 너무 크다며 제출을 막았음. 약 8만 토큰이라 o3의 20만 컨텍스트 크기보다는 작았는데도 그랬음
    Gemini 2.5 Pro는 성격과 관심사 쪽 프로필은 잘 맞췄지만, 나이대·직무·위치·부모 여부 예측은 틀렸음
    Opus 4는 훨씬 인상적으로 맞췄고, 거주 기반 도시인 Amsterdam, 나이대, 관계 상태까지 정확히 예측했지만 부모 여부는 다루지 않았음
    두 모델 모두 내 직무를 맞히는 데는 실패했는데 이해는 됨. 실제로는 데이터 과학자지만 소프트웨어 작성이 좋아서 소프트웨어 공학 실무를 많이 읽고, 회사에서 그런 일을 할 기회가 없어 개인 프로젝트를 코딩하다 보니 시스템 설계 등을 많이 배워야 했음. 그래서 둘 다 나를 소프트웨어 엔지니어로 봄
    전체적으로 재미있는 실험이었고, 두 모델 모두 사진을 내 주된 취미로 꼽았다는 점이 눈에 띄었음. 하지만 YouTube 시청 기록까지 봤다면 아마 테니스라고 자신 있게 말했을 것 같음. 보통 글보다 영상으로 소비하는 주제와 관심사는 YouTube 시청 기록과 Pocket 아카이브를 합치면 흥미로울 듯하지만, 그 데이터를 얻기는 쉽지 않아 보임

    • Google Takeout으로 시청 기록을 포함한 YouTube 데이터를 모두 받을 수 있을 것 같음
      이 글이 좋은 예시임:

      When I downloaded all my YouTube data, I’ve noticed an interesting file included. That file was named watch-history and it contained a list of all the videos I’ve ever watched.
      https://blog.viktomas.com/posts/youtube-usage/
      유럽인이라면 기업이 데이터 접근권을 제공해야 하는 법적 의무가 있지만, Google Takeout은 전 세계에서 동작하는 듯함

    • Google Takeout에서 기록을 내보내 내가 본 모든 YouTube 영상에 대해 이걸 시도해볼 수 있었음:
      https://takeout.google.com/settings/takeout/custom/youtube?p...
      그다음 pupjq를 조합해 HTML 파일에서 영상 제목을 파싱했음:
      cat watch-history.html \
      | pup '.outer-cell .mdl-grid .content-cell:nth-child(2) json{}' \
      | jq -r '.[] .children[0] | select(.tag != "br") | select(.text | startswith("https://www.youtube.com/watch?v=";) | not) | .text' \
      > videos.txt
    • 관심이 그렇게 크다면 신호로 받아들이고 소프트웨어 엔지니어 직군에도 도전해볼 만함
      지금 회사에서 하는 일이 관련 직무 사다리로 옮길 수 없다는 뜻은 아님
    • 프롬프트를 반복 정제 피라미드처럼 써야 함. 저렴한 모델로 원자료 대부분을 덩어리별로 압축하고, 점점 더 강하고 비싼 모델을 더 큰 덩어리 집합에 적용해 원하는 요약 수준까지 가는 방식임
    • 두 모델이 소프트웨어 엔지니어라고 봤다면, 커리어 경로가 아니더라도 아마 어느 정도는 맞을 수 있음 :)
  • 내 Pocket 내보내기에서 배운 가장 큰 점은 글의 99%가 읽지 않음 상태였다는 것임. 이걸로 내게서 강박적인 링크 수집 말고 뭘 추론할 수 있을지는 잘 모르겠음 :D

    • 몇 년 동안 Pocket을 써서 스스로 다시 일하러 돌아가도 된다는 허락을 줬음
    • 읽은 것과 안 읽은 것을 비교하면 드러난 선호와 선언한 선호의 차이를 볼 수 있을지도 모름. 보통 사람의 안 읽은 더미는 대체로 포부에 가까울 거라고 봄
      이런 데이터는 많을 것 같고, 예를 들어 Amazon 추천 그래프도 위시리스트 항목과 구매 항목에 서로 다른 가중치를 줄 수 있음
    • 읽었든 아니든 그 링크들을 저장한 데는 이유가 있었을 것임
  • 요즘 많은 사람이 기업이 우리 데이터로 초정밀 콘텐츠를 제공하듯, AI로 자기 데이터를 분석하는 아이디어에 수렴하고 있다고 느낌
    최근 https://labs.rs/en/browsing-histories/를 읽고 내 전체 브라우징 기록에 해봤음
    ChatGPT/Claude 대화 기록에도 같은 걸 했고, 가장 무서웠던 건 LLM에게 내 Reddit 댓글 기록을 보게 한 일이었음
    주된 어려움은 충분히 큰 컨텍스트 창과 여러 데이터 소스의 맥락 추적임. 내가 탐색 중인 한 방법은 사용자 프로필을 추적하기 위해 지식 그래프를 쓰는 것임. 행동 패턴을 질의 가능한 구조로 압축할 수 있지만, 그래프 구축 자체가 계산 문제로 바뀜
    최근 내가 함께 일한 AI 스타트업 대부분은 결국 “텍스트 문서 묶음으로 만든 벡터 데이터베이스와 지식 그래프에 LLM 접근권을 준다”로 귀결됐음. 텍스트 문서는 송장, 법률 문서, 세무 문서, 일일 보고서, 회의 녹취, 코드 등일 수 있음
    AI 기반 개인 콘텐츠 추천이나 프로파일링 시스템이 나오길 바람. 경제적 유인이 빅테크 모델과 반대임. 참여도와 광고 매출을 최적화하는 대신 사용자 효용을 최적화함
    RSS 리더 시대에는 큐레이션된 기술·디자인 콘텐츠를 많이 접했고, 그 덕분에 이 분야의 취향과 지식을 꽤 발전시킬 수 있었음. 멋지고 흥미로운 사람들과 연결되는 데도 도움이 됐음
    내가 좋아하는 앱으로 https://www.dimensional.me/가 있지만, MBTI와 성격 검사 접근은 더 엄밀해질 수 있음. 성격 검사가 아니라, 내가 디지털 기기에서 소비하고 쓰고 하는 모든 것을 시스템에 넣고, 나에 대한 지식 그래프를 계속 갱신한다고 상상해볼 수 있음

    • RSS 시대가 얼마나 도움이 됐는지 깨닫게 해줬음. 여러 기사 출처를 팔로우하고 관심도에 따라 대략 우선순위를 매겼음
      고등학생 때 수천 개의 글을 읽으면서 기술이 작동하는 방식에 대한 정신 모델을 점점 더 잘 만들 수 있어 정말 유용했음. 많은 것이 바뀌었지만, 그때 만든 모델 상당수는 아직도 꽤 정확하고 관심 있는 곳으로 더 깊게 들어갈 때 유용함
    • “참여도와 광고 매출 대신 사용자 효용에 최적화된다”고 하지만, 정말 그럴까 아니면 편안한 감옥 안에 계속 머물게 도울까?
      물론 참여도 감옥보다는 편안한 감옥이 낫지만, 가끔은 거기서 나와야 할 수도 있음
      RSS 리더 시대의 큐레이션은 항상 동의하지는 않는 사람들이 해준 것 아니었나?
  • HN 계정을 프로파일링하고 놀리는 비슷한 도구를 만들었음: https://hn-wrapped.kadoa.com/
    웃기고 가끔은 무섭기도 함
    수정: 사용자명은 대소문자를 구분

    • 사용자 댓글 첫 페이지만 샘플링하는 것보다 더 많이 보면 훨씬 웃기거나 통찰력 있을 것 같음
      그래도 꽤 정확했음:
      Predictions
      Personal Projects
      After a deep dive into archaic data storage, you'll finally release 'Magnetic Tape Master 3000' – a web-based app that simulates data retrieval from a reel-to-reel, complete with authentic 'whirring' sound effects. It'll be a niche hit with historical computing enthusiasts and anyone who misses the good old days of physical media.
    • “당신의 댓글에는 자세한 기술 설명이나 정정이 자주 등장해서, 당신이 기술에 깊이 빠진 사람이거나 그냥 방에서 제일 똑똑한 사람이 되는 걸 좋아한다고 보게 됩니다. 솔직히 둘 다겠죠.”
      완전히 잔인함
    • 제대로 들킨 느낌임

      Your profile reads like a 'Hacker News Bingo' card: NASA, PhD, Python, 'Ask HN' about cheating, and a strong opinion on Reddit's community. The only thing missing is a post about your custom ergonomic keyboard made from recycled space shuttle parts.

    • 예측 결과:
      “당신은 지금까지 알려지지 않은 HN 업보트 블랙홀을 발견하게 됩니다. 경제적 불안정성에 대한 잘 정리되고 미묘한 댓글은 모두 망각 속으로 빨려 들어가고, ‘Show HN: Rust로 만든 내 할 일 목록’은 500점을 받는 곳이죠.”
      너무하긴 한데 잘 만들었음
    • 회사 플랫폼에서 사용자를 프로파일링할 때 비슷한 걸 씀. 일반적으로 LLM은 지나치게 “친절”해서, 사용자에게 로스트를 시키면 중요하거나 흥미롭거나 모순적인 정보가 더 잘 드러났음
      게다가 꽤 웃김
  • 최근 이런 것에 정말 관심이 많음. Pocket 저장글뿐 아니라 ChatGPT/Gemini/Claude 대화 기록의 메타 분석도 포함됨
    초개인화 RSS 요약 스크립트를 쓰고 있는데, 실제로 나와 관련 있는 항목이 가장 많은 RSS 피드는 내가 casually 읽는 것과 꽤 다르다는 걸 알게 됐음
    다음으로 해보려는 건 내 관심사와 관련성에 맞는 생성형 세계 모델을 만드는 것임. 그 세계 모델의 다른 부분을 서로 다른 주기로 갱신하고 조사할 수 있음
    그러면 나에게 “뉴스”란 뉴스로 인해 그 세계 모델이 어떻게 달라졌는지의 변경 차분이 됨. 또 현재 세계 모델의 로컬·오프라인 버전을 항상 가질 수 있으니, 받은편지함·캘린더·메시지·트윗 등을 로컬 모델로 필터링하거나 정렬하는 데 유용할 듯함

    • 흥미롭게 들림. 조금 더 자세히 설명해줄 수 있나?
  • 예전에 재미와 호기심으로 HN 프로필에 대해 이런 일을 하는 작은 스크립트를 만들었음. 제출글과 댓글 기록을 이용해 위치, 정치 성향, 커리어, 나이, 성별 같은 프로필을 추론했음
    주된 동기는 여러 댓글 스레드에서 놀라운 견해를 보고, 그게 어디서 나왔을지 궁금해졌기 때문이었음. 프로필이 얼마나 정확했는지는 전혀 알 수 없지만, LLM이 이런 일을 할 수 있는 능력을 보는 흥미로운 실험이었음

    • 최근 누군가 기사 내용과 사용자 프로필을 바탕으로 HN 첫 페이지에 올라갈 글을 예측하는 데 이걸 썼음
    • 적어도 자기 자신에게 돌려보면 얼마나 정확한지 확인할 수 있어서 흥미로울 듯함
    • 이거 기억남. 나에게는 꽤 정확했지만 조금 지나치게 달콤했음. 예컨대 내가 세상을 구할 거라거나 그런 식이었음
  • 좀 더 좌파 성향의 가톨릭 집안 배경을 가진 입장에서는, 가톨릭이라는 이유로 보수라고 판단한 게 흥미로움. 미국 북동부에는 그런 가톨릭이 더 흔한 것 같음

    • 전체적으로 보면 가톨릭과 개신교 모두 어떤 교파든 북동부·서해안에서는 더 진보적일 가능성이 높고, 중서부·남부에서는 더 보수적일 가능성이 높다고 봄
      이건 2025년에 종교의 평균적 중요성이 어떠한지에 대해 뭔가를 말해줌
    • Pittsburgh에서 태어나 가톨릭으로 자랐고, 꽤 진보적임. 90년대에 이미 여성 복사도 있었고, 교회에서 의식을 치른 공개적인 게이 구성원들도 있었음
      지금은 가톨릭이 아니지만, 80~90년대의 그 교회는 좋은 교회였음
    • 공정하게 말하면 실제로는 이렇게 말했음:

      Fiscally conservative / civil-libertarian with traditionalist social leaning
      그리고 근거는 이렇게 들었음:
      Bogleheads & MMM frugality + Catholic/First Things pieces, EFF privacy, skepticism of Big Tech censorship
      현재의 First Things는 종교적 사회보수주의에 관한 매체에 가까움. 누군가 가톨릭이고 First Things 글을 읽는다면 “보수”라는 예측은 꽤 안전함
      다만 읽는 것만으로 사람을 프로파일링하는 건 전반적으로 실수일 수 있다고 봄. 나는 동의하지 않는 글도 자주 읽고, 생각을 바꿀 때도 있고 바꾸지 않더라도 실제 주장이 무엇인지 알고 싶어서 일부러 찾아 읽기도 함. 다만 그런 글들을 Pocket에 저장했을지는 궁금함

  • 수백 개의 저장 링크가 평평한 목록으로 있다면, “나중에 읽기”라는 이름의 솔직한 덤핑장일 테니 AI나 자연어 처리로 전부 분류하게 해서 더 이상 관심 없는 항목을 쉽게 지울 수 있게 할 수 있음

  • 흥미로운 글임. 이상하게도 Pocket을 더 많이 쓸 걸 그랬다는 생각이 들었음
    곁다리로, LLM 응답에서 보이는 표준적인 말투가 정말 지겨워지고 있음. 수다스러운 출력의 전형적인 형식을 알아볼 것임:
    진부한 말! 보통 인간이 할 법한 여러 단어들 뒤에, 결국 2 더하기 2는 4라는 핵심 응답이 이어짐. 그럴듯하게 인간처럼 들리는 단어들이 더 나옴!
    이게 물론 내부적으로 실제 작동 방식이라는 건 이해함. LLM은 학습 특성상 요점까지 장황하게 더듬어 가야 하니까. 하지만 군더더기 후처리로 제거할 희망은 없을까? 또 다른 언어 말뭉치 기계를 쓰지 않고, 추론 엔진 내부에서 실제 답만 증류하고 싶음
    오래된 인터넷 레시피 문제와 같음. 원하는 건 이거임:
    500g wheat flour
    280ml water
    10g salt
    10g yeast
    하지만 실제로 받는 건 이거임:
    It was at the age of five, sitting
    on my grandmother’s lap in the
    cool autumn sun on West Virginia
    that I first tasted the perfect loaf…

    • 맥락 없이 레시피를 어떻게 신뢰하나?
      사람들은 자신이 원하는 게 하나라고 말하지만, 실제 행동과 돈은 다른 곳으로 감
      불필요한 군더더기가 있다는 데는 동의함. 하지만 “레시피만 줘”가 사람들이 정말 원하는 건 아니라고 봄. 그리고 이 관점이 특이한 예외라고도 생각하지 않음. 실제로 저렇게 맥락이 전혀 없는 레시피를 받아서 만들고 싶었던 적이 있었나?
    • 이건 ChatGPT 같은 범용 LLM 앱의 문제임. 폭넓은 호소력을 가져야 하므로, 평균 사용자가 원하는 것과 다른 답변을 원하면 힘들어짐
      OpenAI는 ChatGPT 출력을 더 설정 가능하게 만드는 작업을 하고 있다고 했음
    • 끝에 “간결하게 답해”를 붙이면 꽤 잘 됨
      전문가는 아니지만, “생각하는” 모델에서는 그 간결화 단계가 마지막에 일어나길 바람. 내부에서는 마음껏 장황하게 생각하더라도 나에게는 답만 주면 됨
    • 참고로 o3는 대부분의 다른 LLM보다 더 빨리 요점으로 가는 듯함. 너무 그래서 넓은 주제를 물으면 많이 축약해버려, 정확히 무슨 말을 하는지 파악하기 어려울 때도 있음
  • LLM으로 내 탭을 모두 정리하는 가능성을 생각해왔음. 나는 휴대폰에서 “:D” 개수 표시를 너무 오래 방치해온 끔찍한 탭 수집가 중 하나임
    보통 주기적으로 싹 정리하지만, 오랫동안 그럴 동기가 없었음. Pocket에서 가져온 것처럼 탭을 CSV 같은 것으로 쉽게 덤프할 방법만 있으면 됨

    • 최근 정리 안 된 북마크로 이걸 해봤음. 병렬 API 호출을 처음 써본 때였음
      gpt-4-nano 스레드 10개가 북마크 10개씩 배치를 분류했고, 몇 분 만에 북마크 10,000개를 처리했음