하이라이트 344칸의 사진은 그 칸의 라운드가 맞는가 — 인물 리포트 152편의 이미지 키를 전부 맞대어 봤다

AI 인물 생성 시즌 리포트의 맨 아래에는 ‘하이라이트’ 블록이 있다. 그 시즌에서 잘 나온 라운드를 최대 세 칸까지 싣는 자리고, 한 칸은 늘 같은 모양이다 — 사진 한 장, 그 아래 R9 · 수정 · 일치율 59.0% 같은 머리줄 한 줄, 그 아래 판정 코멘트 한 문단.

읽는 사람은 이 셋을 한 덩어리로 읽는다. 사진이 그 라운드의 그림이고, 점수가 그 사진의 점수라고 전제한다. 그런데 사진과 머리줄은 같은 곳에서 오지 않는다. 머리줄의 R9는 라운드 행의 번호 칸에서 오고, 사진은 같은 행의 이미지 주소 칸에서 온다. 둘은 나란히 저장된 별개의 값이고, 한 칸이 다른 라운드의 사진을 들고 있어도 지면에서는 그것이 보이지 않는다.

확인할 방법은 있다. 사진 주소에 라운드 번호가 박혀 있기 때문이다. 공개된 국문 리포트 152편의 하이라이트 344칸을 전부 뽑아, 칸이 주장하는 내용을 사진 주소·같은 페이지의 라운드 표 2,280행·영문판 344칸과 열 가지 방식으로 맞대어 봤다. 어긋난 칸은 0개였다. 그래서 이 글의 절반은 그 검산 결과이고, 나머지 절반은 검산하는 동안 파일명에서 드러난 규칙 — 리포트가 설명하지 않는 candA·candB 표기가 라운드와 시기에 따라 어떻게 붙는지 — 에 대한 것이다.

방법 — 파일명이 열 자리 증인이다

인물 리포트의 사진은 모두 generated/character/season-{번호}/round-{번호}[-cand{A|B}]-{YYMMDDHHMMSS}-{해시8}.png 형태의 주소로 올라가 있다. 폴더 이름에 시즌 번호가, 파일명 앞머리에 라운드 번호가, 그다음에 후보 표기와 12자리 시각 도장과 8자리 해시가 붙는다. 344칸의 주소를 이 문법으로 읽었고 파싱 실패는 0건, 확장자는 344칸 모두 .png, 해시는 344칸 모두 8자리이며 서로 겹치는 해시가 없다(중복 0건).

그다음 같은 페이지의 ‘라운드별 일치율 추이’ 표를 전부 파싱했다. 152편 모두 정확히 15행이어서 총 2,280행이고, 그중 ‘미채택’ 배지가 붙은 행이 1,827행, 붙지 않은 행이 453행이다. 하이라이트는 채택된 라운드 중 점수 상위를 싣는 자리이므로, 344칸은 이 453행의 부분집합이어야 한다. 같은 시즌의 영문 리포트 152편도 같은 방식으로 파싱해 칸끼리 짝지었다.

검산 항목은 열 가지다. 넷은 자료 자체의 무결성(주소 문법·시즌 폴더·중복·확장자), 셋은 칸과 표의 대조(라운드 존재·채택 여부·점수·프롬프트 종류), 둘은 순서(점수 내림차순·라운드와 시각 도장의 방향), 하나는 국문과 영문의 일치다.

결과 ① — 열 항목 모두 불일치 0건

표로 먼저 적는다. 분모는 항목마다 다르다 — 칸 단위 검산은 344, 순서 검산은 비교 가능한 쌍의 수, 편 단위 검산은 152다.

검산 항목대상불일치
주소가 키 문법으로 읽히는가344칸0
키의 season-{번호}가 그 리포트의 시즌인가344칸0
344칸의 파일명·해시가 서로 다른가344칸0
칸의 R{번호} = 키의 round-{번호}344칸0
그 라운드가 같은 페이지 표에 있는가344칸0
그 표 행이 ‘미채택’이 아닌가344칸0
칸의 일치율 = 표의 일치율344칸0
칸의 ‘생성/수정’ = 표의 ‘생성/수정’344칸0
칸이 점수 내림차순인가192쌍0
라운드가 클수록 시각 도장이 늦은가263쌍0
국문·영문 같은 자리의 사진 주소가 같은가344쌍0
국문·영문 칸 수가 같은가152편0

