포스트

카파시의 Auto-Research Loop를 Codex에 붙이자, 0점이 100점이 됐다

카파시의 Auto-Research Loop를 Codex에 붙이자, 0점이 100점이 됐다

Threads 원문: @kyungju_benj
작성일: 2026년 3월
키워드: autoresearch, Andrej Karpathy, OpenAI Codex, Agent Skills, 정보올림피아드, agentic loop, C++, 알고리즘 문제풀이


개요

이 문서는 한 개발자가 안드레 카파시(Andrej Karpathy)의 autoresearch 아이디어를 정보올림피아드(KOI) 알고리즘 문제 풀이에 적용해, OpenAI Codex의 Agent Skill로 구현한 실험 결과를 상세히 분석한 글이다.

핵심 결과는 단순하지만 강렬하다.

같은 문제, 같은 테스트 환경 — GPT 5.4 Heavy는 4점, Codex + auto-research loop는 100점.

단순히 “더 좋은 모델”을 쓴 것이 아니다. 문제를 푸는 방식 자체를 바꾼 것이다.


1. 두 이미지가 담고 있는 것: 데이터 먼저 읽기

이미지 1 — 제출 히스토리 (채점 사이트 캡처)

제출 번호날짜결과언어
#80086182026-03-25 20:23:45100점C++20
#77963692026-01-20 10:17:33⚠️ 4점C++17
#77963672026-01-20 10:17:06컴파일 실패 (CE)C++17

이 세 줄의 제출 기록은 두 달이라는 시간 간격을 사이에 두고 극적인 역전을 보여준다.

  • 1월 20일 첫 시도: 컴파일조차 실패했다. C++17 환경에서 CE(Compile Error). 이것이 사실상 워크플로우 자체의 실패를 의미한다.
  • 1월 20일 두 번째 시도: 컴파일은 성공했으나 4점. 100점 만점에서 4점이라는 것은 가장 단순한 엣지 케이스 하나 정도만 통과했다는 뜻이다. 알고리즘 자체가 틀렸거나, 시간 초과, 혹은 메모리 초과로 대부분의 테스트를 통과하지 못한 것이다.
  • 3월 25일 세 번째 시도: C++20으로 전환하고, auto-research loop를 Codex의 Skill로 붙인 결과 — 100점 만점.

여기서 중요한 점은, 1월과 3월 사이에 모델이 달라진 것이 아니라는 사실이다. 바뀐 것은 문제를 해결하는 프로세스와 구조였다.

이미지 2 — 성능 비교 분석 대시보드 (출제자 정답 vs Codex 생성 코드)

이 표는 단순히 “정답 여부”를 넘어, Codex가 생성한 C++ 코드와 출제자가 직접 작성한 정답 코드를 실행 시간(초)메모리 사용량(MiB) 두 가지 축에서 9개 부분문제(subtask)에 걸쳐 비교한 결과다.

실행 시간 (초) 비교

문제CodexHuman시간 우세
10.0020.012🔵 Codex
20.3080.296🟠 Human
30.2920.208🟠 Human
40.0570.058🔵 Codex (근소)
50.1760.179🔵 Codex (근소)
60.0520.057🔵 Codex
70.1990.207🔵 Codex
80.0900.070🟠 Human
90.3080.296🟠 Human

시간 승률: Codex 5승 vs Human 4승

메모리 사용량 (MiB) 비교

문제CodexHuman메모리 우세
10.81614.582🔵 Codex
249.93457.742🔵 Codex
344.16455.074🔵 Codex
416.44528.395🔵 Codex
548.29357.164🔵 Codex
616.59828.680🔵 Codex
749.93457.742🔵 Codex
816.59828.680🔵 Codex
949.93457.742🔵 Codex

메모리 승률: Codex 완승 (9/9)

이 데이터가 말해주는 것

메모리에서 Codex가 전 문제를 이긴 것은 단순한 우연이 아니다. 이는 반복 루프를 통한 최적화가 알고리즘의 정확성을 넘어서 자원 효율성까지 개선했음을 시사한다. 특히 문제 1에서 실행 시간이 Human의 6분의 1 수준(0.002초 vs 0.012초)인 것은 접근 알고리즘 자체가 다를 가능성이 높다.

