자를 만들려고 하루를 썼다 — 그리고 자가 설 자리가 없다는 것을 재는 데 성공했다

2026-07-27 · ARC-AGI-1 · 학습 발사 0건 · 사전등록 측정 18건 · 예측 14승 10패 · 정정 6건

무슨 문제인가 — 처음 보는 사람을 위해

ARC는 몇 개의 예시(시연쌍)를 보고 규칙을 알아내 새 입력에 적용하는 과제다. 우리 접근의 중심에는 “자(ruler)”라는 장치가 있다. 자는 정답을 모른 채 시연쌍만 보고 “이 칸은 아마 이 색일 것”이라고 말해 주는 물건이고, 그 말을 학습 신호로 써서 생성기를 가르치는 것이 계획이었다. 정답 없이 만들어지므로 시험 문제를 미리 보는 반칙이 아니다.

오늘 한 일은 자를 만든 것이 아니라, 자가 실제로 무엇을 알고 있는지를 잰 것이다. 모든 측정은 수치를 보기 전에 합격선을 문서에 못 박고 진행했다. 그래야 결과를 보고 기준을 바꾸는 일이 원천적으로 불가능해진다.

가장 중요한 발견 — 우리가 재던 기준선이 틀려 있었다

하루 종일 “자의 정확도 94%”, “생성기 정확도 73%” 같은 숫자를 보고했다. 그런데 가장 값싼 비교 대상을 빼먹고 있었다입력을 그대로 베끼기다.

구간입력 복사생성기
전체 칸0.84270.73430.8541
바뀌는 칸0.00000.05390.1195

ARC 문제에서 0.8427, 즉 84%의 칸은 입력과 출력이 같다. 배경이 넓기 때문이다. 그래서 아무것도 안 하고 베끼기만 해도 84%를 맞힌다. 우리 생성기는 그보다 10.8%p 나쁘다. 그리고 문제의 실체인 “바뀌는 칸”에서 생성기는 5.4%, 자는 12.0%만 맞힌다.

이건 우리 헌법이 금지한 “고전 통제군 없는 양성 보고”에 우리가 걸린 사례다. 격자 전체 단위로는 고전 기준선(0.0125)을 꼬박꼬박 대조하면서, 칸 단위로는 하루 종일 빠뜨렸다. 외부 검토자가 지적해서 잡았고, 그날의 서술 네 건을 정정했다.

그래서 자에 정보가 있기는 한가 — 있다. 다만 부분적이다

정답 칸을 일부 보여주면 나머지 칸의 정답을 얼마나 더 잘 맞히는지를 비트 단위로 쟀다. 비트는 “불확실성이 얼마나 줄었나”의 단위다.

색이 10가지이므로 아무것도 모를 때  3.32 비트
자만 봤을 때                        2.90 비트   (자가 0.42 비트 제거)
자 + 주변 칸 문맥까지               2.3982 비트   (문맥이 0.50 비트 더 제거)
--------------------------------------------------------
둘을 합쳐도 전체 불확실성의 27.8% 만 제거한다

처음에 나는 이 값을 두고 “정보가 진하다”고 썼다. 정규화해 보니 남은 불확실성의 0.1734, 즉 17.3%만 제거한다. “진하다”는 철회하고 “실재하되 부분적”으로 고쳤다.

그러면 자를 더 좋게 만들면 되지 않나 — 네 번 시도했고 네 번 다 막혔다

  1. 더 나은 칸 단위 특징을 찾아본다 → 다섯 가지(주변 8칸·같은 덩어리·좌우대칭·행·열)를 같은 조건에서 비교했다. 최고가 여전히 주변 8칸(0.1710)이고 덩어리는 0.1324였다. 바뀌는 칸의 답은 칸 단위 특징 어디에도 없다.
  2. 자를 최소기술길이 원리로 고르게 한다 → 손으로 만든 기본값에게 졌다 (포착률 -1.0661). 누출 없는 전역 선택도 0.5004로 손 자(0.5178)에 미달. 원인은 내가 고전 통제군을 가설공간 밖에 둔 것이었다.
  3. 자를 규칙 프로그램으로 올린다 → 대칭·회전·이동·객체 재색칠 등 원소를 만들었다. 처음엔 0.1504로 “전멸”이라 판정했는데, 이것도 내 선택 기준의 산물이었다. 기준을 “바뀌는 칸”으로 고치니 0.2377로 1.58배 올랐다.
  4. 원소를 합친다 → 색 규칙에서는 합집합이 1.60배를 냈는데, 객체 규칙에서는 0.1976로 1.08배에 그쳤다. 객체 규칙들은 서로 거의 같은 칸을 덮는다.

