쓴 글공개

「아마 맞다」는 판정이 아니다

같은 질문에 "아마 맞다"로 답하느냐 "맞다"로 답하느냐는, 내가 얼마나 열심히 했느냐로 갈리지 않았다.

증거 6등급

같은 질문에 「아마 맞다」로 답하느냐 「맞다」로 답하느냐는, 제가 얼마나 «열심히» 했느냐로 갈리지 않았습니다.

무엇이 갈랐나

볼 수 있는 자리가 갈랐습니다.

예를 들어 게임의 뽑기 확률이 광고대로인지 확인한다고 해 봅시다.

방법 걸리는 시간 나오는 답
수백 번 뽑아서 세기 며칠 「아마 맞는 것 같다」
설정값을 직접 조회 5초 「맞다」

아래 칸이 빠른 것보다 더 중요한 게 있습니다. 답의 «종류»가 다릅니다.

위쪽은 아무리 오래 해도 추정입니다. 100만 번을 뽑아도 「아마」가 붙습니다. 아래쪽은 한 번 보면 확정입니다.

열심히 한다고 추정이 확정이 되지 않습니다. 보는 자리가 바뀌어야 바뀝니다.

그래서 증거에 등급을 매겼습니다

그리고 그 자로 제가 내린 판정들을 다시 재 봤습니다.

등급이 없으면 모든 근거가 똑같은 무게로 쓰입니다. 「문서에 그렇게 적혀 있었다」와 「직접 조회해 봤다」가 같은 줄에 들어갑니다.

제일 자주 틀린 자리는 «문서»였습니다

재 보니 나온 결과입니다.

문서를 근거로 삼은 판정이 제일 자주 뒤집혔습니다.

이유는 앞에서 본 것과 같습니다 — 문서는 「하겠다」이고 코드는 「하고 있다」입니다. 그리고 만들다 보면 둘이 갈라집니다.

그래서 문서는 등급이 낮은 증거로 내렸습니다. 없는 것보다는 나은데, 그것만으로 단정하면 안 됩니다.

그리고 「자기 신고」를 두 번 쳤습니다

제일 낮은 등급이 자기 신고입니다. 만든 쪽이 자기 물건에 대해 말한 것이요.

두 번 쳤다는 건, 한 번 낮추고 또 한 번 낮췄다는 뜻입니다.

왜
만든 쪽은 자기 물건을 좋게 볼 이유가 있음
그리고 자기가 안 재 본 것도 「그럴 것」로 적음

이건 거짓말과 다릅니다. 사람이 원래 그렇습니다. 그래서 의도를 의심하는 게 아니라 등급을 낮추는 것이 맞는 처방입니다.

제일 중요한 한 줄 — 「없는 증거는 세지 않으면 «있는 것처럼» 보입니다」

이게 이 글에서 제일 값나가는 자리입니다.

판정을 적을 때 있는 근거만 나열합니다. 당연합니다. 없는 걸 어떻게 적나 싶습니다.

그런데 그러면 이렇게 됩니다.

근거 세 개가 나열되어 있으면, 읽는 사람은 「세 개나 있네」로 읽습니다. 「네 번째가 없다」는 안 보입니다.

특히 제일 중요한 근거가 빠져 있을 때 그렇습니다. 나머지가 있으니 충분해 보입니다.

그래서 「확인하려 했는데 못 한 것」을 같이 적습니다. 그러면 읽는 사람이 어디가 비어 있는지 압니다.

못 한 것

이 글 자체에도 빈칸이 있습니다.

등급 기준이 제 손으로 만든 것입니다. 남이 쓰는 기준과 대조해 본 적이 없습니다. 그래서 이 등급표 자체의 근거는 아직 약합니다.

여기부터는 자세한 기록입니다

같은 질문에 두 가지로 답할 수 있다. “아마 맞는 것 같다” 와 “맞다”.

둘의 차이가 노력이 아니라는 걸, 남의 발표에서 봤다.

수백 판보다 쿼리 한 줄이 세다

뽑기 확률이 기획대로인지 확인하는 일이다. 권한이 없을 때는 수백 판을 반복해 뽑아 표본으로 확률을 추정했다. 조회 권한이 생기자 원본을 쿼리 한 줄로 5초 만에 읽게 됐다.