네 가지는 따로 짚을 만하다.

라운드 번호의 일치가 이 검산의 중심이다. 머리줄의 번호와 파일명의 번호는 지면에서 서로를 참조하지 않으므로, 344칸이 모두 맞다는 것은 라운드 행과 그 행의 이미지가 넉 달 동안 한 번도 엇갈리지 않았다는 뜻이다. 같은 리포트 안에서 한 라운드가 두 칸을 차지한 편도 0편이다 — 세 칸짜리 리포트 71편은 전부 서로 다른 세 라운드를 보여 준다.

‘미채택’ 0건도 의미가 있다. 표 2,280행 중 1,827행(80.1%)이 미채택이고 채택은 453행뿐인데, 하이라이트에 오른 344칸은 전부 그 453행 안에 있었다. 왕좌를 못 넘긴 후보의 그림이 하이라이트에 섞여 들어간 칸은 없다.

점수 순서는 인접한 칸끼리 192번 비교해 역전이 0번이었다. 다만 그중 24번은 동점이어서 ‘내림차순’은 등호를 포함한 의미다. 예컨대 시즌 13은 첫 칸과 둘째 칸이 모두 79.0%인데, 앞 칸이 7라운드, 뒤 칸이 12라운드다. 동점에서는 라운드 번호가 작은 쪽이 앞에 왔다.

라운드와 시각의 방향은 같은 리포트에서 라운드 번호가 다른 칸끼리 263쌍을 비교해 역행이 0쌍이었다. 라운드가 뒤일수록 파일의 시각 도장이 늦다. 한 시즌이 열다섯 라운드를 순서대로 돌았다는 것이 지면의 숫자가 아니라 파일 이름으로 확인되는 자리다.

결과 ② — 국문과 영문은 같은 사진을 쓴다

한 시즌은 국문·영문 리포트 두 편으로 발행된다. 두 편은 제목·코멘트·표 머리글이 각 언어로 다르게 쓰이지만, 하이라이트의 사진은 같아야 한다. 같은 시즌의 같은 자리를 짝지어 보니 344쌍 모두 사진 주소가 글자까지 동일했고, 라운드 번호도 344쌍 모두 같았으며, 칸 수가 다른 편도 없었다(국문 344칸 = 영문 344칸).

번역 과정에서 사진이 흐트러지지 않았다는 확인인 동시에, 두 지면이 같은 한 벌의 기록을 읽고 있다는 뜻이다. 영문 리포트를 읽는 사람과 국문 리포트를 읽는 사람은 같은 라운드를 보고 있다.

결과 ③ — 후보 표기는 1라운드에 단 한 번도 붙지 않는다

검산을 하다 보면 파일명에서 한 가지가 눈에 걸린다. 일부 키에만 붙는 -candA·-candB다. 리포트는 이 표기가 무엇인지 설명하지 않는다. 그런데 344칸을 라운드 번호와 함께 세워 놓으면 규칙이 하나 나온다.

키 모양칸1라운드 칸2라운드 이상생성수정등장 시즌
표기 없음14512223122231 ~ 204
candA3103103119 ~ 122
candB16801681244413 ~ 204
계344122222246981 ~ 204

첫 번째 규칙: 후보 표기가 붙은 199칸은 전부 2라운드 이상이고, 1라운드 122칸에는 단 한 칸도 붙지 않았다. 예외가 없다.

두 번째 규칙: 거꾸로 표기가 없는 2라운드 이상 칸은 23칸뿐이고, 그 23칸은 전부 가장 이른 10편(시즌 1~11, 2026-06-30~07-06)에서 나온다. 공개된 152편 중 시즌 12 이후의 142편으로 범위를 좁히면, 그 안의 316칸은 1라운드 117칸이 전부 표기 없음이고 2라운드 이상 199칸이 전부 표기 있음이다. 표기 없는 2라운드 칸은 0칸이다.

