Stream

#0014

Post 2026.05.04

auto-research로 ML model 개발 시스템 구축 후기

Karpathy의 autoresearch를 변형해 벤치마크 수정과 실험 리서치를 24/7로 굴려본 회고. 잘 짜둔 시스템이 매 실험마다 결정을 내리는 사람보다 멀리 간다는 감각을 얻었다.

auto-research로 ML model 개발 시스템 구축 후기

실험이 잠든 사이

Karpathy가 공개한 autoresearch를 써봤다. 처음에는 레포를 그대로 돌려보는 정도였지만, 곧 거기서 멈추지 않고 벤치마크 데이터셋 수정과 실험 관련 리서치까지 맡기도록 살짝 변형했다. 목표는 단순했다. 한 번 실행하고 결과를 보는 도구가 아니라, 사람이 잠든 동안에도 24/7로 개선을 시도하는 실험 세션을 만드는 것.

그래서 이 글은 autoresearch 자체를 소개하는 글이라기보다, 그 위에 실험을 통째로 얹어보고 얻은 운영 감각에 가깝다. 해보니 똑똑한 한 번의 실험보다 오래 굴러가는 시스템이 더 멀리 가는 순간이 있었다. 그 감각이 어디서 생겼는지 정리해두고 싶었다.

끝나지 않는 세션

Karpathy의 원본 레포 구조와 프롬프트는 거의 그대로 사용했다. 이 부분은 내가 따로 자세한 메모를 남겨두지 않았기 때문에, 여기서 내부 구조를 새로 설명하려 하지는 않으려 한다. 중요한 것은 원본을 크게 다시 짠 것이 아니라, 그 위에서 맡기는 일의 범위를 넓혔다는 점이었다.

변형한 지점은 벤치마크 데이터셋과 실험 리서치였다. Claude Code가 벤치마크 데이터셋을 알아서 수정하고, 실험과 관련된 리서치를 계속 하면서 다음 개선 시도를 이어가도록 만들었다. 그러면 실험은 한 번 돌리고 끝나는 작업이 아니라, 사람이 자고 일어나도 새로운 가설을 시도하고 있는 상태가 된다.

이 전환은 생각보다 컸다. 사람이 다음 실험을 정의하던 단계가 사라지면, 시스템은 자기가 직접 찾아낸 길을 따라간다. 한 번의 실험을 잘 돌리는 문제에서, 실험을 끝없이 굴리는 환경을 만드는 문제로 관심사가 옮겨갔다.

운영의 손잡이

실제로 돌려보니, 시스템에 위임할수록 사람의 일은 실험 자체보다 실험이 잘 굴러갈 조건을 미리 깔아두는 쪽으로 이동했다. 특히 아래 네 가지는 초반에 정리해두지 않으면 중간에 사람이 다시 들어가 흐름을 깨기 쉬웠다.

  • 데이터셋과 비용은 먼저 닫아둘 것. 데이터 수집, 품질 관리, API 호출 관리는 실험 이전에 모두 마쳐두는 편이 좋았다. 특히 비용이 발생하는 호출은 시스템이 도는 중간에 손대기 시작하면 변수와 비용이 동시에 흔들린다.
  • 작은 개선에 오래 머물 수 있다. noise로 추정될 가능성이 있는 사소한 성능 개선에 집착하는 경우가 있었다. 이런 케이스에서 잘못된 길로 한번 빠지면 hyperparameter를 정말 최적의 최적으로 찾을 수는 있지만, local minimum에서 시간을 낭비할 수도 있다. 초기에 구조적인 실험을 진행할 때는 적당히 threshold를 통해 빠르게 이동하라고 하는 편이 낫다.
  • 시각화를 stage로 박아둘 것. 성능 변화를 그래프로 보고, 모델 구조도 시각화로 보여주는 stage를 추가하면 중간중간 사람이 끼어들기 쉬워진다. 내게는 시각화가 human feedback을 넣는 가장 자연스러운 진입점이었다.
  • 모든 실험을 다 이해하려 하지 말 것. 최종적으로 좋은 구조에서 적용된 부분만 이해하는 것을 목표로 했다. 이건 내가 전문 지식이 부족한 문제일 수도 있다. 하지만 이 세상 모든 가능한 방법을 적용하는 Claude Code의 프로세스를 전부 이해하려 하면 오히려 더 느려질 수 있다.

결국 이 네 가지는 데이터, 비용, 이동 속도, 이해 범위라는 손잡이를 미리 쥐는 일에 가까웠다. 시스템을 믿고 돌리려면, 사람이 어디까지 준비하고 어디서부터 내려놓을지 먼저 정해야 했다.

결정을 비운 자리

이전에 먼저 해본 방식은 더 수동적인 협업이었다. 2주 동안 Claude Code와 같이 리서치하고, 내가 직접 모델 구조를 결정한 뒤 여러 세션을 통해 실험을 돌렸다. 매번 결과를 보고 다음 구조를 고르고, 다시 실험을 보내는 식이었다. 손으로 잡고 간다는 느낌은 있었지만, 그만큼 매 단계가 내 판단 속도에 묶였다.

그다음에는 시스템을 구축해두고 모든 실험을 그냥 Claude에게 맡겨봤다. 같은 종류의 문제를 두고, 사람이 매 실험마다 결정을 내리는 협업과 잘 짜둔 시스템에 위임하는 방식을 나란히 겪어본 셈이다. 결과만 놓고 보면 후자가 더 높은 성능을 달성했다.

이걸 일반 법칙처럼 말하고 싶지는 않다. 한 사람과 한 시스템이 특정한 실험에서 겪은 비교에 가깝다. 다만 내게는 꽤 선명한 경험이었다. 사람이 계속 새 결정을 내리는 방식보다, 한 번 잘 깔아둔 시스템이 더 멀리 가는 경우가 있었다.

다음으로 보낼 곳

이번 실험 뒤에는 이제 정말 시스템이 중요해진 것 같다는 생각이 남았다. 좋은 아이디어 하나를 고르는 능력도 여전히 중요하지만, 그 아이디어들이 계속 시험되고 버려지고 이어질 수 있는 구조를 만드는 일이 점점 더 큰 비중을 차지한다. 적어도 이번에는 그 구조가 사람이 붙잡고 돌린 실험보다 더 좋은 결과를 냈다.

다음으로는 퀀트 분야에서 auto research를 적용하는 시스템을 구축해보고 싶다. 실제 세계의 실시간 데이터를 다뤄야 하기 때문에 훨씬 가변적이고 어려운 실험이 될 것 같다. 그래도 시스템으로 만들면 사람보다 성능이 더 좋아질 수 있을 것 같다는 기대가 있다.

거창한 결론보다는 여기까지가 지금의 감각에 가깝다. 한 번 해보니, 잘 굴러가는 시스템은 사람이 매번 결정하는 방식보다 멀리 갔다. 다음에 굴려볼 자리는 자연스럽게 퀀트 쪽으로 남았다.

tags #auto-research #ai-agent #claude-code #experiment #system #notes