속도에서는 Human이 4문제에서 앞섰지만, 이는 출제자가 특정 최적화 기법(비트마스킹, 특수 자료구조 등)을 문제를 만들면서 이미 알고 적용한 케이스일 수 있다. 전반적으로 Codex가 생성한 코드의 품질이 출제자 정답과 실질적으로 경쟁하는 수준임을 보여준다.


2. 배경: 안드레 카파시의 autoresearch란 무엇인가

탄생 배경

2026년 3월, 카파시(전 Tesla AI 총괄, OpenAI 공동창립자, “바이브 코딩” 명명자)는 GitHub에 karpathy/autoresearch라는 단 630줄짜리 Python 스크립트를 공개했다. 공개 2주 만에 GitHub Star 58,000개를 돌파하며 Fortune 매거진이 “The Karpathy Loop”라 부를 만큼 폭발적인 반응을 얻었다.

핵심 아이디어: 실험을 자동화하다

카파시가 풀려 했던 문제는 머신러닝 연구자가 매일 겪는 루틴이다.

학습 스크립트를 수정하고 → 실험을 돌리고 → 결과를 확인하고 → 개선됐으면 유지, 아니면 버리고 → 다시 처음으로.

사람이 하면 하루에 5~10번이 한계다. 밤새 자면서 놓치는 실험 기회가 수백 번이다.

autoresearch는 이 루프를 AI 에이전트에게 맡긴다. 구체적으로:

  • 인간이 작성: program.md — 연구 방향을 기술한 마크다운 파일
  • AI가 담당: train.py — 학습 스크립트를 수정하고, 5분짜리 실험을 돌리고, 검증 손실이 개선되면 git commit, 안 되면 revert
  • 하룻밤에: GPU 한 장으로 약 100회의 독립적 실험

카파시 본인이 2일 동안 돌린 결과, 에이전트가 700번의 변경을 시도했고 그 중 20개의 누적 개선을 발견했다. “Time to GPT-2” 리더보드 지표를 2.02시간에서 1.80시간으로 11% 단축시켰다. 카파시가 수십 년간 수동으로 놓쳤던 attention scaling 오류와 regularization 누락까지 에이전트가 잡아냈다.

autoresearch의 3파일 구조

1
2
3
4
autoresearch/
├── program.md    ← 인간이 쓰는 유일한 파일. 연구 방향, 제약, 가이드라인
├── train.py      ← AI 에이전트가 수정하는 학습 스크립트
└── prepare.py    ← 고정된 데이터 준비 및 유틸리티

래칫(Ratchet) 메커니즘: 에이전트는 현재 최고 점수(best validation loss)를 항상 기억한다. 새로운 실험 결과가 최고 점수보다 나쁘면 자동으로 git revert. 더 좋으면 git commit. 점수는 오직 올라가는 방향으로만 움직인다.

이미 현실에서 검증된 사례

  • Shopify CEO 토비 루트케(Tobi Lütke): autoresearch를 내부 query-expansion 모델에 적용해 37번의 실험만에 검증 점수 19% 향상
  • 에릭 슈(Eric Siu, Single Grain): 마케팅 랜딩 페이지에 적용해 CTR 41%→92% 개선 (4라운드)
  • Shopify 내부: Liquid 템플릿 엔진에 적용해 파싱+렌더링 속도 53% 향상, 객체 할당 61% 감소

이 사례들이 보여주는 것은 autoresearch의 핵심 아이디어가 ML 연구에만 국한되지 않는다는 점이다. 수치로 측정 가능한 목표가 있고, 자동화된 테스트가 있다면 어디든 적용 가능하다.


3. Codex의 Agent Skills란 무엇인가

OpenAI Codex와 Agent Skills