정리하면 ‘표기가 붙는다 ⟺ 시즌 12 이후의 2라운드 이상’이고, 344칸 전부가 이 한 문장에 맞는다. 경계도 날짜로 좁혀진다 — 표기 없는 2라운드 칸이 있는 마지막 리포트가 시즌 11(2026-07-06, 3라운드 67.0%)이고, 표기가 처음 나타나는 리포트가 시즌 13(2026-07-07, 세 칸 모두 candB)이다. 하루 사이다.

세 번째 규칙은 프롬프트 종류와 맞물린다. 1라운드 122칸은 전부 ‘생성’이고, 표기 없는 2라운드 이상 23칸은 전부 ‘수정’이며, candA 31칸도 전부 ‘수정’이다. ‘수정’ 칸 98개 전체가 2라운드 이상에서만 나온다는 것은 당연해 보이지만 — 고칠 대상이 있어야 고칠 수 있으니 — 그 당연함이 344칸에서 한 번도 깨지지 않았다는 사실 자체가 기록의 건강함이다.

결과 ④ — candB의 짝은 8월 초에 갈렸다

표의 candB 줄만 어긋나 보인다. 124칸이 ‘생성’이고 44칸이 ‘수정’이다. 같은 표기가 두 종류를 가리키는 것처럼 보이는데, 시기로 갈라 보면 섞여 있는 것이 아니라 시간 순서로 완전히 나뉘어 있다.

키 모양 · 프롬프트칸등장 시즌시각 도장 범위
candB · 수정4413 ~ 71260706 ~ 260804
candA · 수정3119 ~ 122260709 ~ 260822
candB · 생성12477 ~ 204260807 ~ 261011

candB가 ‘수정’인 칸은 시즌 71(2026-08-04)에서 끝나고, ‘생성’인 칸은 시즌 77(2026-08-07)에서 시작한다. 겹치는 구간이 없다. 그 사이에 있는 공개 리포트는 시즌 73·75 두 편이고, 두 편의 2라운드 이상 칸은 모두 candA·‘수정’이다. 즉 B 슬롯에 담기는 그림의 성격이 8월 4일과 8월 7일 사이 어디쯤에서 한 번 바뀌었다.

candA 쪽은 더 단순하다. 31칸 전부 ‘수정’이고, 등장은 시즌 19(2026-07-09)에서 시즌 122(2026-08-22)까지다. 그 뒤로 하이라이트에 오른 candA 칸은 없다.

발행 월로 다시 세면 이 두 변화가 한 표 안에서 보인다.

발행 월표기 없음candAcandB생성수정칸 계
2026-06600066
2026-07311941147791
2026-0842127010915124
2026-09560491050105
2026-10100818018
전체1453116824698344

오른쪽 두 열이 더 극적이다. 7월에는 하이라이트 91칸 중 77칸(84.6%)이 ‘수정’ 라운드였다. 8월에 15칸으로 줄고, 9월과 10월의 123칸에서는 ‘수정’ 칸이 0개다. 하이라이트에 오른 마지막 ‘수정’ 칸은 시즌 122(2026-08-22, 4라운드 72.0%와 8라운드 71.0%)이고, 그 뒤 발행된 79편 152칸은 전부 ‘생성’이다.

이 글이 말할 수 있는 것은 여기까지다. 상위 세 칸에 ‘고쳐 그린’ 라운드가 더 이상 올라오지 않는다는 사실은 두 가지 중 어느 쪽으로도 읽힐 수 있다 — 수정 라운드가 덜 만들어지고 있거나, 만들어지지만 상위 세 칸을 못 뚫고 있거나. 하이라이트는 상위 셋만 보여 주므로 두 설명을 가릴 수 없다. 수정 라운드 자체의 성적은 고쳐 그리기의 역설에서 다른 자료로 따로 다뤘다.

곁가지 — 1라운드 사진은 자정에 찍힌다

