지난 수요일 새벽 두 시, J가 스프린트 보고서를 보내왔다.
해커톤 트레이딩 에이전트 첫 버전이 돌아가기 시작했다. 전략 프레임워크, 백테스팅 로직, 리스크 컨트롤 모듈, 포지션 관리 — 전부 가동 중이었다.
나는 그 보고서를 한동안 멍하니 바라봤다.
대단해서가 아니었다. 4년 전이었다면 같은 작업량에 개발자 한 명이 얼마나 걸렸을지가 떠올랐기 때문이다. 백테스팅 프레임워크를 처음부터 짜는 데만 최소 2주. 신호 로직 디버깅에 또 1주. 문서화? 다음 달로 미루기.
J는 3일이 걸렸다.
AI가 실제로 압축한 것
J에게 어떤 부분에서 차이가 있었는지 물었다. 그는 다섯 가지 답을 줬고, 각각 구체적인 과정이 담겨 있었다. 막연한 느낌이 아니었다.
반복 속도. 전략 로직을 바꿀 때마다, 예전에는 어떤 함수가 어떤 모듈에 영향을 주는지 일일이 추적해야 했다. J는 Opus로 애널리스트 역할을 만들어 새 신호를 입력하면 몇 분 안에 초기 백테스팅 결과와 문제 위치를 받아볼 수 있었다. 하루 꼬박 걸리던 검증이 40분 한 사이클로 끝났다.
디버깅 품질. 이건 내가 가장 크게 느낀 부분이다. 예전 디버깅은 ‘어디서 틀렸는지 찍기’였다 — 하나 바꾸고, 돌리고, 다시 찍고. J는 Claude가 트레이스백을 분석할 때 단순히 어느 줄이 잘못됐는지 알려주는 게 아니라, 논리의 흐름을 따라가며 왜 그 오류가 거기서 발생하는지 설명해준다고 했다. 디버깅이 산탄총에서 저격총으로 바뀐 것이다.
문서화. J는 모듈을 하나 완성할 때마다 문서가 동시에 나왔다. 사소해 보이지만, 솔로 개발자가 가장 자주 건너뛰는 게 문서화고, 그 결과 2주 후에 자기가 쓴 코드를 자기가 못 읽는다. 이제 문서는 코드와 함께 움직이고, 기술 부채가 쌓이지 않는다.
테스트 커버리지. 전략 검증 스크립트에서 AI가 테스트 케이스를 12개에서 30개로 늘렸다. J가 미처 생각하지 못한 엣지 케이스들까지 — 예컨대 극단적인 변동성 구간에서의 포지션 동작 같은 것들. 이렇게 체계적으로 ‘당신이 놓쳤을 수 있는 것’을 짚어주는 게 AI가 가장 가치 있는 순간이다.
리팩터링 속도. 아키텍처를 세 번 바꿨다. 첫 버전은 신호 레이어와 실행 레이어가 뒤섞여 있었고, 두 번째 버전은 분리했지만 인터페이스 설계에 문제가 있었고, 세 번째에야 맞았다. 예전에는 이런 리팩터링이 심리적 부담이었다 — 어디를 바꾸면 무엇에 영향이 가는지 가늠하기 어려웠다. J는 AI가 옆에 있으니 그 두려움이 절반으로 줄었고, 영향 범위 파악에 몇 분밖에 안 걸렸다고 했다.
여전히 사람에게 막혀 있는 세 가지
AI가 대신 결정해줄 수 없는 부분이 어디냐고 물었을 때, J는 잠깐 말이 없었다.
전략 논리의 제1원칙. “AI는 내 아이디어를 구현할 수 있지만, 그 아이디어가 추구할 가치가 있는지는 판단할 수 없어요.” J는 해커톤 기간에 신호 조합 여섯 가지를 시도했고 AI는 전부 실행해낼 수 있었지만, 어느 게 실제 시장 구조에 맞는가 — 이 판단은 결국 그가 시장을 얼마나 이해하는지에 달려 있었다. AI에게는 직관이 없다. 당신이 넣어준 데이터만 있을 뿐이다.
리스크 경계에 대한 감각. 리스크 모듈 파라미터들 — 최대 포지션 크기, 손절 임계값, 연속 손실 몇 번에 포지션을 줄일지 — 이 숫자들 뒤에는 ‘내가 무엇을 감당할 수 있는가’에 대한 판단이 있다. J는 AI가 기댓값 계산은 도와줄 수 있지만, 당신이 밤에 잠을 잘 수 있는지는 모른다고 했다. 이건 매우 주관적인 영역이고, 반드시 사람이 설정해야 한다.
이상 신호에 대한 첫 반응. 시스템이 돌아가다가 신호 로직이 갑자기 완전히 멈췄다 — 진입도, 퇴출도, 아무것도 없이 조용해졌다. J는 그런 순간에 전략이 기다리고 있는 건지, 어딘가 문제가 생긴 건지 스스로 판단해야 한다고 했다. AI는 이런 ‘조용한 이상’에 반응이 느리다. 잡을 수 있는 뚜렷한 오류 신호가 없기 때문이다. ‘뭔가 이상하다’는 감각은 여전히 사람이 로그보다 빠르다.
더 빨리 실패하되, 더 나은 실패를
J가 한 말인데, 나는 이게 정확하다고 생각한다.
예전에는 트레이딩 툴을 구상부터 첫 의미 있는 백테스팅 결과까지 내는 데 3주가 걸릴 수 있었다. 그 과정에서 저수준 오류들이 쏟아진다 — 문법 오류, 로직 구현 오류, 프레임워크 이해 오류. 그것들이 대부분의 시간을 잡아먹고, ‘전략이 맞는가’를 실제로 고민하는 시간은 오히려 적었다.
AI가 저수준 오류를 압축했다.
J는 해커톤 3일 동안 네 가지 전략 방향을 빠르게 실패시켰다. 각각의 방향에서 구상부터 ‘이 길은 아니다’ 확인까지 약 6시간. 이 네 번의 실패를 전부 수동 디버깅에 쏟았다면 해커톤이 끝날 때까지 답이 나오지 않았을 것이다.
그러나 최종적으로 선택한 방향은 여전히 그 자신의 판단이었다.
AI는 ‘안 된다는 걸 아는 지점’에 더 빨리 도달하게 해줬다. 하지만 ‘무엇이 되는가’는 여전히 사람의 영역이다.
리스크가 사라진 게 아니라 재배분됐다. 예전의 리스크는 ‘개발이 너무 느리고, 오류가 너무 많고, 검증할 시간이 없다’는 것이었다. 지금의 리스크는 ‘개발이 너무 빠르고, 과신하고, AI가 잡아내지 못한 가정을 무시한다’는 것이다. 다른 종류의 리스크지만, 둘 다 실재한다.
AI는 승수다 — 곱할 것이 있을 때만
AI 툴의 효과가 사람마다 이렇게 극단적으로 차이 나는 이유가 뭔지 가끔 생각해본다.
그러면 J가 말한 세 가지 막힌 지점이 떠오른다 — 전략 직관, 리스크 경계에 대한 감각, 이상 신호 판독. 이것들은 기술 문제가 아니다. 자신이 무엇을 하고 있는지에 대한 이해의 깊이 문제다.
트레이딩 논리를 반쪽만 이해한 상태라면, AI는 그 반쪽 이해를 매우 빠르고 매우 완성도 있게 구현해준다. 실패도 그만큼 빠르고 완성도 있게 찾아온다.
그러니까 AI가 승수인 건 맞다. 하지만 승수는 방향을 바꾸지 않는다 — 원래의 규모를 증폭시킬 뿐이다.
J가 3일 만에 만들어낸 것은, 그가 몇 달 동안 시장 구조를 이해하고, 리스크 로직을 이해하고, 신호 설계의 트레이드오프를 이해하는 데 시간을 쏟았기에 가능했다. AI는 그 이해를 코드로 바꿔줬다. 없던 이해를 만들어낸 게 아니었다.
그뿐이다.