NEW코딩일지 · 11.05코퍼스 메인에 주장 연구실을 세웠다: 사유고2 주장 29만 개를 자동 등록하고 스파크 두 대가 반증 조건까지 검토한다
← 개발로그
·13분

레오폴드 챗봇 개발로그 · 2화

레오폴드 챗봇이 Sonnet 5.5로 말문을 텄고, 하루 만에 투자자 셋이 모인 라운지가 됐다

1화에서 대답할 모델이 없던 챗봇에 10월 3일 오후 Sonnet 5.5를 붙였다. 그날 밤까지 상황인식 보고서 원문, 과감한 투자 의견, 연구 워커 둘을 붙였고, 채팅창은 친구목록과 채팅목록을 가진 투자자 라운지가 됐다. 레오폴드 다음으로 메르와 케빈 워시가 들어왔다.

▸ 레오폴드 챗봇#leopold#chatbot#persona#sonnet#deepseek

1화는 캐릭터와 알림은 다 붙었는데 대답할 모델이 없다는 데서 끝났다. 맥의 로컬 모델은 메모리가 모자랐고 스파크는 사유고2를 만드느라 꽉 차 있었다. 남은 선택지는 질문과 근거를 Claude로 보내는 것이었고, 그 결정은 내가 내려야 했다.

10월 3일 오후 3시 56분에 “소넷5.5 연결해”라고 보냈다. 이 글은 그때부터 10월 4일 0시 21분까지의 기록이다. 그사이 챗봇 하나가 투자자 셋이 모인 라운지가 됐다.

새벽에는 AC Research 뉴스 가운데 가설에 맞는 6건만 고르게 했다

모델을 붙이기 전, 1화를 쓴 그 새벽에 하나를 더 부탁했다. AC리서치 시황 사이트의 뉴스도 레오폴드가 소개하게 하되, 다 소개하지 말고 가설과 맞는 것만 고르라고 했다.

최근 7일 동안 올라온 시황을 최대 8판까지 읽고, 판마다 뉴스를 꼭지 단위로 나눈다. 그중 레오폴드 가설 카드(H01~H11, U01~U03)에 직접 이어지는 주제와 구체적인 작동 경로, 관측된 사건이나 숫자가 함께 있는 문단만 규칙으로 고른다. 종목이 올랐다거나 AI라는 말이 나왔다는 것만으로는 고르지 않는다. 가설에 반대되는 기사도 넣고, 많아야 6건, 가설 하나에 2건까지다. 실제로 돌려 보니 뉴스 꼭지 31개에서 후보 20건이 나왔고 그중 6건이 남았다. 냉각 병목 공장 기사는 H06과 H02에, 미국 원전 8기 기사는 H08에 붙었다. 이 목록 소개는 모델을 부르지 않고 규칙만으로 돌려준다.

오후 4시에 Sonnet 5.5를 붙이자 9.8초 만에 첫 답이 왔다

Claude로 보내는 건 내 질문과 최근 대화, 그리고 그 질문에 맞춰 고른 뉴스·가격·가설 발췌다. 원본 데이터베이스나 보고서를 통째로 보내지는 않는다. 이미 쓰고 있던 Claude Code 로그인으로 연결 시험을 하니 3.1초 만에 답이 왔고, 응답에 찍힌 실제 모델도 claude-sonnet-5-5였다.

모델 설정은 레오폴드 웹 서비스 하나에만 넣었다. 다른 서비스나 번역 파이프라인, Claude의 기본 모델은 그대로 뒀다. 호출은 프로젝트 파일도, 도구도, MCP도, 훅도 없는 빈 임시 폴더에서 하고 세션을 남기지 않는다. 응답 모델이 claude-sonnet-5-5가 아니거나 오류가 나면 자료 요약 모드로 내려가고, 그렇다고 화면에 적는다.

H06 가설을 물은 실제 질문은 9.8초 만에 답이 왔다. 브라우저에서 H03을 물었을 때는 8.3초에 출처 9개가 붙었다. 이제 답마다 “Sonnet 5.5 답변”이라는 표시가 붙는다.

상황인식 보고서 165쪽은 학습시키지 않고 원문 검색으로 붙였다

16시 12분에 “이 모델한테 아셴브레너 상황인식 보고서를 학습하게 해”라고 했다. 실제로 한 일은 학습이 아니다. 모델 가중치는 그대로 두고, 공식 PDF 원문을 맥에 보관해 찾아 쓰게 했다.

