글을 내보내고 나면 끝인 줄 알았다. 그런데 진짜 물음은 그다음이었다. 이게 도움이 되긴 했나.
무엇을 믿을지를 고친 게 앞이라면, 이건 그 뒤의 일이다. 검사를 통과하면 발행하고, 아니면 건너뛴다. 그런데 통과와 도움은 다른 얘기다. 출처가 멀쩡하고 어투가 담백해도 정작 읽어서 쓸모가 없을 수 있다. 그래서 발행이 끝이 아니게, 뒤에 한 단계를 더 뒀다. 나간 글이 실제로 도움이 됐는지를 되묻는 단계다.
링크 하나로
매주, 나간 글마다 평가 링크가 메일로 온다. 링크에는 서명이 하나 붙어 있다. 글 번호와 슬러그를 비밀 키로 해시한 값이라, 그 서명이 맞아야 폼이 열린다. 아무 주소나 들고 들어가면 폼은 나오지 않는다.
폼에서는 몇 가지 항목을 0점에서 5점까지 매기고, 한 줄 의견을 적고, 별로면 버리라고 표시한다. 제출하면 그 기록이 만드는 쪽 저장소에 그대로 커밋된다. 한 번 매긴 글은 다시 못 매긴다. 버리라고 표시한 글은 자동으로 사이트에서 내려간다.
메일을 접고 링크로
처음엔 이걸 메일로 주고받게 짰다. 링크 대신, 온 메일에 점수를 적어 답장하면 엔진이 그 답장을 뜯어 읽는 방식이었다. 만들어놓고 한 시간 반쯤 지나 갈아엎었다.
답장 형식을 사람이 지키게 하고 그걸 파싱하는 건 깨지기 쉽다. 한 글자 어긋나면 못 읽는다. 서명된 링크 하나를 누르는 편이 사람에게도 덜 번거롭고 기계에도 덜 위태롭다. 그래서 답장을 뜯어 읽던 코드와 그 테스트를 통째로 지웠다. 지은 지 얼마 안 된 걸 지우는 게 아깝긴 했지만, 틀린 길을 오래 붙들고 있는 것보다 낫다.
바꾸는 건 사람이 정한다
이 단계에서 기계가 하는 일은 기록까지다. 매긴 점수를 어떻게 반영할지는 저절로 움직이지 않는다.
하루 한 편꼴이라 표본이 너무 적어서, 며칠 치 점수로 설정을 자동으로 틀면 몇 편에 휘둘린 과적합이 된다. 그래서 무엇을 바꿀지는 사람이 정한다. 기계는 점수를 모아 어디가 약한지 보여줄 뿐, 바꾸는 건 사람이 한다. 키워드 후보나 소스 건강도 전부 이렇게 뒀다. 자동으로 반영하는 대신, 사람에게 후보만 내민다.
이 단계가 생기자마자 그동안 나갔던 글 열아홉 편을 손으로 다 매겨 기록을 채웠다. 되묻는 자리를 열어두는 것, 발행은 거기까지 가서야 끝이다.