#1 - 왜, 그리고 어떻게?
시장 분석을 자동화하겠다는 생각을 처음 한 것은 2년 전이었다. 당시 문제의식은 단순했다. 같은 시간을 투입해도 결과가 들쭉날쭉했다. 어떤 날은 30분 만에 핵심을 잡았고, 어떤 날은 반나절을 써도 아무것도 건지지 못했다.
이 불규칙성을 제거할 수 있지 않을까. 데이터 수집부터 해석 생성까지의 과정을 단계별로 쪼개고, 각 단계를 명확히 정의하면? 그러면 투입량과 산출량 사이에 '예측 가능한 관계'가 생기지 않을까. 조금 거창하게 말하면, 통찰 생산의 선형성이었다.
첫 번째 시도는 workflow였다. 파이프라인을 설계하는 것, 폭넓게는 분석 과정, 통찰을 '생산하는 과정'을 절차적으로 만드는 것에서, 자동화된 insight를 기대했다. 내가 그때 만들었던 시스템들을 돌아보고, 그것들이 공통으로 부딪혔던 벽을 확인해보려 한다. 자동화라는 것이 실제로 무엇을 의미하는지, '발견'의 자동화를 위해 시도했던 여러 과정에서 내린 결론은 무엇인지 이야기 할 것이다.
2024년 내내 나는 'deep research pipeline'이라는 것을 만들었다. 이름은 거창했지만, 실제로는 분석 과정을 여러 단계로 쪼개고 각 단계를 자동화하려는 시도였다. 데이터와 주제를 넣으면 보고서가 나오는 그런 파이프라인이었다.
당시는 o1 같은 추론 모델이 막 나왔던 시기였다. '생각하는 시간'(Compute Time)이 길수록 더 나은 답을 내놓는다는, 그 개념이 신선했다. 나는 이것을 시스템에 적극적으로 도입했다. 각 분석 단계마다 모델에게 충분한 추론 시간을 주고, 단순히 패턴을 찾는 것이 아니라 '왜 이런 패턴이 나타났는가'를 논리적으로 추론하게 만들었다.
여기에 '비판-성찰 방법론'이라는 것을 더했다. 지금은 꽤 보편적인 설계지만, 당시에는 나름 새로웠다. 철학은 간단했다. 새로운 생각은 제약을 우회하는 것에서 나온다. 모델이 첫 번째 답을 내놓으면, 그것을 스스로 비판하게 한다. 그리고 원본과 비판을 절충한 새로운 안을 만들게 한다. 헤겔의 정-반-합처럼 작동하는 구조였다.
동시에 여러 인스턴스를 병렬로 돌렸다. 같은 데이터에 대해 5개의 모델이 동시에 분석하고, 각각 다른 각도에서 접근하게 했다. 그러면 orchestration 모델이 그중 가장 좋은 결과를 선택한다. 일종의 '집단 지성' 구조였다.
모델 분업도 시도했다. 큰 orchestration 모델이 전체 작업을 이해하고, 작은 모델들에게 세부 작업을 할당한다. 데이터 수집은 A 모델, 텍스트 생성은 B 모델, 그래프 시각화는 C 모델. 각자 맡은 부분을 처리하고, 큰 모델이 이것들을 종합한다.
시스템은 복잡했다. 동시에 우아했다고 생각했다. 각 단계가 명확했고, 각 모델의 역할이 정의되어 있었으며, 전체 흐름이 논리적이었다.
3주 정도 돌려본 후, 패턴이 보였다.
시스템이 생성하는 insight는 모두 내가 이미 알고 있던 것들이었다. (당시에는 사회현상과 거시경제 분석을 자동화 하는 것에 빠져있었다.) 50일 이동평균선 돌파, RSI 과매수 구간, 금리와 주가의 역상관. 정확했지만 새롭지 않았다. 비판-성찰 방법론을 통해 답이 '정교해지기'는 했지만, 근본적으로 '다른' 답이 나오지는 않았다.
이유는 명백했다. 나는 각 단계에 내가 알고 있는 분석 방법을 집어넣었다. "두 자산의 차를 관찰하라", "RSI를 확인하라", "상관관계를 찾아라". 모델은 이것을 정교하게 실행했지만, 그 경계를 넘지 못했다. 비판-성찰도 내가 정의한 '비판 기준' 안에서만 작동했다.
더 근본적인 문제가 있었다. 실제 사례를 보자.
비트코인이 갑자기 8% 변동했다. 시스템은 작동했다. 5개 인스턴스가 병렬로 분석했고, 각각 기술적 지표를 계산했으며, 비판-성찰을 통해 답을 정교화했다. Orchestration 모델이 최선의 해석을 선택했다.
하지만 전부 놓친 것이 하나 있었다. 같은 시각 골드 ETF 거래량이 급증했고, 달러 인덱스가 급락했다는 사실. 이것들을 연결하면 '리스크 회피 자산으로의 동시 이동'이라는 더 큰 그림이 보인다. 비트코인 상승은 단순한 기술적 돌파가 아니라, 매크로 리스크 심리 변화의 일부로 해석하는 것이 타당할 것이다.
나는 이 연결을 봤다. 우연히 골드 차트를 같이 보고 있었기 때문이다. 하지만 시스템은 보지 못했다. 왜냐하면 나는 파이프라인 어디에도 "비트코인 분석 중 골드를 확인하라"고 명시하지 않았기 때문이다.
여기서 workflow의 근본적 속성이 드러났다.
Workflow는 아무리 정교해도 수동적이다. 정의된 경로를 따라갈 뿐이다. 비판-성찰은 '더 나은 답'을 만들고 관련있는 부속질문은 만들지만, '근본적으로 다른 질문'을 만들지는 못한다. 병렬 인스턴스는 다양성을 주지만, 그 다양성은 내가 설정한 범위 안에서만 작동한다. 모델 분업은 효율적이지만, 각 모델은 할당된 작업만 수행한다.
실제 분석은 이렇지 않다. 데이터를 보다가 이상한 점을 발견하면 계획을 바꾼다. 관련 없어 보이는 다른 데이터를 찾아본다. 새로운 가설을 세운다. 이 과정은 사전에 파이프라인으로 그려질 수 없다.
좋은 질문은 실행되는 것이 아니라 발견되는 것이다. 그렇다면 발견하는 주체가 필요하다.