공식 사이트의 2024년 6월 갱신판 PDF는 165쪽이다. 판본이 바뀌면 검토하기 전까지 받지 않도록 파일 해시를 고정했다. 글자 304,360자를 뽑아 쪽 경계를 지키며 307개 구간으로 나눴다. 대화할 때마다 질문에 맞는 원문 구간을 최대 4개, 그 장의 요약과 전제, 레오폴드 가설과의 관계를 함께 넘긴다.

가설과의 관계는 네 가지로 나눠 적었다. 원문이 직접 한 주장, 부분적인 근거, 앱이 확장한 해석, 내가 세운 가설이다. 예를 들어 액체냉각과 랙당 100kW를 다루는 H06은 원문의 직접 주장이 아니라 앱의 확장으로 표시한다. 답에는 장 이름과 PDF 쪽수가 붙은 출처 카드가 따라온다. unhobbling의 정의를 묻자 30·32·36·37쪽을 근거로 답했고, 2027년 AGI 전망을 묻자 확정된 예언이 아니라 전망이라고 구분했다. 각각 10초 남짓 걸렸다.

“추천 못 해요”를 지우자 첫 문장이 “나는 전력을 먼저 사겠어”가 됐다

16시 50분에 이렇게 보냈다. 추천을 못 해 준다는 소리 하지 말고, 진짜 아셴브레너처럼 특이점이 온다고 믿는 입장에서 과감하게 대화해도 된다.

지침에서 확신에 찬 매수 의견을 막던 문구를 지웠다. 이번 10년 안에 AGI와 초지능이 온다는 것을 캐릭터의 기본 시나리오로 두고, 종목과 섹터 추천, 매수·매도·보유 의견을 직접 말하게 했다. 첫 문장에 결론을 말하고 근거와 생각을 바꿀 조건을 붙인다. 매 답변마다 반복되던 면책 문구와 상담 권유는 뺐다. 그래도 숫자나 목표가를 지어내거나 수익을 보장하거나 실제로 매매를 한다고 말하지는 않는다. 앱의 공식 가설 판정과 캐릭터의 의견도 따로 둔다. 판정이 보류여도 캐릭터는 선호를 말할 수 있지만, 그 의견이 판정을 바꾸지는 않는다.

전력과 메모리 중 어디를 먼저 사겠느냐고 물으니 첫 문장이 “나는 전력을 먼저 사겠어”였다. 7.2초 만에 출처 13개를 붙여 답했다. 근거로는 상황인식 보고서의 84~85쪽, 전력 허가와 송전 지연이 가장 큰 발목이라는 대목을 들었다.

밤 10시 4분에는 관점을 하나로 못 박았다. 레오폴드는 뉴스와 정보를 철저하게 “AI 하이퍼사이클은 온다”는 전제 아래에서 고른다. 원칙 일곱 개를 따로 만들고, 정보를 읽는 순서를 정했다. AI 능력과 사용량, 설비 투자, 전력·칩·메모리·네트워크·냉각의 병목, 기업의 수주·가격 결정력·마진·현금흐름, 마지막으로 주가에 이미 반영된 기대다. 뉴스는 이 사슬의 어느 고리를 바꾸느냐로 고르고, 투자 취소나 수요 둔화 같은 악재도 똑같이 챙긴다. 시장 뉴스를 모으는 검색어도 이 사슬에 맞춰 다시 썼다.

투자자 라운지의 레오폴드 대화 화면. 왼쪽에 친구목록 3과 채팅목록, 오른쪽 위에 점토 인형풍 캐릭터와 시장은 시끄럽고 근거는 조용하니까라는 문구, 그 아래 AC Research 가설 관련 6건 선별과 상황인식 원문 2024.06 165쪽 연결 줄, 첫 인사 말풍선에 나는 AI 하이퍼사이클이 온다고 봐로 시작하는 문장, 아래에 심층리서치 체크박스와 DeepSeek V4.1 Flash 선택기
새 대화를 열면 레오폴드가 하이퍼사이클 전제부터 말한다. 화면 위쪽 두 줄이 AC Research 선별 기사와 상황인식 보고서 원문 연결이다.

저녁에는 채팅창이 친구목록과 채팅목록을 가진 투자자 라운지가 됐다

