경제사 아카이브
경제가 일으키고 흔든 사건과 그 파장을 하나의 연대기 위에 잇는 개인 아카이브. 기원전 1만 년부터 2026년까지 사건 1,287개와 연결 4,921개, 모든 사건의 상세 리포트, 사건 속 인물 2,387명을 함께 본다
목차 · 7
경제사 아카이브는 경제가 일으키거나 흔든 사건, 그리고 그 파장이 정치·과학·문화·지리로 번져 간 길을 하나의 연대기 위에 잇는 개인 아카이브다. 사이트 첫 화면의 말처럼 모든 사건의 뒤에 있는 돈의 흐름을 따라간다. 10월 7일 아침 “이면”이라는 이름으로 2019~2026년 사건 250개를 담아 문을 열었다. 일주일 만에 기원전 1만 년부터 2026년까지 구간 10개, 사건 1,287개, 사건 사이 연결 4,921개, 심층 사건 1,042개, 근거 기사 581개가 됐다. 모든 사건에 상세 리포트가 붙어 있고, 사건 1,224개에는 주요 인물이 달려 있다. 인물은 2,387명이다.
위 영상은 이 아카이브를 소개하는 2분 59초짜리 앱 투어다. 실제 페이지를 끝까지 스크롤하며 사건 페이지 한 장에 담긴 정보와 리포트·인물·주식의 역사·주제·지역 메뉴를 차례로 보여 준다. 만든 과정은 개발로그 2화에 있다.
기원전 1만 년부터 2026년까지 사건 1,287개를 구간 10개, 국면 53개로 잇는다
연대기는 구간과 국면으로 나뉜다. 구간은 고대 문명부터 2019~2026년까지 10개, 국면은 53개다. 예를 들어 1945~1989년은 국면 6개에 사건 259개, 1990~2018년은 국면 8개에 사건 307개, 2019~2026년은 국면 9개에 사건 250개다. 왼쪽 목차에서 시대를 고르면 그 구간의 국면이 펼쳐지고, 국면을 고르면 사건이 날짜순으로 이어진다. 구간 하나를 더하는 일은 데이터에 한 줄과 국면을 더하는 것으로 끝나고, 목차와 연대기와 차트가 저절로 따라온다.
구간 페이지 맨 위에는 그 시대의 시장 흐름이 한 장에 그려진다. S&P 500, 닛케이, 미국 금리, 물가 상승률, 유가가 같은 시간축 위에 놓이고, 사건이 점으로 찍힌다. 점을 누르면 그 사건으로 간다.
사건 페이지는 속사정, 주요 인물, 상세 리포트, 연결, 그날 시장 순서로 내려간다
사건을 열면 무슨 일이 있었는지 짧게 적은 뒤, 그 사건의 경제적 뒷면을 속사정 상자로 풀어 쓴다. 그 아래에 주요 인물 칩과 상세 리포트가 붙는다. 리포트는 사건 1,287개 모두에 있고, 앞뒤 흐름까지 이어 읽게 본문 속 사건마다 링크가 걸린다. 그 아래에는 이 사건이 무엇을 일으켰고 무엇에서 이어졌는지가 연결로 나온다. 연결마다 원인, 계승, 파급 같은 관계와 함께 그 관계가 정설인지, 유력한 해석인지, 논쟁 중인지를 붙인다.
오른쪽에는 그날의 시장이 있다. 사건 당일과 다음 날, 20거래일 뒤의 지수와 금리 변화, 그리고 사건 전후 시세 차트다. 시세는 내가 따로 만든 미국 종목 아카이브 언내츄럴에서 읽는다. 맨 아래 근거 기사는 언내츄럴이 모은 뉴욕타임스·가디언 기사 가운데 사건 날짜 앞뒤 4일 안의 것을 칼럼을 빼고 붙인다.
뜻으로 찾는다: 의미 검색을 붙이자 상위 5개 정답이 0/24에서 23/24가 됐다
처음 검색은 단어 검색이었다. 세 글자 이상은 trigram 전문 검색, 짧은 말은 부분 일치로 찾는다. 단어 검색은 질문 속 단어가 사건 글에 그대로 있어야 찾는다. “달러 패권이 흔들린 순간”처럼 뜻으로 묻는 질문에는 약했다.
그래서 DGX Spark 한 대에 임베딩 모델 EmbeddingGemma 2를 llama.cpp로 띄우고, 사건마다 뜻 벡터를 만들었다. 검색은 뜻으로 찾은 상위 결과와 단어 검색 결과를 섞어 보여 준다. 질문 24개로 만든 평가에서 상위 5개 안에 정답이 든 질문은 단어 검색만 쓸 때 0개였고, 의미 검색을 섞은 뒤 23개가 됐다. 같은 벡터로 사건 페이지에 ‘닮은 사건’을 붙이고, 아직 이어지지 않은 사건 사이의 연결 후보도 넓혀 찾는다.
사건 사이의 연결은 후보를 뽑고 한 쌍씩 판정해 붙인다
연결은 손으로만 잇지 않는다. 후보 도구가 이어질 만한 사건 쌍을 뽑고(의미 검색으로 후보를 넓히기도 한다), 그 사건이 정말 다른 사건을 일으켰거나 이어받았는지를 한 쌍씩 판정해 붙인다. 구간을 열 때마다 이렇게 판정해 붙인 미래 연결이 297개, 469개, 394개였다. 연결이 여러 번 이어진 길은 파급 사슬로 따로 보여 준다.
사건 JSON 한 벌이 원본이고, 검사기가 문제를 0건으로 지킨다
모든 사건은 연도별 JSON 파일에 있다. 서버는 이 파일이 바뀌면 다시 읽어 바로 반영한다. 검사기는 데이터에 문제가 있으면 실패로 끝나고, 지금 상태 확인에서 문제는 0건이다. 서버는 Bun 하나로 페이지와 SVG 차트를 그리고, 시세와 기사는 언내츄럴의 SQLite 데이터베이스를 읽기 전용으로 연다. 언내츄럴 앱 안에서도 같은 사이트가 열린다.
사건 속 인물 2,387명에게 관계도와 연관 사건 페이지가 있다
사건마다 주요 인물 1~6명과 그 사건에서 한 일을 적고, 이름을 누르면 인물 페이지로 간다. 인물 페이지에는 생몰년과 직책, 요약, 다른 인물과의 관계도, 연관 사건 목록이 있다. 관계는 협력·대립·전임·후임 같은 명시 관계 4,145개와, 같은 사건에 함께 나온 공동 출현 두 가지로 그린다. 인물을 모으고 프로필을 쓴 과정은 개발로그 2화에 적었다.
다음은 인물 관계 전수 검증과 공개 범위다
인물 관계 4,145개는 아직 웹 자료와 하나씩 대조하지 않았다. 소개 영상을 만들며 표본을 보다가 틀린 관계 3건을 고쳤으니, 전체 검증을 먼저 돌린다. 그다음 시세 데이터의 재배포 권리와 AI가 쓴 글이라는 표시를 정리해 공개 범위를 정한다.