AI가 어려운 문제에서 막히는 건 머리가 모자라서가 아니다. 될 만한 방법을 하나씩 실제로 돌려봐야 하는데, 그 한 번이 느리고 비싸서다. Dream-RSI가 영리한 지점은 여기다. 실제로 해보지 않은 전략도, 이미 쌓인 과거 기록만으로 미리 채점한다. 비싼 실험을 반복하는 대신, 지난 기록을 되감아 머릿속에서 전략을 시험하는 것이다.
Dream-RSI는 재귀적 자기개선(RSI, recursive self-improvement) 프레임워크다. 쉽게 말해, 문제를 풀며 쌓인 기록으로 다음 풀이법을 스스로 고쳐 나가는 루프다. 풀수록 나아진다. 그 루프를 값싸게 돌리는 장치가 이 글의 주인공이다.
산에서 보물을 찾는 수색팀을 떠올려 보자. 팀의 진짜 실력은 넓은 산에서 '어디를 팔지' 고르는 데서 갈린다. 가능한 답이 엄청나게 많은 공간에서 가치 있는 답을 찾아내는 이 일을 탐색(exploration)이라 한다. 어려운 문제일수록 성패가 여기서 결정된다.
문제는 '어떻게 탐색할지'라는 전략 자체를 다루는 일이다. 전략을 한 번 정해 고정하면, 산이 넓어질수록 금세 무용지물이 된다. 그렇다고 실전에서 전략을 이리저리 바꿔보면, 이번엔 '어떤 전략이 좋은지'를 찾는 또 하나의 거대한 탐색에 빠진다. 새 수색법 하나 떠올릴 때마다 며칠씩 산을 헤매야 하고, 결과는 한참 뒤에 나오고, 비용은 쌓인다.
딜레마는 분명하다. 좋은 답을 찾으려면 더 많이 시도해야 하고, 시도할수록 비싸진다. 품질과 비용을 동시에 잡는 것, 그게 과제다.
출발점은 단순한 통찰이다. 지금까지 문제를 풀며 남긴 기록 자체가, 다시 돌려볼 수 있는 연습용 환경이 된다는 것.
수색팀이 돌아다닌 자취는 지도에 남는다. 'A지점 허탕, B갈림길에서 금맥, C능선은 길 막힘.' 어떤 선택이 어떤 결과로 이어졌는지가 나뭇가지처럼 뻗은 이 기록을 발견 트리(discovery tree)라 한다.
여기서부터가 핵심이다. 이 지도 한 장은 이미 지나간 과거의 기록이지만, 쓰임은 과거에 묶이지 않는다. "이번엔 골짜기부터 깊게 팠다면 어땠을까"를 지도만 보고 가늠할 수 있다. 산을 다시 오를 필요가 없다. 연구팀은 이렇게 지도를 되감아 머릿속으로 새 전략을 시험하는 일을 드리밍(dreaming)이라 부른다.
왜 이게 영리한 돌파구일까. 실제로 전략 하나를 시험하려면 산을 처음부터 다시 뒤져야 한다. 그런데 드리밍은 똑같은 지도 한 장을 놓고 서로 다른 전략 수십 가지를 한 번에 채점한다. 발품은 과거에 딱 한 번 들였고, 그 한 번의 기록을 재료로 수많은 '만약'을 돌려보는 셈이다. 비싼 실험 비용이 평가 횟수만큼 늘지 않는다.
채점 방식을 들여다보면 원리가 손에 잡힌다. 새 전략(후보 정책)을 데려와, 이미 기록된 발견 트리를 그 전략이 길잡이였다면 어떻게 나아갔을지 다시 훑는다. 점수는 세 갈래로 매긴다. 그렇게 다시 탐색했을 때 도달하는 최고 성능은 높을수록 좋고, 거기까지 드는 시도 횟수는 비용으로 깎고, 여러 갈래를 동시에 밀어붙일 수 있으면 병렬화 보너스를 더한다. 성공했던 선택과 얼마나 닮았는지를 재는 게 아니라, 그 전략으로 기록을 되밟았을 때 '어디까지, 얼마의 발품으로' 도달하는지를 재는 것이다. 지금 쓰는 전략이 아니라, 아직 써보지 않은 다른 전략을 이미 모아둔 과거 데이터로 평가한다는 점은 그대로다. 이걸 전문 용어로 오프폴리시 피드백(off-policy feedback)이라 한다. 말 그대로, 지금 돌리는 정책(전략)이 아닌 다른 정책을, 과거에 쌓인 기록만으로 채점한다는 뜻이다.
결과는 분명했다. 연구팀은 알고리즘 설계, 수학 최적화, GPU 연산 효율 최적화 — 정답과 평가가 또렷한 세 영역에서 이 방법을 시험했다. 답의 품질은 기존 최고 수준을 유지하면서, 값비싼 발품은 여러 설정에서 크게 줄었다.
논문은 이 틀을 코딩 에이전트에 붙여 검증했다. 하지만 프레임워크의 진짜 힘은 더 일반적인 문제 해결에서 드러난다. '많은 선택지 중 어디를 먼저 팔지'를 반복해서 정해야 하는 일이라면, 탐색의 구조는 다 비슷하기 때문이다.
가령 온틀의 AI 프로젝트 매니저가 매일 마주하는 판단이 그렇다. 온틀은 고객 프로젝트마다 AI PM을 파견형으로 붙인다. PM이 푸는 문제도 결국 탐색이다. 무엇을 먼저 조사하고, 어디를 더 파고, 언제 멈출지. 여기 판단 하나를 골라 끝까지 따라가 보자. 새 프로젝트에 착수할 때 '무엇부터 조사할지' 순서를 정하는 판단이다. (아래는 논문 사례가 아니라, 온틀에 적용했을 때의 구상이다.)
솔직하게 짚을 지점이 있다. 공개된 초록만으로도 분명한 한계다.
근본은 하나로 모인다. 연습 환경은 실제로 가본 곳에서만 만들어진다. 그래서 두 군데서 어긋난다. 하나, 한 번도 안 가본 영역은 채점이 침묵한다 — 지도에 없는 골짜기의 성패는 지도로 알 수 없다. 둘, 지금 안 쓰는 전략을 과거 데이터로 채점하면 예측과 실제 사이에 틈이 생긴다. 이게 오프폴리시의 틈이다. 앞의 4단계, 실전 확인은 바로 이 틈을 메우려는 안전장치다. 그 확인 없이 과거만 믿으면 넘어진다.
나머지는 범위의 문제다. 구체적 수치 — 몇 % 저렴해졌는지, 어느 규모까지 되는지 — 는 초록에 없다. 이 글의 '대등하거나 개선, 비용은 크게 절감'도 거기까지가 사실이다. 정확한 숫자는 논문 본문을 봐야 한다. 그리고 검증된 세 영역은 모두 정답이 또렷한 공학·수학 과제다. 정답이 모호하거나 평가가 주관적인 일로도 될지는 아직 열린 질문이다.
가상 환경을 새로 짓지 않는다는 점이 다르다. 일반적인 시뮬레이터는 세계의 규칙을 가정해 가짜 상황을 만들어낸다. 드리밍은 실제로 벌어졌던 과거 기록만 되감는다. 그래서 가정이 틀릴 위험은 적지만, 되감을 기록이 있는 범위 안에서만 작동한다.
본체를 다시 손보는 건 무겁고 느리다. 분기 선택·병렬 실행·중단을 제어하는 탐색 정책 코드만 갈아끼우면 같은 일꾼으로 여러 전략을 가볍게 돌려볼 수 있다. 본체를 고정해두면 전략끼리 공정하게 비교하기도 쉽다. 바꾸는 변수를 하나로 줄이는 셈이다. 참고로, 자연어 지침을 프롬프트에 덧붙이는 방식은 논문이 따로 시험했지만 성능이 더 낮았다.
약하다. 되감을 기록이 적으면 채점할 거리도 적다. 초반에는 실제 탐색으로 기록을 먼저 쌓아야 루프가 비로소 돌기 시작한다. 그래서 이 방식은 데이터가 붙을수록 복리로 유리해진다.
이 틀이 자리 잡으면, 쌓인 로그는 성격이 바뀐다. 그냥 흘려보낸 기록이 아니라, 다음 판단을 미리 채점하는 연습 환경이 된다. 온틀의 AI PM은 이 환경 위에서 역할을 다시 정의할 수 있다. 사후에 보고하는 PM에서, 프로젝트의 잠재적 병목을 과거 데이터로 미리 짚고 더 나은 경로를 먼저 제안하는 PM으로.
전제는 있다. '좋은 진행'의 잣대 — 납기냐, 재작업이냐, 고객 만족이냐 — 를 프로젝트마다 먼저 합의해야 하고, 새 정책은 반드시 실제 프로젝트에서 확인하고 로그를 갱신해야 한다. 채점과 확인을 한 쌍으로 묶는 순간, 로그는 쌓이기만 하는 비용이 아니라 PM을 키우는 자산이 된다. 발품이 자산이 되는 전환, 그게 Dream-RSI가 가리키는 방향이다.