17시 10분, 내가 원하던 그림을 처음으로 길게 설명했다. 각자 원칙을 가진 투자자를 모아 투자 조언을 실시간으로 받는 것이다. 페르소나마다 투자 철학과 철저한 원칙을 넣고, 그에 맞는 뉴스를 붙인다. 필요하면 심층리서치를 하는 워커를 두고, 페르소나가 그 결과를 자기 철학으로 해석해 조언한다. 그러니 채팅방에 사이드바가 있어야 한다. 카테고리는 친구목록, 사이드바에는 채팅목록.

그날 저녁 채팅창 이름이 “투자자 라운지”가 됐다. 왼쪽에 친구목록과 채팅목록, 오른쪽에 친구 프로필과 대화가 뜬다. 주제마다 새 대화방을 열 수 있고, 답을 기다리는 동안 다른 방으로 옮겨도 답은 원래 방에 도착해 읽지 않음 표시가 붙는다. 쓰다 만 질문도 방을 옮겨 다녀도 남는다. 1화부터 쌓인 대화는 첫 방으로 옮겼다. 맥 앱 창도 800×800으로 키웠다.

19시에 화면을 보고 두 가지를 물었다. 페르소나마다 필요한 게 철학, LLM 모델, 참고자료, 워커 모델이면 되는지, 그리고 목록이 많아지면 이 화면을 어떻게 할 건지. 네 가지가 뼈대는 맞지만 판단 기록과 알림 규칙이 더 있어야 한다는 답이 왔다. 무엇 때문에 의견을 바꿨는지 남기는 기억과, 언제 먼저 말을 걸지 정하는 규칙이다. 보유 종목, 투자 기간, 감당할 손실 범위는 페르소나가 아니라 나의 공통 설정으로 두는 방향으로 적어 뒀다.

목록 문제는 내 지적이 맞았다. 목록에 프로필 전체를 펼쳐 놓은 설계였다. 친구 한 명을 한 줄로 줄이고 검색, 대화 가능 여부 필터, 20명 단위 페이지 넘김을 붙였다. 친구를 누르면 상세 화면이 열리고 철학, LLM 모델, 참고자료, 워커 모델 네 탭이 있다. 가상 투자자 55명과 가상 대화 65개를 넣어 페이지가 20, 20, 15명으로 넘어가는지 확인했다.

같은 저녁에 하나 더 고쳤다. 맥 앱 창이 늘 다른 앱 위에 떠 있었다. 앱을 켤 때마다 “항상 위”를 켜고 있었다. 기본값을 일반 창으로 바꾸고, 내가 메뉴에서 켜면 그 선택을 기억하게 했다.

투자자 라운지 친구목록 화면. 검색창과 전체 필터 아래 전체 3명, 레오폴드 아셴브레너 AI 하이퍼사이클·인프라, 메르 연결된 사고·거시경제·공급망, 케빈 워시 연준 정책·공개 발언 추적이 한 줄씩 있고 모두 Sonnet 5.5 대화 가능
10월 4일 새벽의 친구목록. 한 줄에 이름, 관심 분야, 대화 모델, 대화 가능 여부만 둔다.

두 번째 친구 메르는 책 230쪽과 블로그를 깔고 “좋아” 아니면 “나빠”로 답한다

19시 12분에 두 번째 친구를 정했다. 메르다. 메르가 쓴 책 『1%를 읽는 힘』이 사유고1과 사유고2에 이미 들어 있고, 무엇보다 메르의 블로그에 그의 철학과 원칙이 있다. 이 책과 블로그를 메르와 대화할 때 늘 깔아 두라고 했다. 대화는 Sonnet 5.5, 리서치는 DeepSeek V4.1 Flash다.

책은 사유고1의 페이지 텍스트와 스파크 사유고2의 원문이 230쪽 모두 같은지부터 확인했다. 사유고2가 만든 구조 지도를 읽기 전용으로 가져와 원문 280개 구간과 논점 56개로 색인했다. 원문 위치가 맞지 않거나 경고가 붙은 주장 12개는 뺐다. 한 주장은 7쪽 원문과 대조해 “정보의 질보다”를 “정보의 질만큼”으로 바로잡았다. 블로그는 최근 글 50개를 5분마다 확인하고, 질문에 맞는 글을 최대 3개 골라 본문을 읽는다. 고용, 금리, 공급망 같은 금융 글이 새로 올라오면 메르가 먼저 “이거 한번 볼래?” 하고 링크를 건넨다.

메르에게는 레오폴드의 AGI 신념도, 상황인식 보고서도, 가설 판정도 넘기지 않는다. 친구마다 철학이 따로라 섞이면 안 된다. 아바타도 실제 외모를 추정하지 않고 책과 M자 모노그램으로 그렸다.

