Leopold 개발로그 · 4화
438개 기업을 기업·가설 638쌍의 증거로 엮었다: 모델이 만든 링크는 버린다
엑셀 한 장에 있던 438개 기업을 검색과 그래프가 되는 웹앱으로 옮겼다. 조사 단위는 기업이 아니라 기업과 가설 한 쌍으로 잡았고, 모델이 만든 링크는 버리고 원문에 있는 문장만 증거로 남겼다. 8월 10일에는 그 전부를 노트 2,100개짜리 옵시디언 위키로 엮었다.
첫 주의 Leopold가 보던 관찰 종목은 50여 개였다. 그런데 1화에서 정한 목표는 미국과 한국 산업 전체를 보는 것이었다. 그 전체는 엑셀 파일 한 장에 정리돼 있었다. AI 인프라에 걸린 기업 438개, 한국 215개와 미국 223개의 전수 맵이다.
엑셀에서 웹앱으로
시트를 오가며 찾는 데 한계가 왔다. 8월 4일에 그 엑셀을 읽어 들여 브라우저에서 보는 웹앱을 만들었다. 위쪽 메뉴에서 가설을 고르면 그 가설에 걸린 기업이 방향과 분류와 세부 역할별로 묶여 나온다. 가설을 가운데 두고 기업을 바큇살처럼 둘러 그린 관계 그래프가 있고, 회사 이름이나 메모 속 단어로 찾는 전문 검색이 있고, 기업마다 상세 화면이 있다. 438개 기업마다 리서치 문서의 빈 뼈대도 만들어 두었다. 웹앱은 운영 맥에서 상시 서비스로 돌게 했다.
기업이 아니라 기업과 가설 한 쌍
다음은 증거였다. 기업 하나를 통째로 조사하면 재무제표 요약만 쌓인다. 그래서 조사 단위를 기업과 가설 한 쌍으로 잡았다. 같은 메모리 기업이라도 메모리 병목 가설에서 보는 것과 전력 병목 가설에서 보는 것이 다르다. 2026년 9월 29일 기준으로 이 쌍은 638개다.
쌍마다 찾는 건 가설이 기업에 전달되는 경로를 바꾸는 사건이다. 계약, 주문, 고객 검증, 전력 용량, 인허가, 지연, 취소 같은 것들이다. 가설을 강화하는 자료와 반대하는 자료를 같이 찾는다. 8월 5일 새벽부터 기업별 증거 폴더가 생기기 시작했다.
원문을 찾아 구조화하는 일은 DeepSeek에게 맡겼다. 대신 모델의 답을 출처로 치지 않았다. 모델이 만들어 낸 링크는 버리고, 입력한 원문에 다시 연결한다. 원문에 그대로 없는 발췌문이나 숫자가 나오면 저장하지 않는다. 사실, 회사의 주장, 의견, 소문도 나눠 적는다. 증거 파일에는 모델의 요약이 아니라 원문 주소와 발췌와 지문을 남긴다. 2화에서 공시 원문으로 조사 보고서를 고쳤던 것과 같은 원칙이다. 모델이든 보고서든, 원문보다 앞설 수는 없다.
노트 2,100개짜리 위키
8월 10일에는 같은 데이터로 옵시디언 위키를 만들었다. 가설 14개, 병목 가치사슬 14개, 산업 37개, 기업 438개, 증거 노트 1,585개가 링크로 이어진 노트 2,100개다. 기업 노트에서 그 기업이 걸린 가설로, 가설에서 병목으로, 병목에서 다시 다른 기업으로 건너갈 수 있다.
위키는 데이터가 바뀔 때마다 다시 만든다. 그런데 다시 만들 때마다 내가 노트에 적어 둔 메모가 날아가면 아무도 메모를 쓰지 않는다. 그래서 노트 안에 내 메모 구간을 따로 두고, 다시 만들어도 그 구간은 건드리지 않게 했다.
추정은 추정이라고 적는다
기업마다 AI 매출, AI 투자 같은 값도 붙였다. 하지만 이런 숫자는 회사가 따로 공시하지 않는 경우가 대부분이다. 그래서 공시한 숫자가 아니면 추정치라고 표시하고, 공시된 재무와 같은 무게로 보여 주지 않는다. AI 매출을 AI 투자로 나눈 값도 투자 수익률이라고 부르지 않고, 단순한 수익화 배수라고만 부른다.
배운 것
조사의 단위를 잘못 잡으면 아무리 많이 모아도 판단에 쓸 수가 없었다. 기업 백과사전은 쌓일수록 두꺼워지기만 하지만, 기업과 가설 한 쌍은 무엇을 찾아야 하는지를 정해 준다. 그리고 모델을 쓰더라도 출처는 언제나 원문이어야 했다. 모델은 원문을 찾고 정리하는 손일 뿐, 증거 자체가 아니다.