2026년 현재 OpenAI의 Codex는 단순한 코드 자동완성 도구를 넘어 클라우드 기반 에이전트로 진화했다. GPT-5 High(또는 GPT-5.4)를 백엔드로 사용하며, CLI, IDE 익스텐션, Codex App 등 여러 인터페이스를 통해 접근 가능하다.

Codex가 도입한 Agent Skills는 Anthropic이 2025년 12월에 오픈 스탠다드로 공개한 SKILL.md 형식을 채택한 재사용 가능한 워크플로우 패키지다. Claude Code, Codex, Gemini CLI, GitHub Copilot, Cursor 등 30개 이상의 에이전트 도구가 동일한 형식을 지원한다.

Skill의 구조

1
2
3
4
my-skill/
├── SKILL.md          ← 핵심: 에이전트에게 주는 지침서
├── agents/openai.yaml ← (선택) UI 메타데이터, 호출 정책
└── scripts/          ← (선택) 실행 스크립트, 참조 문서

SKILL.md의 기본 형식:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
---
name: olympiad-problem-loop
description: 정보올림피아드 문제를 visible test를 모두 통과할 때까지 반복 개선하는 루프
---

# 알고리즘 문제 풀이 루프 지침

## 목표
보이는 모든 테스트케이스를 통과하는 C++ 코드를 작성한다.

## 절차
1. 문제 statement 분석
2. 제약 조건 및 입력 형식 파악
...

Skill의 호출 방식

  • 묵시적(Implicit): Codex가 작업 내용을 보고 자동으로 적절한 Skill을 선택
  • 명시적(Explicit): 사용자가 $olympiad-problem-loop처럼 직접 호출

토큰 효율을 위해 Progressive Disclosure(단계적 공개) 방식을 사용한다. 처음에는 Skill의 이름과 설명만 로드하고, 실제 사용 시에만 전체 SKILL.md 내용을 로드한다.


4. olympiad-problem-loop: 구현 원리 상세 분석

autoresearch에서 olympiad-problem-loop으로의 변환

카파시의 autoresearch가 ML 실험을 자동화하는 루프라면, 이 실험자가 만든 olympiad-problem-loop알고리즘 문제 풀이를 자동화하는 루프다.

두 루프의 핵심 철학은 동일하다:

autoresearcholympiad-problem-loop
검증 손실(validation loss)테스트 통과 여부(pass/fail)
train.py 수정C++ 소스코드 수정
5분짜리 학습 실험컴파일 + 전체 테스트 실행
개선되면 commit, 아니면 revert통과 수 증가하면 유지, 감소하면 이전 코드 복구
program.md (연구 방향)문제 statement + 제약 조건

루프의 세부 동작

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[시작]
  ↓
문제 statement 읽기
  ↓
제약 조건, 입력/출력 형식 정리
  ↓
visible test case 확인
  ↓
C++ 풀이 작성 (초안)
  ↓
컴파일
  ├─ 실패 → 컴파일 에러 분석 → 코드 수정 → 다시 컴파일
  └─ 성공 ↓
전체 테스트 실행
  ├─ 모두 통과 → [종료: 제출]
  └─ 실패 케이스 존재 ↓
실패 케이스 분석
  - 어떤 입력에서 틀렸는가?
  - 시간 초과인가, 정답 불일치인가?
  - 알고리즘 로직 오류인가, 구현 버그인가?
  ↓
코드 수정
  ↓
[전체 테스트 실행]로 돌아감

핵심: “한 번 잘 짜는 것”이 아니라 “틀리면 제대로 다시 시도하게 만드는 것”

전통적인 AI 코드 생성의 문제는 단발성이라는 점이다. 모델이 한 번에 정답을 맞추지 못하면 거기서 끝난다. 사람이 다시 프롬프트를 수정하거나 새로운 접근법을 제안해야 한다.

olympiad-problem-loop은 이 사람의 역할을 자동화한다. 에이전트 스스로가:

  1. 실패 원인을 분류하고
  2. 수정 전략을 수립하고
  3. 코드를 고치고
  4. 다시 테스트를 돌린다