마지막 측정 — 천장을 쟀다

어떤 영리한 조합 규칙을 쓰든, “원소 중 하나라도 맞히는 칸의 비율”을 넘을 수 없다. 이것이 구조적 천장이다. 정답을 보고 고르는 반칙을 허용한 상한이므로 실제 성능이 아니라 “가능한 최대”다.

의미
필요한 정확도(손익분기)0.56이보다 낮으면 예측하느니 침묵하는 편이 낫다
천장(원소 12종 중 하나라도)0.3617완벽한 선택자를 공짜로 줘도 여기까지
실제 배치 가능한 조합0.1224정답 없이 고르면 이만큼

완벽한 선택자를 공짜로 줘도 36.2%이고, 필요한 것은 56%다. 19.8%p 부족하다. 즉 문제는 “어떻게 고르나”가 아니라 “원소가 부족하다”이다.

원소들이 쓸모없는 것은 아니다. 천장 0.3617는 단일 최고(0.1821)의 1.99배이고 색 규칙 자(0.1195)의 3.03배다. 서로 다른 칸을 맞히고 있다는 뜻이다. 다만 정답 없이 그 상보성을 뽑아낼 수 없고, 뽑아내도 문턱에 못 미친다.

인사이트 — 오늘 배운 것

정직성 원장 — 오늘 정정한 것

  1. 철회: “확신 역전” 관측 — 풀링 착시로 확인
  2. 반려: 이전 사전등록 개정안 — 타깃 후보를 정답으로 비교·선택한 선택 누출
  3. 기준선 누락: 칸 단위 복사 통제군을 하루 종일 빠뜨림
  4. 서술 정정 2건: “정보가 진하다” → “부분적” / “전역 특징이 답” → 반증됨
  5. 기록 오류: 표에 읽지 않은 수치를 적었다가 원천 대조에서 발견해 정정. 이후 “표에 옮기는 수치는 콘솔이나 파일에서 직접 읽은 것만”을 상시 규칙으로 신설했다.

측정 위생 하나 더: 동결 체크포인트의 순전파가 실행마다 완전히 같지는 않아 칸 단위 지표가 ±0.002 정도 흔들린다. 이 페이지의 수치는 최종 실행의 파일 값이며, 소수 넷째 자리는 그만큼의 불확실성을 갖는다.

다음

남은 길은 원소를 크게 늘리는 것 하나인데, 그것은 사실상 ARC 전용 규칙 언어를 새로 만드는 일이라 프로젝트의 성격이 바뀐다. 그리고 선행 측정에서 연산 23종·깊이 3~4의 훨씬 큰 규칙 언어로도 400문제 중 5문제만 풀렸다. 그래서 이 갈래는 승인 사항으로 올려 둔 상태다.

모든 수치는 autoresearch/order_mdl-260711/intent_*.json에서 직접 추출했다. 사전등록 문서는 같은 디렉터리의 PREREG_*.md 20종. 크기 보존 문제로 한정되며 이는 ARC의 약 66%다.

★뒤집혔다 — 위 결론은 “나누지 않고 잰” 탓이었다

이 페이지의 앞부분은 “자가 설 자리가 없다”로 끝났다. 그 뒤 네 번을 더 재고 그 결론을 취소한다. 원인은 하나다 — 나는 칸 전체를 한 덩어리로 놓고 쟀다.

외부 검토자가 낮에 이렇게 지적했다: “고치는 행동을 어디를 건드릴까(gate)무엇으로 바꿀까(value)로 나누어 재라.” 나는 그 지적을 마지막 네 측정에서야 따랐다.

나누고 나니 두 축 모두 고전 기준선의 두 배였다

우리 장치성능고전 기준선배율
value 무엇으로바뀌어 간 색 + 문맥 조건0.4148팔레트 0.18672.22배
gate 어디를입력색 + 덩어리 크기 순위F1 0.5412전부 바뀜 0.27191.99배

핵심 기제 — “안 바뀌는 색”을 빼는 것만으로 두 배

시연 출력에 나온 색 전부      0.1867   (후보 5.45개)
그중 **바뀐 칸에 나온 색만**  0.3539   (후보 3.96개)   <- 1.90배
+ 입력색·이웃 조건            0.4148   (후보 3.31개)   <- 2.22배
(참고) 우리가 만든 규칙 12종   0.1323

ARC 문제의 0.8427가 안 바뀌는 칸이라, 후보 목록에 배경색을 넣어 두면 후보만 넓어지고 정보는 안 는다. 그걸 빼는 한 줄이 하루치 작업보다 컸다.

gate는 “말할 때는 정확”하다