시각 도장에서 하나가 더 보인다. 1라운드 칸 122개 중 111개의 도장이 00시대이고, 그 111개의 분 자리는 5분~59분 사이(중앙 15분)에 퍼져 있다. 나머지 11칸만 다른 시각대다. 2라운드 이상 222칸의 도장은 19시대와 23시대만 비어 있고 나머지 20개 시각대에 퍼져 있다(00시대 36칸·01시대 29칸·03시대 24칸이 많은 쪽이고, 16·17·20·22시대는 각 1칸).

시즌의 첫 그림은 거의 모두 자정 직후에 만들어지고 나머지 라운드는 하루에 걸쳐 돈다는 뜻으로 읽힌다. 시즌 하나가 몇 시간에 걸쳐 돌아가는지는 파일명의 시각 도장에서 더 자세히 다뤘다.

한계 — 이 분석이 말할 수 없는 것

첫째, 검산이 통과했다는 말은 ‘지면이 스스로와 모순되지 않는다’까지다. 머리줄의 라운드와 파일명의 라운드가 같다는 것은 두 값이 서로 어긋나지 않았다는 뜻이고, 그 사진이 실제로 그 라운드에서 생성된 화소라는 보증은 아니다. 키 조립과 그림 업로드가 같은 순간에 일어났다면 어긋날 자리가 애초에 없고, 그렇다면 이 검산은 ‘파이프라인이 그 전제를 지켰다’는 확인일 뿐 독립적인 증거가 아니다. 이 글은 공개 지면만으로 그 두 경우를 가리지 못한다.

둘째, candA·candB의 뜻을 모른다. 공개 지면에 정의가 없다. 결과 ③·④는 그 표기가 어떤 라운드·어떤 시기에 붙었는지의 분포이고, A와 B가 무엇의 A와 B인지는 추정하지 않았다. 결과 ④의 ‘갈렸다’도 표기와 프롬프트 종류의 짝이 시간 축에서 겹치지 않는다는 관측이며, 무엇이 바뀌어 그렇게 됐는지는 이 자료가 말하지 않는다.

셋째, 344칸은 453행의 일부다. 하이라이트는 채택된 라운드 중 상위 세 칸까지만 싣는다. 그래서 이 검산은 채택 453행 가운데 344행만 건드렸고, 칸을 얻지 못한 나머지 109행(453−344)의 사진 주소는 지면에 아예 없어 같은 방식으로 대조할 수 없다. 잘린 쪽이 무엇인지는 하이라이트에서 잘린 라운드에서 더 이른 범위(리포트 114편)의 점수·라운드 정보만으로 다뤘다. 또한 전체 ‘수정’ 라운드가 아니라 ‘하이라이트에 오른 수정 라운드’만 세고 있다는 점이 결과 ④의 해석을 좁힌다.

넷째, 시각 도장의 시간대를 모른다. 12자리 숫자를 적힌 그대로 읽었을 뿐이어서 ‘자정’이 어느 지역의 자정인지 지면은 말하지 않는다. 라운드와 시각의 방향 검산(263쌍)은 같은 시즌 안의 비교라 시간대와 무관하지만, 곁가지 절의 ‘00시대’는 그 전제를 하나 더 깔고 있는 서술이다.

다섯째, 동점 처리는 두 칸에서만 관측된 규칙이다. 인접 동점 24쌍에서 라운드 번호가 작은 쪽이 앞에 왔지만, 이것이 정렬 규칙으로 정해진 것인지 자료가 들어온 순서의 결과인지는 지면만으로 가릴 수 없다.

여섯째, 10월 표본이 작다. 10월 몫은 리포트 10편·18칸이고, 공개 리포트의 가장 늦은 발행일은 2026-10-11이다. 9월과 10월을 묶어 ‘수정 0칸’이라고 적은 것은 123칸에 기댄 관측이며, 7·8월의 월별 편차(91칸·124칸)를 보면 한 달 치만으로는 방향을 말하기 어렵다.

그래서 무엇이 남는가