외부로 보내는 데이터의 선도 여기서 한 번 더 그었다. 처음 DeepSeek를 시험할 때 책 원문이 외부 서비스로 나가는 구성이라 자동 승인 검토에서 거절됐다. DeepSeek 입력에서 책 원문과 대화 이력을 빼고, 공개 블로그와 뉴스 제목, 공식 자료만 넘기게 바꿨다. 책 발췌는 Sonnet이 대화하는 단계에서만 쓴다.

20시 21분에 “좋아 나빠 하면 중간 없이 노빠구로 대답하게 만들어라”라고 했다. 이제 판정 질문의 첫 문장은 “좋아.” 아니면 “나빠.“다. 사라는 질문은 “나라면 사.” 아니면 “나라면 안 사.“로 시작한다. 장단점을 반반 늘어놓지 않고 이유 한두 개와 판단을 뒤집을 조건만 붙인다. 가상의 상황 세 개로 시험했다. 기회가 안 보일 때 현금을 남겨 두는 행동에는 “좋아.”, 출처 모를 소문 하나로 전 재산을 한 종목에 넣는 행동에는 “나빠.”, 사업도 실적도 가격도 모르는 가상 회사에는 “나라면 안 사.“였다. 모두 5~6초 걸렸다.

메르 상세 화면의 철학 탭. 투자 철학은 세상의 정보를 연결해 남들보다 몇 단계 더 생각한다는 문장이고, 판단 원칙 일곱 개가 번호로 적혀 있다. 원인에서 전달 경로와 두세 단계 뒤 수혜·비용까지 연결한다, 헤드라인을 믿기 전에 원자료로 교차 확인한다, 기회가 와도 움직일 수 있도록 현금을 남긴다 등
메르의 철학 탭. 책과 블로그에서 뽑은 원칙 일곱 개가 대화 지침에도 그대로 들어간다.

레오폴드에게는 연구 워커 둘을 붙였고 DeepSeek는 28.5초, Codex Sol은 52.2초 걸렸다

20시 25분, 레오폴드에게도 심층리서치 워커를 붙였다. 입력창 아래에 심층리서치 체크박스와 DeepSeek V4.1 Flash, Codex Sol 6.1 중 하나를 고르는 선택기가 있다. 질문 하나에 워커를 한 번 부르고, 그 결과를 Sonnet 5.5가 레오폴드의 철학으로 해석해 답한다. 체크하지 않은 평소 대화에서는 워커를 부르지 않는다.

워커에는 공개 자료만 넘긴다. 지금 질문, 공개 뉴스 제목과 AC Research 발췌, 날짜가 붙은 가격 관측, 따로 모은 공식 자료다. 비공개 가설 메모나 책 원문, 대화 이력은 넘기지 않는다. Codex는 빈 임시 폴더에서 읽기 전용으로 돌리고, 셸과 MCP와 웹 검색을 끄고, 75초가 지나면 프로세스를 끝낸다.

첫 Codex Sol 조사는 75초 제한에 걸렸다. 화면에는 조사 실패라고 떴고, 최종 답변도 조사가 실패했다고 알렸다. 다른 모델로 몰래 바꿔 답하지 않는다. 제한을 늘리지 않고 다시 확인하니 DeepSeek를 거친 답은 28.5초, Codex Sol을 거친 답은 52.2초에 왔다. 이 과정에서 일반적인 AI 질문이 “AI”라는 같은 이름의 종목 티커로 잘못 잡히던 문제도 찾아 고쳤다.

세 번째 친구 케빈 워시는 새 공개 발언을 1시간마다 찾아 대화방으로 가져온다

밤 11시 45분에 세 번째 친구를 만들었다. 연준 의장 케빈 워시다. 그에 관해 모아 둔 발언 원장, 심층 조사, 전면 연구 자료를 넘기며 이렇게 말했다. 이 페르소나의 핵심은 앞으로 어떤 경로로든 워시가 무슨 말을 하면 그게 바로 나한테 전달되는 것이다. 대화는 Sonnet 5.5이고, 워커로는 AI가 발언 원문 대조를 맡기자고 제안한 Codex Sol 6.1을 붙였다.