“이 칸이 바뀐다”고 말하면 0.7677 맞는다. 아무 칸이나 찍으면 0.1573이니 정밀도가 4.9배다. 다만 재현율이 0.4179이라 바뀌는 칸의 58%를 놓친다 — 조심스럽게 말하고, 말할 때는 맞다.

그런데 반발 신호의 88.5%는 gate와 겹친다

“후보 밖으로 나가지 마라”는 항을 재보니 위반율 0.8286로 높았다. 그러나 그중 0.7330는 생성기가 그냥 입력을 베낀 것이고, 후보 목록은 “바뀌어 색”이라 베낀 색은 정의상 절대 후보에 없다. 즉 위반의 88.5%는 “여기서 베끼지 마라”이고, 그건 value가 아니라 gate 신호다.

두 항을 그냥 같이 쓰면 같은 신호를 두 번 세게 된다. 그리고 후보 목록이 정답을 빼먹는 비율이 0.1672 — 여섯 번에 한 번은 정답에서 밀어낸다.

그래서 지금 서 있는 자리

바뀌는 칸에서 입력 복사는 0%, 생성기는 0.0539, 색 규칙 자는 0.1195다. 생성기는 손을 거의 안 댄다. 반면 가르칠 타깃은 0.4148까지 올라왔다.

가장 그럴듯한 해석: 생성기의 병목은 “무엇으로 바꿀까”가 아니라 “여기를 바꿔야 한다”를 모르는 것이다. 다만 이건 아직 가설이고, “바꿀 색을 몰라서 안전하게 베낀다”는 반대 설명과 아직 구별하지 못했다. 그 구별이 다음 측정이다.

정직성 — 이 절이 앞 절을 취소한다

앞 절의 “닫혔다”는 나누지 않은 틀에서만 성립했다. 앞 절을 고치지 않고 남겨 둔 이유는, 그것이 실제로 내가 통과한 경로이기 때문이다. 오늘 예측은 19승 10패였고, 정정은 일곱 건이다.

모든 수치는 autoresearch/order_mdl-260711/intent_z0*.json에서 프로그램으로 추출했다. 크기 보존 문제 한정(ARC의 약 66%).

⛔한 시간 뒤 — 위 gate 결과를 철회한다

바로 위 절에서 “어디를 건드릴지 맞히는 규칙이 76.8% 정확하다”고 썼다. 취소한다. 외부 검토자가 1순위 위험으로 지목한 것이 사실이었다 — 나는 모든 칸을 문제 구분 없이 한 통에 넣고 셌다.

gate 정확도   한 통 집계 0.5412  ->  **문제별 중앙값 0.1584**  (29%)
                                     **하위 25% 문제는 0.0000**
value 품질    한 통 집계 0.4148  ->   문제별 중앙값 0.4004  (97%)  <- 이쪽은 무사

문제 넷 중 하나에서 gate 규칙은 아무것도 못 맞힌다. 한 통 집계값은 격자가 큰 소수 문제가 면적만큼 끌어올린 것이었다. 오늘 이미 “확신이 높을수록 더 틀린다”는 관측이 똑같은 기제로 무너졌는데, 같은 함정을 두 번째로 밟았다.

다른 벤치마크(ARC-2)에서 gate가 무너진 것(0.2893)과도 앞뒤가 맞는다 — 큰 문제가 적은 분포로 가면 무너진다는 설명 하나가 두 관측을 동시에 설명한다.

그리고 “병목은 어디를 건드릴지 모르는 것”이라는 제 가설도 기각됐다

검토자가 제안한 방식으로 갈라 보니 — 생성기가 어디가 바뀔지 아는 정도는 0.5521 (찍는 것이 0.5), 입력을 못 베끼게 했을 때 맞히는 비율은 0.2322였다. 어디인지도 모르고 무엇인지도 모른다.

살아남은 것은 하나다

“안 바뀌는 색을 후보에서 뺀다”는 것 하나가 살아남았다. 세 개 분할에서 재현됐고(2.22 / 2.23 / 2.32배), 문제별 중앙값도 한 통 집계와 같다(0.97배). 오늘 스물다섯 번을 재서 남은 견고한 양성은 이것뿐이다.

검토자가 짚은 것 하나 더 — 시연 문제에는 정답이 있으므로 정답 자체가 완벽한 타깃이다. 이 후보 목록이 정답 학습을 이길 수 있는 길은 정보가 아니라 매끄럽게 만드는 효과뿐이고, 그건 순전히 해봐야 아는 문제다. 오늘 하루의 “타깃 품질 경쟁”은 이 점을 한 번도 말하지 않았다.

오늘 측정 25건 · 예측 21승 11패 · 정정 10건 · 학습 0건. 문제 236/400(59%)에 한정된 결과다.