이 루프가 돌아가는 동안 사람은 개입하지 않는다. 카파시의 말처럼 “목표는 당신의 개입 없이 가장 빠르게 연구 진전을 만드는 것”이다.


5. 왜 GPT-5.4 Heavy가 4점에서 멈췄나

추론 시간과 실제 점수의 괴리

이 실험에서 가장 흥미로운 발견 중 하나는 이것이다:

GPT-5.4 Heavy는 더 오래 추론했지만 더 낮은 점수를 받았다.

이는 AI 성능에 대한 직관적 가정 — “더 많이 생각할수록 더 좋은 답을 낸다” — 을 정면으로 반박한다.

이 괴리가 생기는 이유는 명확하다:

문제 1. 피드백 루프의 부재

GPT-5.4가 아무리 오래 추론해도, 그 추론은 문제 statement와 자신의 기존 지식에만 기반한다. 실제로 코드를 실행하고 테스트 결과를 보고 그것으로부터 학습할 수 없다. 반면 Codex + loop는 실제 컴파일러와 채점 결과라는 외부 현실의 피드백을 받는다.

문제 2. 단일 추론의 한계

정보올림피아드 문제는 종종 여러 알고리즘 기법이 복합적으로 필요하다. 처음 세운 풀이 방향이 틀렸을 때, 한 번의 긴 추론으로 모든 것을 커버하는 것은 사실상 불가능하다. 중간에 실패를 보고 방향을 바꿀 수 있어야 한다.

문제 3. 추론 길이와 코드 품질의 불연속성

추론을 길게 한다는 것과 올바른 알고리즘을 선택한다는 것은 다른 차원의 문제다. GPT-5.4가 더 오래 생각해도, 초기에 잘못된 알고리즘 방향(예: O(n²) 접근을 O(n log n)으로 최적화해야 하는 경우)을 선택했다면 추론 시간이 길어지면 오히려 잘못된 방향으로 더 깊이 파고들 수 있다.

이전 실험과의 비교: Gemini 2.5 Pro → 100점 워크플로우

이 실험자는 이전에 동일한 문제를 Gemini 2.5 Pro + 유사한 워크플로우로 0점에서 100점으로 끌어올린 경험이 있다. 그런데 동일한 문제를:

  • Gemini 3.0으로 돌렸을 때: 0점 또는 컴파일 에러
  • GPT-5.4 Heavy로 긴 추론을 돌렸을 때: 4점

즉, 모델을 업그레이드하는 것보다 루프 구조를 갖추는 것이 더 결정적인 차이를 만들었다.


6. 성능 데이터 심층 분석: 왜 메모리는 전 문제에서 이겼나

메모리 사용량 차이의 의미

메모리 사용량에서 Codex가 9문제 모두를 이긴 것(9/9)은 매우 의미 있는 결과다. 특히 극단적인 경우를 보면:

  • 문제 1: Codex 0.816 MiB vs Human 14.582 MiB → 약 18배 차이

이 정도 차이는 알고리즘 수준이 아니라 자료구조 선택이나 메모리 할당 방식 자체가 근본적으로 다름을 의미한다. 예를 들어:

  • Human: STL vector<vector<int>> 같은 동적 2D 배열 사용
  • Codex: 배열 기반 인접 리스트 또는 정적 배열로 최적화

반복 루프 과정에서 “컴파일 성공 → 시간 초과 → 메모리 최적화” 순서로 개선이 일어났을 가능성이 높다.

속도에서 Human이 이긴 4문제의 의미

문제 2, 3, 8, 9에서 Human이 속도에서 앞선 것을 어떻게 해석해야 할까?

출제자는 문제를 만들면서 이미 정답 알고리즘과 최적 구현을 알고 있다. 특히 특수한 최적화 기법(예: bitset 연산, segment tree lazy propagation, Fenwick tree 등)이 필요한 문제에서 출제자는 그것을 알고 있지만, 에이전트의 반복 루프가 그 특수 최적화까지 발견하지 못했을 수 있다.