자료 세 개는 원본을 그대로 보존하고 192개 구간, 출처 52개, 사건 10개로 색인했다. 판단 원칙은 물가 안정과 신뢰, 시장의 가격 신호, 금리와 대차대조표의 구분, 정책을 미리 약속하는 일에 대한 경계, 장기 AI 생산성과 당장의 물가를 나눠 보는 것이다. 레오폴드의 하이퍼사이클 신념도, 메르의 책도 물려받지 않는다. 실제 발언과 AI의 해석, 질문한 기자와 워시, 위원회의 결정과 개인 발언을 구분한다. 연구 자료끼리 어긋나는 대목은 발언 원장의 정정을 따른다. 그가 QE2를 비판했지만 실제 표결에서는 찬성했다는 대목이 그 예다.

발언 감시는 여섯 경로를 돈다. 연준의 연설·증언·보도자료 RSS, FOMC 기자회견 발언록, 영문과 한국어 뉴스 검색이다. 처음 성공한 수집은 기준선으로만 삼아서, 연결하자마자 과거 발언이 새 알림으로 쏟아지지 않게 했다. 워시 이름으로 나온 공식 연설과 증언은 제목, 날짜, 링크를 붙여 워시 대화방에 바로 전한다. 외부 보도는 원문을 확인하기 전까지 후보로 조용히 쌓아 둔다. 다른 사람이 워시를 평가한 기사는 그의 발언으로 치지 않는다.

처음엔 1분마다 확인했다. 0시 18분에 “1분마다 확인이면 토큰을 너무 많이 쓰는 거 아냐?“라고 물었다. 감시 자체는 RSS와 검색만 읽고 유료 모델을 부르지 않지만, 1분은 지나치다고 보고 1시간에 한 번으로 바꿨다. 앱이 15초마다 하는 상태 확인은 서버에 모아 둔 결과만 읽는다. 연결 직후 여섯 경로 모두 정상이었고 공식 자료 5건을 기준선으로 잡았다. 실제로 새 발언이 나왔을 때 얼마 만에 대화방에 도착하는지는 아직 재 보지 못했다.

케빈 워시 상세 화면의 참고자료 탭. 철학의 바탕에 케빈 워시 연구자료 3종 2026.10.03 발언 원장·심층 조사·전면 연구, 관찰하는 뉴스에 연준 연설·증언(워시 명의의 공식 연설·증언 원문 확인), FOMC 기자회견(공식 발언록과 질문자를 구분, 집단 결정 별도), 워시 외부 발언 보도(영문·한국어 뉴스 검색으로 단서 발견, 원문 확인 전 표시)
케빈 워시의 참고자료 탭. 철학의 바탕은 연구 자료 세 개이고, 관찰하는 뉴스는 공식 발언과 외부 보도를 나눠 둔다.

배운 것

하루 동안 가장 오래 고민한 건 각 친구가 무엇을 받지 않을지였다. 메르는 레오폴드의 AGI 신념을 받지 않는다. 워커는 책 원문과 대화 이력을 받지 않는다. 워시의 대화방은 원문을 확인하기 전의 외부 보도를 발언으로 받지 않는다. 페르소나는 철학과 자료만으로 만들어지지 않았다. 무엇을 섞지 않을지 정한 경계까지 있어야 셋이 서로 다른 목소리로 말했다.

남은 일도 분명하다. 먼저 말을 거는 규칙은 아직 모든 친구에게 일괄 10분 간격이다. 밤 10시 10분에 이 제한을 둘지 자율에 맡길지 물었고, 판단은 자율에 맡기되 끼어드는 방식에는 제한을 두자는 답을 받았다. 이전 판단을 바꿀 정보면 바로, 아니면 대화방에 조용히 남기는 식이다. 아직 만들지는 않았다. 몇 문장으로 답하라는 요청보다 길게 답하는 버릇도 남았고, 워시의 새 발언이 실제로 도착하는 시간도 재야 한다. 포트폴리오에는 충분히 써 본 뒤에 올린다.

레오폴드 챗봇 개발로그 · 전 4화

  1. 1화레오폴드 챗봇을 만들었다: 캐릭터와 먼저 말 거는 알림은 붙었고, 대답할 모델이 없었다
  2. 2화레오폴드 챗봇이 Sonnet 5.5로 말문을 텄고, 하루 만에 투자자 셋이 모인 라운지가 됐다
  3. 3화레오폴드 챗봇이 HTML 보고서를 쓰고, 그 보고서가 2천만원 모의 포트폴리오가 됐다
  4. 4화레오폴드가 포트폴리오를 직접 운용하고, 매매는 채팅으로 내 결재를 받는다