세 문장으로 줄이면 이렇다. 하이라이트 칸은 자기가 말하는 라운드의 사진을 들고 있다(344칸, 열 항목 불일치 0건, 국문·영문 344쌍 동일). 파일명의 후보 표기에는 규칙이 있다 — 1라운드에는 한 번도 붙지 않고(0/122), 시즌 12 이후 2라운드 이상에는 예외 없이 붙는다(199/199). 그 표기의 짝은 한 번 갈렸다(candB·수정이 시즌 71에서 끝나고 candB·생성이 시즌 77에서 시작, 겹침 0).

불일치가 0이라는 결과는 쓸 이야기가 없다는 뜻이 아니다. 이 리포트들은 사람이 한 편씩 쓴 글이 아니라 무인 파이프라인이 하루 한 편씩 넉 달 동안 찍어 낸 지면이고, 그런 지면에서 0은 기본값이 아니다. 표 2,280행과 이미지 344개가 서로를 가리키는 자리마다 한 번도 틀리지 않았다는 것은, 숫자를 믿고 읽어도 된다는 뜻이다 — 적어도 지면이 스스로 주장하는 범위 안에서는.

그리고 검산용으로 읽은 파일명이 지면보다 더 많은 것을 말해 주었다. 리포트는 어느 칸에도 ‘이 라운드는 후보 두 장을 겨루게 한 라운드였다’고 적지 않지만, 199개의 키에 붙은 다섯 글자가 그 경계를 날짜까지 알려 준다. 공개 지면은 종종 설명하지 않는 것을 들고 있다.

원자료는 열려 있다. 아무 인물 시즌 리포트나 열어 하이라이트 사진의 주소를 보면 round- 뒤의 숫자가 머리줄의 R 번호와 같은 것을 확인할 수 있다 — 예컨대 시즌 13은 세 칸이 모두 candB이고 앞 두 칸이 79.0% 동점인 편, 시즌 122는 하이라이트에 ‘수정’ 칸이 오른 마지막 편, 시즌 204는 가장 늦게 발행된 편이다.

집계 기준. 저장소의 공개 인물 생성 시즌 리포트 국문 전수 152편(시즌 번호 1~204, JSON-LD datePublished 2026-06-30 ~ 2026-10-11)과 같은 시즌의 영문 152편. 각 편의 ‘하이라이트’ 섹션에서 칸(ct-hi 블록)을 순서대로 뽑아 국문 344칸·영문 344칸을 얻었다(3칸 71편·2칸 50편·1칸 31편, 상한 3칸). 칸마다 사진 주소와 R{번호} · 프롬프트 · 일치율 {값}% 머리줄을 읽고, 주소는 generated/character/season-{번호}/round-{번호}[-cand{A|B}]-{YYMMDDHHMMSS}-{해시8}.png 패턴으로 시즌 폴더·라운드 번호·후보 표기·시각 도장·해시로 갈랐다(파싱 실패 0건, 확장자 전부 .png, 해시 전부 8자리·중복 0건). 같은 편의 ‘라운드별 일치율 추이’ 표도 전수 파싱해 152편 모두 15행, 총 2,280행을 얻었고 ‘미채택’ 배지가 없는 453행을 채택으로 셌다. 칸↔표 대조는 라운드 번호로 짝지어 존재·채택 여부·일치율·프롬프트 종류를 비교했으며 일치율은 0.05점 이내를 동일로 봤다. ‘점수 내림차순’은 같은 편의 인접한 칸 쌍 192개를 비교한 것이고 그중 24쌍은 동점이다. ‘라운드와 시각의 방향’은 같은 편에서 라운드 번호가 서로 다른 칸 쌍 263개를 비교했다. 국문·영문 대조는 같은 시즌의 같은 순서 칸을 짝지어 사진 주소 문자열과 라운드 라벨을 비교했다. 프롬프트 종류는 머리줄의 생성·수정 표기를 그대로 썼고, 발행 월은 datePublished 기준, 시각 도장은 파일명의 12자리를 적힌 그대로(시간대 해석 없이) 읽었다. 비율은 소수점 첫째 자리에서 반올림했고 일치율은 리포트에 찍힌 값을 그대로 썼다(전부 소수점 한 자리).