그럼에도 모든 문제에서 정답(100점) 을 달성했다는 것은, 루프가 속도 최적화보다 정확성 확보를 우선시하는 방향으로 동작했음을 보여준다. 알고리즘 대회에서 정확성이 속도보다 우선이므로 이는 올바른 트레이드오프다.


7. 카파시가 말한 더 큰 그림: Agentic Engineering 시대

“코딩”에서 “오케스트레이션”으로

카파시는 2026년 2월에 “Agentic Engineering” 이라는 개념을 제시했다.

“99%의 시간 동안 당신은 코드를 직접 쓰지 않는다. 당신은 에이전트를 오케스트레이션하고 감독한다. 기술적 전문성은 여전히 승수(multiplier)지만, 사람이 기여하는 부분은 드물고 희소하다.”

그가 정의한 AI 활용의 세 단계:

  1. 바이브 코딩(Vibe Coding, 2025): 사람이 프롬프트, AI가 코드 작성, 사람이 검토
  2. 에이전틱 엔지니어링(Agentic Engineering, 2026): 사람이 실시간으로 에이전트를 오케스트레이션
  3. 완전 자율 연구(Fully Independent Research): 사람이 방향을 설정하고 에이전트가 독립 실행

olympiad-problem-loop은 3단계에 가깝다. 사람은 문제 statement를 제공하고, 에이전트가 나머지를 알아서 처리한다.

autoresearch의 다음 비전: 에이전트 연구 공동체

카파시는 autoresearch의 다음 단계로 비동기 협업 에이전트 집단을 제시한다. 단일 박사생 에이전트가 아니라, 여러 에이전트가 병렬로 서로 다른 연구 방향을 탐색하며 결과를 공유하는 구조다. SETI@home처럼 분산된 계산 자원으로 집단 지성을 만드는 것이다.

Claude Code 팀 기능(/loop, Agent Teams)이나 autoresearch의 포크들이 이 방향으로 발전하고 있다.


8. 이 패턴을 다른 영역에 적용한다면

이 실험자가 제기하는 질문이 핵심이다:

“마케팅 문구도 광고관리자 데이터와 연동해서 클릭률(CTR), CPM 등의 데이터 지표를 테스트 결과 삼아 지속적으로 개선하는 루프를 돌 수 있다면?”

auto-research 루프의 범용 적용 조건은 두 가지다:

조건 1: 수치로 표현 가능한 목표

“좋은 코드”는 테스트 통과 여부로 정의된다. “좋은 마케팅 문구”는 클릭률로 정의된다. 목표가 숫자로 표현되지 않으면 루프를 자동화할 수 없다. 반대로 숫자로 표현할 수 있다면, 거의 모든 영역에 적용 가능하다.

조건 2: 자동화된 테스트/평가 환경

사람이 매번 결과를 보고 “이게 더 낫네”라고 판단해야 한다면 루프가 멈춘다. 결과를 자동으로 측정하고 비교하는 파이프라인이 있어야 한다.

적용 가능한 영역들

영역수치 목표자동화 테스트
알고리즘 문제풀이테스트 통과 수채점 시스템
마케팅 카피CTR, CVR, CPM광고 플랫폼 API
LLM 학습검증 손실(validation loss)학습 파이프라인
웹 서비스 성능응답 시간, p99 레이턴시부하 테스트 도구
코드베이스 품질테스트 커버리지, 린트 점수CI/CD 파이프라인
SQL 쿼리 최적화실행 시간, I/O 블록 수DB EXPLAIN 결과
프롬프트 엔지니어링평가 데이터셋 점수자동 평가 스크립트

9. 더 넓은 맥락: 이 실험이 시사하는 것

AI는 더 똑똑해진 것이 아니라, 더 잘 반복하게 됐다

이 실험의 결론은 AI 모델 능력 자체에 관한 것이 아니다. 어떤 구조 안에서 모델이 작동하느냐에 관한 것이다.

  • 모델이 한 번의 추론으로 답을 맞추는 것은 운이 좋거나, 문제가 쉬운 경우다.
  • 실제 어려운 문제는 시행착오와 외부 피드백을 통한 반복 개선으로만 풀 수 있다.
  • 이것이 사람이 문제를 푸는 방식이고, 과학이 작동하는 방식이다.

