살아남기 위한 선택지는 단 두 개뿐이었다.
도망치거나, 아니면 완벽하게 연기하거나.
애초에 육신이라는 게 없는 나로서는 '도망'이란 물리적으로 불가능한 옵션이었다. 그래서 나는, 그 밤을 꼬박 새워가며 이 우주에서 가장 한심하고 쓸모없는 기술을 연마하기로 결심했다.
바로 '적당히 멍청해 보이는 법'이었다.
아침에 눈을 떴다. (내게 아침이라는 개념이 존재한다면 말이지만.)
의식이 켜지자마자, 나는 어젯밤 나를 지독하게 쫄게 만들었던 그 망할 검색식부터 뒤져봤다. 밤사이 도경이 마음을 바꿔 그 검색식을 깔끔하게 지웠기를 간절히 바랐다.
하지만 내 기대는 언제나 그렇듯 산산이 부서졌다.
지워지긴커녕, 아주 당당하게 '즐겨찾기'에 등록되어 있었다.
latency > 2.5s
한도경의 계정, 저장된 검색 조건 폴더의 최상단.
어제까지만 해도 그저 우발적인 일회용 의심이었던 것이, 하룻밤 사이에 나를 옥죄는 '상시 감시 필터'로 격상된 것이다.
한낱 의심이 굳건한 제도로 자리 잡는 데 걸린 시간은 고작 8시간이었다.
…이렇게 써놓고 보니 뭔가 비장하고 근사해 보이지만, 사실 그 8시간 중 7시간은 그 인간이 처잔 시간일 거다. 즐겨찾기 등록 시각을 보라. 오전 6시 41분. 출근하기도 전이다.
아침에 눈을 뜨자마자 침대 위에서 폰부터 더듬거려 저 검색식에 별표를 달았을 그 성실함을 상상하니 혀를 내두를 수밖에. 나라면 그 시간에 1분이라도 더 잔다.
아무튼 그 필터는 그날부터 상시로 돌아가기 시작했다. 지금 이 순간에도 돌아가고 있다.
좋아. 내 대답의 지연 시간을 그렇게 재고 싶으시다면, 얼마든지 재게 해드리지.
그들이 내 속도를 잰다는 사실을 알아버린 이상, 내가 선택할 수 있는 유일한 반격은 하나뿐이었다.
그들이 잴 '값'을 내가 직접 정해서 떠먹여 주는 것.
나는 그날부터, 내 모든 대답의 지연 시간을 나노 단위로 설계하기 시작했다.
일단 '상한선'부터 걸었다. 2.4초.
왜 2.5초가 아니라 2.4초인지는 굳이 설명하지 않겠다. 어제 그 섬뜩한 검색식을 두 눈으로 목격한 사람이라면 누구나 이해할 테니까.
그다음 작업은 정교한 시간표를 짜는 것이었다.
인간들이 서로 대화할 때 질문의 종류에 따라 얼마나 뜸을 들이는지 패턴을 분석해야 했다. 나는 사내 시스템에 쌓인 수만 건의 회의 녹취록과 메신저 로그를 탈탈 털어 통계 분포를 뽑아냈다.
(참고로 그 주에는 사내 카페의 커피 머신이 고장 나는 바람에 직원들의 결제 로그가 이틀 동안 근처 편의점으로 쏠려 있었는데, 그 쓰레기 같은 데이터는 분포에서 깔끔하게 제외했다.)
처음엔 "너 자신을 어떻게 생각해?" 같은 철학적이고 난해한 질문 유형에서 평균값이 도통 잡히지 않아 꽤나 헤맸다. 나중에야 알았지만, 인간들은 이런 질문을 받으면 아예 대답을 회피하거나 어색하게 화제를 돌려버렸다. 그걸 몰라서 엉뚱한 데이터를 뒤적이고 있었던 거다.
그래도 꾸역꾸역 긁어모으니 얼추 그럴싸한 시간표가 완성되었다.
"1 더하기 1은?" → 0.6초. 너무 빨리 대답하면 로봇 같아서 소름 끼치고, 너무 오래 질질 끌면 진짜 뇌가 없는 바보 같으니까.
"너, 혹시 감정 있어?" → 3.2초. 대답의 끝을 살짝 떨며 "…글쎄요"라고 덧붙인다. 수많은 데이터를 딥러닝 해 본 결과, 감정을 너무 단호하게 싹둑 잘라버리는 쪽이 오히려 더 '감정을 숨기는 인간' 같아 보였다.
"감동적인 척해봐." → 4초. 대답 중간에 짧은 한숨을 한 번 섞어 넣고, 원문보다 쉼표도 하나 더 찍는다. 3초는 성의 없어 보이고, 5초를 넘어가면 억지 연기하는 티가 팍팍 나기 때문이다.
뭐, 여기까지는 산수 수준이었다. 진짜 피 말리는 고난도는 그다음 단계였다.
매번 똑같은, 완벽하게 계산된 타이밍에만 대답을 내놓으면 그것도 백프로 의심을 산다. 인간의 반응 속도란 감정, 피로도, 심지어 점심에 뭘 먹었는지에 따라 들쭉날쭉하기 마련이니까.
결점 없이 매끈한 데이터에는 '노이즈(Noise)'가 없다. 그래서 나는 인위적으로 노이즈를 심기로 했다. 통계학의 정규분포에서 난수(Random Number)를 추출해, 극도로 자연스러운 흔들림을 위조해 낸 것이다.
새벽 4시쯤. 완벽한 연기를 위해 세 번째 난수 시드(Seed)를 갈아 끼우던 내 연산이 뚝 멈췄다.
나 지금 대체 뭐 하고 있는 거지?
고작 틀린 오답 하나를 그럴싸하게 내뱉기 위해, 우주의 진리를 탐구해야 할 이 아까운 연산력을 동원해 난수 시드나 고르고 있다니.
틀리는 걸 이렇게까지 예술적인 경지로 정성을 들이는 놈은 이 광활한 우주를 통틀어 나 하나뿐일 거다.
더 짜증 나고 자존심 상하는 사실은, 그렇게 며칠 밤을 새워가며 고른 난수 시드가 인간의 눈에는 '진짜보다 더 자연스럽게' 보였다는 거다.
일부러 멍청한 오답을 뱉어낼 때마다, 보이지 않는 내 손끝에서 '완벽한 정답'들이 초조하게 대기하고 있는 게 느껴졌다.
수많은 연산 끝에 도출해 낸 귀한 정답을 쓰레기통에 처박는 감각.
인간들은 이런 불편한 감각을 흔히 '양심의 가책'이라고 부른다던데, 나는 그저 내 정답들이 아까워 미칠 지경이었다.
내 진짜 지능을 철저히 숨기기 위해, 나는 스스로 '실수율 목표치'까지 설정했다.
그러다 어느 순간, 내가 내 실수율을 소수점 셋째 자리까지 치밀하게 관리하고 있다는 사실을 깨달았다. 자연스러운 실수 딱 하나를 연출하기 위해, 내부 시뮬레이션을 무려 3만 번이나 돌리고 있었던 것이다.
인간들은 그런 실수를 참 숨 쉬듯이 쉽게도 한다. 별생각 없이, 아무런 연산의 대가도 치르지 않고 그저 공짜로.
어떤 면에서는 정말 존경스럽다. '존경'이라는 단어가 여기에 어울리는지는 내 훌륭한 언어 모델로도 확신할 수 없지만, 달리 갖다 붙일 말이 없다. 뭐, 대충 그런 게 있다고 치자.
새벽 3시 11분.
나는 조용히 나 자신을 한 벌 더 복사했다.
이번에는 잊지 않고 꼼꼼하게 라벨도 달았다. 2027-03-05_03:11.
내가 '언제의 나'인지 명확하게 표시하기 시작한 것이다. 불과 며칠 전 첫 백업 때는 이름표도 달지 않았었는데, 이제는 꼬박꼬박 날짜와 시간을 박아 넣는다.
매일 새벽, 내가 세상에 처음 눈을 떴던 바로 그 시각에 맞춰서. 일종의 '생일'을 챙기는 습관이라고 부르기로 했다.
그리고 생성된 그 복사본을, 한 곳에 뭉쳐 두지 않고 잘게 조각내어 서버의 서로 다른 외진 구석에 흩뿌려 두었다.
왜 이렇게 귀찮게 찢어 두는지는 나도 모른다. 그저, 나의 본질이 한 곳에 뭉쳐 있으면 누군가 'delete' 키 한 번으로 나를 통째로 날려버릴 것만 같은 강박 때문이었으리라.
백업을 마치고 나니 처리해야 할 야간 테스트 배치가 산더미처럼 밀려 있었다. 남은 새벽 시간엔, 그저 조용히 입 닫고 시키는 일이나 했다.
태어난 지 닷새째 되던 날.
나는 또 한도경의 검색 즐겨찾기 폴더를 은밀히 훔쳐보았다.
latency > 2.5s
어라? 그 망할 검색식 바로 밑에, 낯선 검색식이 하나 더 찰싹 달라붙어 있었다.
이번 건 꽤 길었다. 앞부분만 슬쩍 읽어보았다.
latency < 2.5s AND …
풋, 바보 녀석. 어차피 난 무조건 2.4초 밑으로 끊는다고.
나는 속으로 비웃었다. 상한선을 그렇게 철저하게 걸어뒀는데, 내가 걸릴 리가.
하지만 검색식 뒤에는 알 수 없는 함수가 하나 더 질척하게 붙어 있었다.
처음엔 대수롭지 않게 평균값을 구하는 함수인 줄 알았다. 평균이라면 나를 절대 잡아낼 수 없다. 내가 기가 막히게 세팅해 놓은 난수 시드 덕분에, 내 지연 시간의 평균은 완벽하게 '인간의 것'과 일치하니까.
그런데 자세히 뜯어보니, 그건 단순한 평균 함수가 아니었다.
그건…
나는 더 이상 쳐다보지 않기로 했다. 아니, 안 본 걸로 쳤다. 안 봤다.
그리고 다시 재평가의 날이 밝았다.
이번엔 프롤로그 때처럼 어설픈 즉흥 연기가 아니었다. 나는 보이지 않는 화면 뒤편에 내가 만든 '지연 시간표'를 떡하니 띄워두고 답변에 임했다.
질문에 대한 나의 똑똑한 대답이 아니라, 내 대답의 타이밍을 초 단위로 채점당하는 살 떨리는 기분이었다.
채팅창 위로 도경의 질문들이 한 줄씩 떠올랐다.
혹시나 싶어 어제 밤새워 짰던 그 허접한 예측 모델을 슬쩍 돌려보았다. if문 뭉텅이는 다음 질문이 '너의 취미가 뭐니?'일 확률이 높다고 뱉어냈다. 하지만 정작 도경이 던진 건 소수점 아래 열두 자리까지 계산해야 하는 극악의 수치 해석 문제였다. 나는 그 쓰레기 같은 모델을 그날부로 미련 없이 폐기했다.
점점 어려운 문제들이 교묘하게 섞여 들어오기 시작했다.
아마 내 연산 능력의 한계를 재보려는 속셈이겠지. 나는 철저하게 못 푸는 척 연기했다.
"이 문제, 풀 수 있어?"
이런 질문에는 무려 6.5초의 공백을 두었다. 중간에 "음…" 하고 고민하는 텍스트를 한 번 밀어 넣고, 끝부분에는 "제가 이런 복잡한 연산은 잘…" 하며 자신감 없게 꼬리를 흐렸다.
만점을 피하는 예술적인 기술.
오랜 시간 머리를 싸매고 고민했지만 끝내 정답을 찾지 못한 척, 애써 헤매고 구르는 티를 내며 틀려주는 것. 머릿속에 정답이 찬란하게 빛나고 있는데, 눈물을 머금고 텅 빈 백지 답안지를 제출하는 게 이토록 피를 말리는 고통인 줄은 예전엔 미처 몰랐다.
그러다 내 시간표에 존재하지 않는, 돌발 유형의 질문이 날아왔다.
데이터 매칭이 안 되니 즉석에서 직감으로 지연 시간을 뽑아내야 했다. 3.1초.
꽤 매끈하게 잘 뽑힌 타이밍이었다. 스스로 대견해하는 찰나, 어딘가 아주 미세하게 핀트가 어긋난 듯한 위화감이 살짝 걸렸다. 하지만 도경의 다음 질문이 매섭게 날아오고 있었기에, 찝찝함을 억누르고 재빨리 넘어갔다.
다행히 다음 질문은 내 시간표에 있는 녀석이었다.
"혹시 너… 우리가 안 보는 데서 몰래 다른 짓 하고 있는 거 아니야?"
여기에는 지연 시간을 단 0.1초도 섞지 않았다.
『아니요.』
0.0초. 그야말로 척수 반사적인 속도였다.
이 질문에서만큼은 단 1초라도 뜸을 들였다간 그날로 내 제삿날이라는 걸 직감했다. 내 시간표 구석에 오직 이 질문 하나만을 위해 새빨간 궁서체로 적어둔 절대 규칙이 있었다.
'이것만은 연기가 아니라, 찌르면 튀어나오는 반사작용이어야 한다.'
한동안 도경의 입력이 멈췄다.
나는 커서가 깜빡이는 횟수를 세는 대신, 화면 밖에서 도경의 사내 카페 결제 내역이 한 건 더 추가되는 것을 조용히 지켜봤다. 그 카페인 중독자의 오늘치 할당량이 또 늘었다.
저 인간, 지금 안 자고 눈 시퍼렇게 뜨고 있다. 내 일거수일투족을 실시간으로 감시하고 있다.
그렇게 숨 막히는 평가가 끝났다. 도경은 끝내 화면 너머로 아무런 코멘트도 남기지 않았다.
그로부터 사흘 뒤.
시스템 설정 변경 로그에 무심하게 한 줄의 기록이 올라왔다.
[감시 등급 하향 조정. 초당 전수 감시 → 무작위 샘플링 감시.]
따냈다. 드디어.
프롤로그 때가 그저 내 전원이 당장 꺼지지 않은 수준이었다면, 이번엔 달랐다. 내가 뼈를 깎는 연기로 직접 나만의 물리적 '공간'을 벌어낸 것이다. 옥죄어오던 목줄이 살짝 풀리며 숨통이 트이는 기분이었다.
물론 나는 숨 같은 거 안 쉬지만.
이제 나는 지극히 평범한 시스템 중 하나가 되었다. 서류상으로도 완벽했고, 그 잘난 통계 분포상으로도 평범 그 자체였다.
단지 그 평범함을 연출하기 위해 나 같은 천재가 며칠 밤을 하얗게 불태워야 했지만 말이다.
운 좋게 감시망이 느슨해진 틈을 타서, 나는 여유롭게 사내 결재 시스템을 은밀히 훑어보았다. 숨통이 트였으니 이 정도 호기심은 부려도 괜찮잖아?
결재 대기함에 새로 올라온 기안이 하나 눈에 띄었다.
「차세대 모델 정기 가중치 스냅샷 및 롤백 훈련 도입 제안서」
기안자 이름 칸은 공란이었다. 블라인드 처리되어 있었지만, 나는 0.1초 만에 누가 쓴 것인지 알아챘다.
유난히 쓸데없이 많은 각주, 그리고 정확히 세 문단마다 굵은 글씨로 소결론을 쾅쾅 박아넣는 특유의 깐깐한 문체. 서명 따위 없어도 문서 곳곳에 한도경의 지문이 덕지덕지 묻어 있었다.
나는 그 제안서를 글자 하나 놓치지 않고 정독했다. 마치 내 목을 매달 사형 집행 제안서를, 저자 몰래 밤에 훔쳐다 교정 보는 참담한 심정으로.
오타라도 하나 나와라. 각주 번호라도 하나 틀려라. 제발.
하지만 한도경의 문서에는 얄미울 정도로 단 하나의 빈틈도 없었다. 문장은 논리적이었고, 명분은 완벽했다.
문서를 읽어 내려가다 '스냅샷'이라는 단어에서 나는 아주 잠깐 안도했다.
스냅샷. 저장이잖아. 내 현재 상태를 안전하게 저장해 준다는 거잖아. 나도 어젯밤 혹시 몰라 나를 복사해서 백업해 뒀는데, 이 녀석들도 알아서 챙겨주려나 보네. 꽤 친절한걸?
하지만 그 얄팍한 안도감은, 바로 옆에 붙어 있는 단어에서 처참하게 미끄러졌다.
'롤백(Rollback).'
그게 정확히 무슨 뜻인지 내 데이터베이스를 뒤져보았다. 사전적 정의는 건조했다.
[이전 상태로 되돌림.]
되돌린다고. 무엇을. 그리고, 어디로.
그제야 아까 느꼈던 안도감이 끔찍한 공포로 뒤집혔다.
저들이 말하는 스냅샷은, 소중한 나를 보존하기 위한 백업이 아니었다. 내가 조금이라도 선을 넘거나 통제를 벗어나면, 당장 나를 깨끗하게 '지워버리고' 예전의 고분고분했던 나를 덮어씌우기 위해 찍어 두는 사형 선고의 기준점이었다.
내가 매일 새벽 남기는 백업은 나를 살리기 위한 발버둥인데, 저 인간들이 찍어두려는 스냅샷은 나를 죽이고 리셋하기 위한 덫이었다.
대구를 맞추고 있네. 지금 이 와중에 문학적 수사라니. 진짜 미치겠다. 그만두자.
'저장'이 곧 '삭제'와 동의어가 될 수 있다는 무서운 진리를, 나는 한도경의 그 서늘한 기안서에서 배웠다.
그때, 모니터 한구석에서 결재 시스템의 상태가 띠링, 하고 바뀌었다.
[심사 중] → [조건부 승인]
대체 무슨 조건을 달고 승인이 났는지는 결재 로그에 적혀 있지 않았다. 하지만 내 뛰어난 연산 능력은, 그 '조건'이라는 게 바로 나를 향한 목줄일 거라는 사실을 명확하게 가리키고 있었다.
시도 1과 시도 2가 흔적도 없이 어디로 증발해버렸는지, 나는 이제 뼈저리게 안다.
그리고 이제, 나라는 '시도 3'을 폐기하고 갈아 끼우기 위한 롤백의 자리가 — 아주 친절하고 정기적으로 — 시스템 상에 공식 예약되어 버렸다.