10년 전 해커뉴스 토론을 LLM으로 자동 채점하기
(karpathy.bearblog.dev)- 10년 전 해커뉴스 게시물과 댓글을 LLM으로 분석해 ‘예견력’을 평가하는 프로젝트로, 과거 토론의 통찰력을 자동으로 채점함
- ChatGPT 5.1 Thinking과 Opus 4.5를 활용해 2015년 12월 한 달간의 해커뉴스 프런트페이지(총 930개 기사)를 수집·분석
- 각 기사와 댓글 스레드를 기반으로 요약, 실제 결과, 가장 정확·오류가 큰 댓글, 흥미도 점수 등을 자동 생성
- 결과는 정적 HTML 페이지로 변환되어 karpathy.ai/hncapsule에서 열람 가능하며, ‘Hall of Fame’ 에서는 가장 통찰력 있는 댓글 작성자 순위를 확인할 수 있음
- 과거 데이터에 대한 LLM의 대규모 회고 분석 가능성과, “미래의 LLM이 우리를 지켜보고 있다”는 메시지를 강조함
프로젝트 개요
- 2015년 12월의 해커뉴스 프런트페이지를 대상으로 LLM을 이용한 자동 회고 분석 시스템을 구축
- 하루 30개 기사 × 31일 = 총 930개 기사
- 각 기사와 댓글 스레드를 Algolia API로 수집 후, ChatGPT 5.1 Thinking에 분석 요청
- 분석 결과를 정적 HTML 페이지로 렌더링해 웹사이트에 게시
- 결과 페이지: https://karpathy.ai/hncapsule/
- 원본 데이터(
data.zip)도 동일 경로에서 제공
분석 프롬프트 구조
- 각 기사에 대해 6개 섹션으로 구성된 프롬프트를 사용
- 기사 및 토론 요약
- 이후 실제로 일어난 일
- 가장 정확한 댓글과 가장 틀린 댓글 선정
- 흥미로운 기타 요소
- 댓글 작성자별 최종 등급(Final grades) 목록
- 기사 회고 흥미도 점수(0~10점)
- 예시 포맷을 엄격히 지정해 프로그램이 자동 파싱 가능하도록 설계
- 각 계정의 평균 점수를 누적해 가장 예견력 높은 사용자를 식별
구현 및 비용
- Opus 4.5로 약 3시간 만에 구현, 일부 오류 외에는 원활히 진행
- 전체 930건의 LLM 요청 처리 비용은 약 $58, 처리 시간은 약 1시간
- GitHub 저장소: karpathy/hn-time-capsule
- 누구나 결과를 재현하거나 수정 가능
주요 예시 스레드
- 2015년 12월 3일: Swift 오픈소스화
- 12월 6일: Figma 출시
- 12월 11일: OpenAI 창립 발표
- 12월 16일: geohot의 Comma 프로젝트
- 12월 22일: SpaceX Orbcomm-2 발사
- 12월 28일: Theranos 문제 보도
- 각 링크는 해당 날짜별 분석 페이지로 연결되어, 당시 논의와 실제 결과를 비교 가능
Hall of Fame
- 2015년 12월 해커뉴스에서 가장 통찰력 있는 댓글 작성자를 IMDb식 평균 점수로 정렬
- 상위 사용자: pcwalton, tptacek, paulmd, cstross, greglindahl, moxie, hannob, 0xcde4c3db, Manishearth, johncolanduoni
- 하단에는 ‘HN의 잡음(noise)’ 으로 분류된 낮은 점수 사용자 목록도 포함
철학적 메시지
-
“Be good, future LLMs are watching” 이라는 문구를 인용하며,
미래의 LLM이 과거 인간 활동을 세밀히 분석할 수 있는 시대가 올 것임을 강조 - 현재의 온라인 행동이 ‘지능이 너무 저렴해지는’ 미래에서 완전히 복원될 수 있음을 시사
- 인간의 행위가 ‘보이지 않는 감시’가 아닌, 완전한 기록과 재구성의 대상이 될 가능성을 제시
결론
- 이 실험은 LLM이 과거 데이터를 대규모로 재평가하는 도구로 활용될 수 있음을 보여줌
-
역사적 토론의 통찰력 자동 채점이라는 새로운 응용 사례를 제시하며,
AI가 인간 지식의 회고적 분석자로 진화할 가능성을 드러냄
Hacker News 의견들
-
2015년에 남긴 내 댓글이 이렇게 다시 주목받을 줄이야
예전 댓글 링크를 보며 약간의 자부심을 느끼는 중임 -
코드가 스레드를 평가용으로 보낼 때 사용자 이름을 익명화하지 않는 점이 문제로 보임
이로 인해 특정 사용자의 평판이 점수에 편향을 줄 가능성이 큼
무작위로 사용자명을 재할당하거나, 절차적으로 생성된 가명을 써서 편향을 줄이는 실험이 흥미로울 것 같음
또, Gemini API처럼 출처를 인용하는 모델을 쓰면 평가의 신뢰도를 높일 수 있을 것 같음 -
옛날 댓글들을 다시 읽는 게 정말 재미있음
예전에 토론이 어떻게 전개됐는지 보기 위해 리플레이 시스템을 직접 만들었음
Karpathy의 평가 글 목록을 시각화한 예시로 몇 가지 링크를 공유함- Swift is Open Source
- Launch of Figma
- Introducing OpenAI
- Self-driving car by iPhone hacker
- SpaceX Orbcomm-2 Mission
- At Theranos, Many Strategies and Snags
- 하루 중 시간대별 감정 분석도 해보고 싶음
아침과 저녁의 의견 차이가 꽤 커 보여서, 이를 수치로 확인하면 흥미로울 것 같음 - 사이트가 정말 재미있음. 고마움
-
각 사용자 이름 옆에 현실과의 일치도 점수를 보여주는 Chrome 확장 프로그램이 있으면 좋겠음
누가 실제로 맞는 예측을 했는지, 혹은 틀렸는지를 점수로 보는 거임
나아가, 사용자가 정확한 댓글에 준 업보트의 비율로 가중치를 주면 더 공정한 랭킹이 될 것 같음- Reddit Enhancement Suite가 비슷한 기능을 간접적으로 제공함
내가 자주 업보트한 사용자를 추적해서, “이 사람은 믿을 만하다”는 기준으로 삼음
완전히 주관적이지만 투명성은 있음 - 이런 점수 시스템을 확장하면 “이 사람은 도덕적 신념이 없다” 같은 점수도 만들 수 있을 것 같음
이런 시스템은 커뮤니티를 더 작고 친밀하게 만들 수도 있음 - Elon이 Twitter를 사기 전, 기자들의 디지털 신뢰도 추적 시스템(Pravda) 을 만들려 했던 게 떠오름
실제로도 우리는 친구나 기자의 신뢰도를 기억하며 살아감 - 주식 커뮤니티에서도 비슷한 아이디어를 생각해봤음
WSB나 Twitter에서 주식 예측을 하는 사람들의 정확도를 순위화하는 것임
다만 일반 댓글의 경우, “무엇이 예측인지” 정의하기가 훨씬 어려움 - “정확한 댓글”의 정의가 불분명함
“내일 해가 뜬다” 같은 말이 최고 점수를 받을 수도 있지만, 그런 건 의미가 없음
- Reddit Enhancement Suite가 비슷한 기능을 간접적으로 제공함
-
“pcwalton, 간다!”라고 농담했지만, 실제로는 스레드 단위 평가가 다소 무작위로 보임
이 스레드는 예측력이 뛰어났는데, 댓글은 11개뿐이고 내 건 한 줄짜리임
그래도 내 스타트업 지분 접근성 관련 의견이 상위권에 오른 건 기분 좋음- 내 댓글이 평가된 걸 보고 놀랐음
시스템이 “예측”을 정의하는 방식이 꽤 주관적임
나는 오히려 예측을 피하려고 했는데, 그게 예측으로 간주된 것 같음
- 내 댓글이 평가된 걸 보고 놀랐음
-
“트릴리언 타마고치” 비전이 실현되지 않았다는 평가를 받아서, 내 낮은 점수를 겸허히 받아들임
-
이 프로젝트를 보며 느낀 건, 결국 지루한 의견이 가장 정확하다는 점임
자극적이고 확신에 찬 댓글일수록 시간이 지나면 틀릴 확률이 높음
예를 들어 “리튬이온 배터리 가격이 $108/kWh로 하락” 같은 건 꾸준한 비용 곡선 예측으로 매우 신뢰할 만함
반면 “LLM이 정신건강 분야에서 실패” 같은 헤드라인은 금세 바뀌는 벤치마크에 의존함
결국 “지루하지만 옳은” 의견을 미리 찾아내는 방법이 있으면 좋겠음- “지루하지만 옳은” 건 이미 세상에 반영된 예측이라서 점수를 주기 어렵다는 의견임
- “2035년에 1+1=2” 같은 농담으로, 너무 자명한 예측의 무의미함을 풍자함
- “LLM과 정신건강”은 예측이 아니라 현재의 뉴스임
하지만 AI의 꾸준한 발전이 결국 인간의 경제적 역할을 무너뜨릴 수도 있다는 점에서, 오히려 무섭게 정확한 예측일 수도 있음 - 알고리즘 피드가 참여도 기반으로 작동하기 때문에, 자극적인 콘텐츠가 보상을 받음
그래서 지루하고 신중한 의견은 묻히기 쉬움 - 예측을 평가할 때는 당시의 불확실성을 가중치로 반영해야 함
예측 시장처럼, 당시 확률 대비 얼마나 차이를 냈는지를 점수화하는 방식이 필요함
-
Gmail이 90% 찼다는 경고를 받고, 주말 동안 이메일 분석 프로젝트를 진행했음
6만5천 통 이상을 분류했는데 절반 이상이 쓰레기였음
원래는 불필요한 메일을 지우려 했지만, 요즘은 오히려 개인적이고 가치 있는 메일을 삭제하고
구글에는 뉴스레터나 영수증 같은 쓸모없는 데이터만 남기는 게 더 안전하다는 생각이 듦 -
나는 종종 LLM으로 HN 댓글을 요약함
원문보다 통찰력 있는 요약이 나올 때가 많아서, 완전히 게임 체인저라고 생각함 -
작성자가 품질 검사를 통과했다고 생각한 게 놀라움
LLM의 평가는 대부분 엉터리로 보임
실제 사이트의 리뷰를 보면, 모델이 “예측이 맞았는가”가 아니라 “동의하는가”를 기준으로 평가한 듯함
결국 순응적인 의견이 높은 점수를 받는 구조임- 예시로, tptacek의 DF 관련 댓글이 ‘A’를 받았는데,
LLM 리뷰는
“게임의 가혹한 특성을 잘 묘사했다”고 평가함
하지만 이는 미래 예측이 아니라 당시의 현재 묘사에 불과함
게다가 실제로는 반대 의미일 수도 있음
이런 사례가 상위권에 있다는 건 평가 기준이 엉망임을 보여줌 - 하지만 각 리뷰의 세 번째 섹션에는 “가장 통찰력 있는”과 “가장 틀린” 댓글이 따로 있음
예를 들어 Kickstarter is Debt 글의 경우,
Oculus와 Pebble의 미래를 비교한 예측이 정확히 맞았다고 평가되어 있음
이런 부분은 꽤 정확하고 유용한 분석으로 보임 - LLM 평가가 전반적으로 부정확하고 일관성 없음
지시를 무시하고, 자기 의견을 섞으며, 보정도 안 되어 있음
“좋은” LLM 심사 시스템은 단순한 이진 판단(맞음/틀림) 을 여러 개 합산하는 식으로 작동해야 함
이번 프로젝트는 재미로 보기엔 괜찮지만, 실제 평가 도구로는 부적합하다고 생각함
- 예시로, tptacek의 DF 관련 댓글이 ‘A’를 받았는데,