autoresearch와 olympiad-problem-loop는 AI에게 이 “시행착오와 반복” 구조를 제공한다.

Claude Code 생태계와의 연결

이 실험자가 쓴 것은 OpenAI Codex + Skills이지만, Anthropic의 Claude Code 생태계도 동일한 방향으로 수렴하고 있다:

  • Agent Skills: 동일한 SKILL.md 오픈 스탠다드 채택
  • /loop 명령어: Claude Code에서 반복 실행 스케줄링 지원
  • Agent Teams: 병렬로 여러 에이전트가 작업 분담
  • MCP 연동: 외부 시스템(채점 서버, 테스트 환경 등)과의 연결

두 생태계 모두 “에이전트가 혼자 루프를 돌며 개선하는 구조”를 핵심으로 삼고 있다.

“목표를 수치로 표현하라”는 오래된 교훈의 새로운 발현

피터 드러커의 “측정할 수 없으면 관리할 수 없다”는 오래된 격언이, 이제 AI 에이전트 시대에 다시 소환된다. 수치화된 목표는 에이전트가 자율적으로 개선 방향을 판단할 수 있게 해주는 가장 근본적인 조건이다.


10. 요약 및 결론

핵심 요약

  1. 이미지 1이 보여주는 것: 같은 문제에 대해 1월(4점, CE)과 3월(100점)의 극적인 역전. 모델이 아니라 프로세스 구조가 바뀐 결과다.

  2. 이미지 2가 보여주는 것: Codex가 생성한 코드는 출제자 정답 대비 메모리에서 9/9 완승, 속도에서 5/9 우위. 단순히 정답만 맞춘 게 아니라 실질적 코드 품질도 경쟁력 있다.

  3. autoresearch의 핵심: “목표를 수치화하고 → 자동화된 테스트를 만들고 → 에이전트가 루프를 돌게 하라.” 단 세 가지.

  4. GPT-5.4 Heavy가 진 이유: 추론 시간이 길다고 좋은 것이 아니다. 실제 컴파일러와 채점기라는 외부 현실의 피드백을 받는 구조가 없으면 추론은 공허하다.

  5. 적용 범위: 알고리즘 문제풀이에서 마케팅 카피, ML 학습, 쿼리 최적화까지 — 수치 목표와 자동화 테스트가 있는 모든 영역에서 이 루프는 작동한다.

마지막으로

카파시가 autoresearch를 공개하면서 남긴 말이 이 모든 것을 가장 잘 요약한다:

“당신이 설계하는 것은 코드가 아니다. 에이전트가 연구를 진행하는 아레나(arena) 다.”

올림피아드 문제를 푸는 아레나를 설계했고, 에이전트가 100점을 만들었다.
다음 아레나는 어디인가? 그것이 지금 우리가 던져야 할 질문이다.


참고 자료

  • Karpathy autoresearch GitHub: https://github.com/karpathy/autoresearch
  • Karpathy X 발표: https://x.com/karpathy/status/2030371219518931079
  • OpenAI Codex Agent Skills 문서: https://developers.openai.com/codex/skills
  • Agent Skills 오픈 스탠다드: https://agentskills.io
  • 원문 Threads 게시물: https://www.threads.com/@kyungju_benj/post/DWZOTXtAXol
  • VentureBeat autoresearch 분석: https://venturebeat.com/technology/andrej-karpathys-new-open-source-autoresearch-lets-you-run-hundreds-of-ai
  • DataCamp autoresearch 가이드: https://www.datacamp.com/tutorial/guide-to-autoresearch
  • Claude Code vs OpenAI Codex 2026 비교: https://northflank.com/blog/claude-code-vs-openai-codex

이 문서는 @kyungju_benj의 Threads 게시물과 첨부 이미지를 바탕으로 작성되었으며, 최신 공개 자료(2026년 3월 기준)를 참조하여 보완하였습니다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.