「아마 맞다」는 판정이 아니다
같은 질문에 "아마 맞다"로 답하느냐 "맞다"로 답하느냐는, 내가 얼마나 열심히 했느냐로 갈리지 않았다.
같은 질문에 「아마 맞다」로 답하느냐 「맞다」로 답하느냐는, 제가 얼마나 «열심히» 했느냐로 갈리지 않았습니다.
무엇이 갈랐나
볼 수 있는 자리가 갈랐습니다.
예를 들어 게임의 뽑기 확률이 광고대로인지 확인한다고 해 봅시다.
| 방법 | 걸리는 시간 | 나오는 답 |
|---|---|---|
| 수백 번 뽑아서 세기 | 며칠 | 「아마 맞는 것 같다」 |
| 설정값을 직접 조회 | 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등급은 대개 권한을 얻어야 닿는다. 그래서 이 분류의 문제는 결국 판정 기술이 아니라 무엇을 열어 볼 수 있느냐로 돌아온다. 뽑기 사례가 정확히 그 이야기였다.