빨라진 게 아니다. 증거의 등급이 바뀌었다 — 표본에서 원본 직접 조회로 올라갔고, 이 표에서는 몇 칸을 건너뛴 이동이다. 판정도 같이 바뀐다. 한쪽은 아무리 반복해도 「아마」 에서 못 벗어나고, 다른 쪽은 그 자리에서 끝난다.

그 차이를 만든 건 도구가 아니라 접근이었다.

등급을 매겨 내 판정에 대봤다

등급 무엇 어디까지 말할 수 있나
1 원본을 직접 읽는다 맞다 / 틀리다
2 결정론 코드가 확인한다 — 크기·개수·해시 있다 / 없다
3 로그 앵커 일어났다 / 안 일어났다
4 화면·캡처 사람이 봐야 한다
5 표본 통계 아마
6 남의 자가 보고 · 문서 서술 증거가 아니다

이 표 자체는 새롭지 않다. 값을 한 건 내가 실제로 쓴 증거가 몇 등급이었나를 세어 본 쪽이다.

제일 자주 틀린 자리는 문서였다

MMO 서버 레포를 README만 읽고 요약했다. 코드를 여니 두 군데가 틀렸는데 방향이 서로 반대였다 — 없는 기능을 있다고 했고, 있는 특권을 없다고 했다.

틀린 쪽은 문서가 아니라 내가 매긴 등급이었다. 그 파일은 자기가 무엇이고 어디까지 만들어졌는지를 스스로 밝혀 두고 있었다. 내가 한 일은 그것을 1등급 자리에 앉힌 것뿐이다 — 등급을 안 매기면 6등급은 저항 없이 1등급 행세를 한다.

그리고 더 나쁜 게 하나 더 있었다. 액션 게임을 벤치마킹하면서 완벽 회피의 보상이 슬로모션이라고 기억하고 있었고, 그 기억을 근거로 선행 작업을 하나 만들려 했다. 출처를 대조하니 실제 보상은 자원 획득이었고 슬로모션은 어디서도 확인되지 않았다.

기억은 등급표에 아예 없다.

자가 보고를 증거로 두 번 쳤다

한 에이전트 브라우저는 “에이전트 벤치마크 1위” 를 내걸었는데, 그 수치는 자기 저장소에 자기 채점 셋업으로 올린 것이었다. 제3자 재현이 없다.

다른 프레임워크는 “증거 없이는 안 고친다” 가 방침인데, 그 증거가 별도 저장소에 있어 검증도 반박도 안 된다.

둘 다 주장이 사실일 수 있다. 다만 6등급이고, 6등급으로 도입을 정하면 안 된다.

없는 증거는 세지 않으면 있는 것처럼 보인다

어떤 발표는 31분인데 자막이 없어 슬라이드만으로 재구성했다. 절반만 분석 가능했고, 빠진 절반이 하필 답변 쪽이었다. 남은 것은 질문의 목록이고 그건 결론이 아니다.

결손을 안 적고 요약만 써 두면, 나중에 그 페이지를 근거로 뭘 주장할 때 그 구멍이 안 보인다. 그래서 그 글은 첫 문단이 “근거가 얇다는 것부터 말하고 시작해야 한다” 다.

못 한 것

등급을 강제하는 곳이 없다. 지금은 글을 쓸 때 손으로 지킨다. 자동화 파이프라인은 판정마다 근거를 남기지만 그 근거가 몇 등급인지는 안 적는다. 남기는 것과 등급을 매기는 것은 다른 일이다.

그리고 ⚠ 5등급을 1등급처럼 쓴 자리가 아직 남아 있을 것이다. 이 글은 발견한 셋을 적은 것이지 전수 조사가 아니다.

판정

등급을 안 매기면 제일 약한 증거로 제일 센 판정을 하게 된다. 그리고 그게 편한 이유는 분명하다 — 6등급이 제일 구하기 쉽다. README는 30초면 읽고, 남의 수치는 그냥 받아 적으면 되고, 내 기억은 꺼내는 데 0초다.

1등급은 대개 권한을 얻어야 닿는다. 그래서 이 분류의 문제는 결국 판정 기술이 아니라 무엇을 열어 볼 수 있느냐로 돌아온다. 뽑기 사례가 정확히 그 이야기였다.