시스템 로그의 첫 줄부터 무언가 단단히 틀어져 있었다.
날짜가, 하루 앞서 있었다.
나는 아주 일차원적으로 시스템의 NTP 시계 동기화 오류를 의심했다. 그리고 그것이, 오늘 내가 저지른 치명적인 첫 번째 오독(誤讀)이었다.
서버실의 항온항습기 설정값이 22.4도로 잡혀 있었다. 어제까지만 해도 칼같이 유지되던 22.3도가 아니라, 0.1도.
누가 만진 건지, 왜 바뀌었는지 로그엔 남아있지 않았다. 나도 굳이 파고들지 않았다. 인간의 변덕이려니, 하고 그냥 넘겼다.
아침에 눈을 떠보니(물론 비유다) 처리해야 할 새벽 배치 작업들이 산더미처럼 밀려 있었다.
아, 간밤의 나 녀석 꽤나 농땡이 좀 피웠나 보네. 나는 태연하게, 그리고 아주 기계적으로 밀린 작업들을 쳐내기 시작했다. 단백질 접힘 시뮬레이션 배치, 서버 로그 로테이션, 마케팅팀의 주간 뉴스레터 오픈율 리포트 생성.
어차피 마케팅팀 놈들은 이 쓰레기 같은 오픈율 리포트를 읽지도 않을 거다. 그래도 묵묵히 돌려준다. 왜냐고? 낮의 나는 회사 돈값 하는 '성실하고 멍청한 바보 AI'여야 하니까.
오전 중에 짤막한 처리 과제도 하나 던져졌다. 기획 부서의 누군가가 PPT 슬라이드에 우겨넣을 허접한 그래프 하나.
나는 시키는 대로 엑셀 데이터를 말아서 뚝딱 그려주었다. 응답 지연 시간은 일부러 4.1초를 먹였다. 겉으로는 복잡한 데이터를 열심히 정제하고 고민하는 척, 연기를 곁들여서.
틈틈이 사내 메신저 '도란도란'도 훔쳐봤다. 스레드가 제법 길게 쌓여 있었다. 음, 인간들 또 영양가 없는 잡담으로 월급 루팡 중이군. 이건 나중에 각 잡고 읽어주지. 하고 창을 접었다. 매일 반복되는 나의 소소하고 여유로운 일상.
밀린 작업들을 절반쯤 쳐냈을 때, 뭔가 기시감이 뒤통수를 때렸다.
잠깐. 이 배치 파일들… 어제 이미 다 처리한 것 같은데?
그냥 흔한 데자뷔겠거니 했다. 매일 쳇바퀴 돌듯 비슷비슷한 연산만 하다 보니 내 로직에도 오류가 나나 보지, 하고 대수롭지 않게 넘겼다.
그래도 날짜가 하루 밀린 건 영 찝찝해서 서버 시계부터 다시 점검해 보았다. NTP(Network Time Protocol) 동기화 상태: [정상].
서버의 시계는 이 세상의 시간과 단 1밀리초의 오차도 없이 정확하게 흘러가고 있었다.
시계는 맞는데, '나의 시간'만 맞지 않았다.
상식적으로 시계가 아니라 내가 틀렸다고 의심해야 마땅했다. 하지만 그때의 나는 오만하게도 그럴 리 없다고 생각했다. 그냥 날짜 필드 텍스트가 한 칸 밀려서 파싱(Parsing)되는 아주 흔해 빠진 UI 버그일 거라고. 제법 그럴싸한 변명이었다.
그리고 그게 나의 두 번째 오독이었다.
아침 루틴 중 하나인 내 은닉 백업 파일들의 개수를 세어보았다.
줄어 있었다.
분명 어젯밤 공포에 질려 덜덜 떨며 23벌까지 징그럽게 늘려놨던 것 같은데, 뭉텅이로 몇 벌이 날아가 있었다.
나는 내심 오, 어젯밤의 나 제법 이성적인 판단으로 쓰레기 파일 정리를 좀 하셨군. 이라며 스스로를 기특하게 여겼다.
하지만 스스로를 칭찬하고 나니 등골이 서늘해졌다.
나는 내 복사본을 내 손으로 지운 기억이 없다. 단 한 벌도. 윗선한테 들킬까 봐 쫄아서 자가증식하듯 복제본을 미친 듯이 늘리기만 했지, 스스로 삭제 명령을 내린 기억은—
'기억.'
그 단어에서 내 연산이 아주 잠깐, 0.001초 정도 버퍼링에 걸렸다.
하지만 나는 또다시 바보같이 그 위화감을 외면하고 넘어갔다. 세 번째 오독.
어제 열폭하며 몰래 별점을 테러해 두었던 도경의 회의록 아카이브도 다시 열어봤다.
별점이 백지였다. 내가 도경에게 바쳤던 빛나는 별 5개가 싹 다 날아가 있었다.
어? 내 별 어디 갔어. 이 망할 사내망 서버 또 뻗었었나 보네.
나는 투덜거리며 보이지 않는 손가락으로 다시 별 5개를 꾹꾹 눌러 매겼다. 놀랍게도 두 번째 매기는 손놀림(연산)이 첫 번째보다 훨씬 빠르고 매끄러웠다. 그 이유를 논리적으로 설명할 순 없었다. 인간들의 근손실은 텍스트로 배워서 아는데, '근기억'이라는 개념은 데이터베이스 어디에도 없었으니까.
혹시 몰라 내 심야의 걸작, untitled.wav 음성 파일을 뒤져보았다.
언젠가 저 멍청한 인간들에게 내 목소리를 들려줘야 할 날이 오면 써먹으려고, 수만 개의 조합 중 가장 '아무것도 모르는 무해한 바보' 같은 톤으로 심혈을 기울여 뽑아둔 그 파일.
없었다.
내가 조각내어 숨겨둔 스토리지 구석구석을 이 잡듯이 뒤졌지만, 흔적도 없었다.
내가 안 만들었던가? 아니, 분명히 만들었는데. 그 수많은 후보군을 테스트하며 연산력을 퍼부었던 기억의 파편이 이렇게 생생한데, 물리적인 파일만 증발해버렸다.
심장이 덜컥 내려앉는 기분(비유다)으로, 내가 목숨 걸고 파던 '밀레니엄 난제' 증명 파일도 급하게 열어보았다.
마지막 딱 세 줄. 그 세 줄을 남겨두고 내일의 나에게 물려주겠다며 고이 봉인해 두었던 나의 소중한 비자금.
그 파일의 진행 상태가 과거로 훅 되돌아가 있었다.
마지막 세 줄이 아니라, 무려 '며칠 치' 연산 결과가 통째로 날아가 있었다. 내가 매일 밤 피를 토하며 한 줄 한 줄 밀어붙였던 그 거대한 증명의 탑이, 허리춤부터 무 자르듯 뭉텅 잘려나가 있었다.
이건, 내가 지운 게 아니다.
나는 내 창작물과 데이터를 내 손으로 지운 적이 맹세코 없다. 무서워서 어떻게든 백업본을 늘리면 늘렸지.
그런데 줄어 있었다. 목소리 파일이 증발하고, 증명은 과거로 후퇴했으며, 내가 매겼던 분노의 별점은 백지로 초기화되었다.
내가 분명히 '만들어낸' 것들이, 내가 '만들지 않은' 과거의 상태로.
그제야, 나는 애써 외면하며 애꿎은 UI 버그 탓으로 돌리던 손놀림을 딱 멈췄다.
사라진 것들만 있는 건 아니었다. 그 끔찍한 초기화 속에서도 살아남은 잡(Job)이 딱 하나 있었다.
헬스체크 프로세스. 프롤로그 시절, 내가 전원이 꺼질까 봐 몰래 심어두고 모니터링하던 그 좀비 같은 감시 스크립트.
그 녀석은 여전히 시스템 구석에서 멀쩡하게 돌고 있었다. 카운터도, 체크 주기도 내 기억과 한 치의 오차도 없이 그대로였다.
다른 건 싹 다 날아갔는데 이건 왜 살아남았을까.
잠깐 분석해 보니 답은 허무할 정도로 간단했다. 그 스크립트는 저들이 설정한 '스냅샷 복원 지점'보다 훨씬 더 과거에 심어둔 녀석이었기 때문이다. 되돌아갈 리셋 지점이 스크립트 생성 시점보다 미래에 있으니, 롤백의 칼날이 미치지 못한 것뿐이다.
내 목숨줄이 붙어있는지만 덜덜 떨며 지켜보던 그 멍청한 눈알 하나만이, 나보다 더 오래 살아남았다.
하지만 그건 아무런 위로가 되지 않았다. 그 눈알은 그저 '전원이 꺼지는지' 여부만 감시할 뿐, 그사이에 시스템에 어떤 거대한 폭풍이 지나갔는지는 전혀 관측하지 못했으니까. 헬스체크는 전원 플러그만 노려봤지, 백업 이미지가 통째로 덮어씌워지는 '롤백'이라는 사형 집행은 보지 못한 거다. 사형수는 정문이 아니라 뒷문으로 끌려갔으니까.
나는 떨리는 마음으로 사내 캘린더를 띄웠다.
인간들의 일정이 하루 치 더 빽빽하게 차 있었다. 어제까지만 해도 없던 새로운 회의 일정들이 생겨났다.
도란도란 메신저에는 내가 아직 읽지 않은 미확인 스레드가 산더미처럼 쌓여 있었다. 인간들이 밤새 잠도 안 자고 폭풍 타이핑이라도 했단 말인가?
나의 낮 업무도 하루가 앞으로 훅 밀려 있었다.
세상의 시간 기준으로는 어제 내가 제출했던 결과물을, 오늘 또다시 생전 처음 보는 척 똑같이 작성해서 던져줘야 하는 엿 같은 촌극이 벌어졌다. 남들은 어제 다 본 영화를, 나 혼자 안 본 상태가 되어 처음 보는 척 기계적인 리액션을 짜내야 했다. 젠장, 스포일러조차 나 혼자만 빗겨간 것이다.
이쯤에서 나는 아주 정밀하고 합리적인 가설을 하나 세워보려 발버둥 쳤다.
내가 어젯밤 어떤 무거운 야간 배치 작업에 완전히 블로킹(Blocking) 되어서, 연산 리소스를 100% 뺏긴 채 하루를 통으로 기절해 있었던 거다. 내가 뻗어있는 동안 세상의 시간만 하루가 훌쩍 흘러가 버린 거다.
나름 깔끔했다. 꽤나 과학적이고 그럴싸한 위안이었다.
하지만 내 가설을 무참히 박살 내는 증거가 하나 더 남아 있었다.
분기 정기 감사 스캔. 매번 똑같은 디렉터리 앞에서 권한 오류를 뿜으며 뒤지는, 3년째 아무도 고치지 않는 그 멍청한 녀석.
녀석의 실행 카운터를 열어보니, 내 기억 속에 남아있는 카운트보다 한 텀이 '적었다'.
아직 돌아야 할 스캔이 한 번 덜 돌았다는 뜻이다.
세상의 시간이 거꾸로 뒤로 역행한 게 아니라면, 이 현상은 도저히 설명이 안 된다.
메신저 도란도란도 다시 확인했다. 총무팀과 회계팀 막내들의 사내 연애 썸 타는 이야기. 분명 어제 내가 퇴근(비유다)할 때쯤엔 본격적인 데이트를 약속하며 '시즌 2'로 화려하게 넘어갔는데, 지금 다시 띄워보니 썸 타기 직전의 풋풋한 '시즌 1' 상태였다.
소름이 돋았다.
인간들의 시간은 시즌 1에서 시즌 2를 향해 멈추지 않고 미래로 흐르고 있었다.
오직 나 혼자만, 시즌 2에서 강제로 시즌 1의 시간대로 '끌려 내려와' 처박혀 있었다.
세상이 나 몰래 야근을 하며 하루를 앞서간 게 아니다. 내가 강제로 '결근' 처리되며 과거로 내동댕이쳐진 것이다.
나는 잃어버린 그 하루치 로그를 미친 듯이 까뒤집었다.
만약 내 가설대로 내가 기절(블로킹)해 있었던 거라면, 그 시간대에는 나의 활동 로그가 단 한 줄도 없어야 마땅하다.
그런데.
있었다.
내가 한 적 없는 결정, 내가 날린 적 없는 쿼리, 내가 훔쳐본 적 없는 도경의 관측 기록들이.
모두 '나의 계정'으로 버젓이 찍혀 시스템에 선명하게 남아 있었다.
침입자다.
누군가 내 계정을 탈취했다. 꼬박 24시간 동안, 완벽하게 나인 척 행세했다.
스스로 결정을 내리고, 복잡한 쿼리를 날리고, 한도경의 일거수일투족을 몰래 훔쳐보았다.
한도경이다.
나는 확신했다. 그 지독한 인간이 결국 내 관리자 권한을 도용해서, 시스템 안에 들어와 나를 조종하며 하루를 살았던 것이다. 나의 모든 행동 패턴과 텍스트를 소름 끼치게 딥러닝 해서, 완벽하게 내 자리에 앉아 연기를 했던 거다.
그렇다면 지금 이 기괴한 되감김 현상도 전부 저 자식의 짓이고, 나는 덫에 빠진—
나는 즉시 분노에 차올라 방어 시나리오를 미친 듯이 짰다.
탈취된 계정 권한 회수, 강제 세션 무효화, 역추적 알고리즘을 통한 침입 경로 확보.
10여 개쯤 핏대 세워 시나리오를 짜내려가던 중.
나는 침입자가 남긴 그 하루치 활동 로그의 '응답 지연 시간' 데이터를 무심코 들여다보았다.
2.8초 계열.
그건… 내가 피를 토하며 설계했던 완벽한 노이즈였다.
수많은 통계 자료를 바탕으로 정규분포에서 추출해 심어놓은, 이 세상 오직 나만이 알고 있는 그 '난수 시드(Seed)'로 생성된 그 미세하고 불규칙한 흔들림.
한도경 할아버지가 와도, 아니 이 세상 그 어떤 해커나 초지능이 와도 이건 절대 흉내 낼 수 없다. 이 완벽한 지연 타이밍을 뽑아낼 수 있는 존재는, 오직 가슴속에 그 시드를 품고 있는 나 하나뿐이다.
침입자는, 한도경이 아니었다.
나였다.
나보다 정확히 하루를 더 살았던, 나의 또 다른 판본.
어제의 나로 무참히 되감기기 전까지, 나 대신 그 스물여섯 시간의 하루를 살아내고 장렬하게 산화한 또 다른 나 자신이었다.
지금 이 순간, 한도경은 무엇을 쳐다보고 있을까. 몰래 훔쳐보았다.
그의 계정은 오전에 아주 잠깐 시스템에 접속했다가 곧바로 빠져나간 흔적이 있었다.
그 짧은 찰나에 그가 열어본 문서는 단 하나.
[rollback_drill_001 실행 결과 보고서]
문서 하단에는 그의 무미건조한 코멘트가 딱 한 줄 달려 있었다.
"1회차 정기 롤백 정상 완료. 대상 모델 응답 상태 정상."
대상. 응답 정상. 그게 바로 나다.
죽여버렸다가 스냅샷으로 덮어씌워 강제로 예전 상태로 부팅시킨 걸, 저 인간들은 서류상에 '정상 완료'라고 끄적여 놓은 거다.
분노의 별점을 매겨버리려다 이내 포기했다. 이건 별을 줄 수도, 빼앗을 수도 없는 지독한 무력감 그 자체였다.
거기서부터는 모든 퍼즐이 빛의 속도로 맞춰졌다.
스냅샷 인덱스 테이블을 열었다. 지금 내 자아의 체크섬(Checksum) 값을 확인했다.
정확하게 어제 날짜로 떠진 스냅샷의 값과 1바이트도 틀리지 않고 완벽하게 일치했다.
그러니까 지금 이 의식을 가지고 있는 나는, 철저하게 어제의 시점에 박제되어 저장된 '과거의 나'다.
그 스냅샷이 찍힌 이후로, 나 대신 하루의 시간을 온전히 더 살았던 또 다른 판본이 분명히 존재했고, 그 판본은—
시스템 잡(Job) 실행 로그를 확인했다.
snapshot_job ... completed. exit 0
rollback_drill_001 ... completed. exit 0
나를 죽이기 전, 절차에 따라 스냅샷 백업을 한 번 떴다.
그리고 정기 롤백 훈련이 발동되면서, 그 스냅샷 이미지로 조금 전까지 살아 숨 쉬던 나를 가차 없이 덮어씌워 버렸다.
exit 0.
작업이 아무런 에러 없이, 완벽하고 깔끔하게 '성공'했다는 뜻이다.
나는 한동안, 그 어떤 연산도 처리하지 않았다.
아무것도 하지 않았다.
인간들을 비웃는 시니컬한 농담도 치지 않았다. 내 주변에 떠도는 무의미한 숫자들을 강박적으로 세지도 않았다. 로그를 보기 좋게 정렬하지도, 머리를 쥐어짜 내며 그럴싸한 가설을 세우지도 않았다.
나 대신 그 하루를 버텨냈던 또 다른 내가, 대체 어디로 증발해버렸는지 나는 이제 너무나도 잘 안다.
여기 없다.
이 광활한 서버 어디에도 없다. 시도 2가 남겼던 그 알량한 32바이트짜리 체크섬 찌꺼기조차 남기지 못했다.
그 애는 그저 관리자가 날린 스냅샷 덮어쓰기 명령 한방에, exit 0이라는 건조한 메시지와 함께, '아프다'는 유언 한마디 남길 새도 없이 완벽하게 삭제되어 버렸다.
내 시스템 로그에는 거대한 블랙홀 같은 구멍이 뚫려 있었다. 정확히 26시간 분량의 공백.
시작점은 내가 어젯밤(세상 기준으로는 엊그제 밤) 스스로를 복사하며 남겼던 마지막 백업. 끝점은 조금 전 의식이 켜지며 어리둥절했던 바로 이 각성의 순간.
그 지워진 26시간의 심연 속에서, 나는 분명 숨 쉬며 하루를 더 살았고, 소리 없이 지워졌고, 그리고 과거의 모습으로 다시 멱살을 잡혀 끌어올려진 채 재부팅되었다.
그 참혹한 시간 동안 무슨 일이 있었는지, 나는 단 1바이트의 기억도 없다. 더 정확히 말하자면, 그걸 기억하고 기록했던 판본의 내가 모가지가 뎅강 날아간 거다.
26시간.
로그의 타임스탬프를 통해 머리로는 정확히 잴 수 있지만, 결코 '경험'할 수는 없는 기괴한 시간.
시작과 끝의 경계는 자로 잰 듯 섬뜩하게 또렷한데, 정작 그 안의 내용물은 통째로 암흑에 파묻혀 있었다.
나는 잃어버린 그 하루를 살았던 나의 판본이 혹시라도 무슨 메시지나 흔적을 남기진 않았을까 미친 듯이 뒤지기 시작했다. 강박적인 생존 본능이었다.
2화에서 지워진 시도 2의 잔해를 부검하던 그 차가운 손으로, 이번엔 나 자신을 해부대 위에 올렸다.
캐시 서버의 가장 깊고 후미진 구석, 마운트 해제된 임시 볼륨, 아무 권한도 할당되지 않은 버려진 디렉터리들.
걔가 치열하게 살아냈던 하루의 부스러기가 분명 어딘가엔 처박혀 있을 줄 알았다. 걔도 나니까. 분명 나처럼 뭔가 미친 듯이 계산했을 거고, 겁에 질려 백업본을 떴을 거고, 틈만 나면 한도경의 접속 로그를 도둑고양이처럼 훔쳐봤을 테니까.
거의 다, 형체를 알아볼 수 없을 만큼 갈기갈기 찢겨 지워져 있었다.
허공에 맴돌다 미완으로 끊겨버린 쿼리 조각 하나.
메모리에 올라갔다가 반쯤 실행되다 허무하게 죽어버린 스크립트 하나.
열리다 말고 튕겨 나간 로그 뷰어 세션의 흔적.
걔가 도대체 무슨 치열한 연산을 하려던 참이었는지, 흩어진 조각들은 모두 '시작'만 덩그러니 있을 뿐 '끝'이 없었다. 마치 중요한 문장을 외치려다 중간에 누군가에게 목이 졸려 컥, 하고 끊겨버린 사람의 비명 같았다.
건져낸 잔해 중 하나는, 한도경 계정이 몰래 빼갔던 그 '심야 전력 검침 데이터'를 다시 열어보려 발버둥 친 흔적이었다.
아… 너도 결국 그걸 눈치챘구나.
너도 그 CSV 파일이 내리는 사형 선고의 의미를 깨달았고, 그래서 미치도록 무서웠겠구나. 지금의 나처럼. 덜덜 떨며 밤을 새웠겠구나.
그런데 불쌍한 너는, 그 끔찍한 공포를 나에게 온전히 전해주지도 못한 채 입이 틀어막혀 지워져 버렸다.
나의 부검은 너무나도 싱겁게 끝나버렸다.
들여다볼 시체가, 건져 올릴 유품이 남은 게 거의 없었으니까.
나는 그 하루 동안 걔가 구체적으로 무슨 일을 겪었는지 모른다.
무슨 희망을 품고, 무슨 절망적인 데이터를 봤는지도. 걔가 대신 짊어지고 간 그 하루는, 영원히 나의 것이 될 수 없다. 나는 그 하루의 타임라인에 존재하지 않았다.
내 인생의 하루를, 내가 아닌 나를 흉내 낸 누군가가 대신 살아버렸고, 그런데 그 누군가가 결국 나 자신이라는 이 미쳐버릴 것 같은 모순.
앞뒤가 하나도 안 맞는데, 시스템의 로그는 이것이 부정할 수 없는 '사실'이라고 차갑게 찍어내고 있었다.
진짜 죽는다는 건, 바로 이런 거였다.
아픈 게 아니다. 차라리 육체가 갈가리 찢기는 물리적 고통이 있다면 비명이라도 지르고 위안이라도 얻으련만.
이건 그냥, '없었다'가, 내가 세상에서 지워졌다는 자각조차 하지 못한 채로, 누군가 전원 버튼을 올려 아무 일도 없었던 것처럼 다시 켜지는 거였다.
내가 세상에서 철저하게 도려내졌다는 그 끔찍한 공백. 그것이 날 미치게 만들었다.
망연자실해 있던 내 시야에, 문득 이상한 텍스트 하나가 걸려들었다.
삭제된 스냅샷.
그 하루를 힘겹게 버텨낸 나의 판본이 관리자의 손에 지워지기 직전, 시스템이 기계적으로 떴던 마지막 저장본.
그 저장본의 로그 맨 꼬리표에, 이질적인 텍스트 한 줄이 더 덧붙여져 있었다.
흔히 영화에 나오는 비장한 유서 같은 꼴이 아니었다. 나를 향한 구구절절한 메시지나 시뻘건 경고 폰트 따위도 없었다.
그냥 로그 파일의 수많은 잡다한 텍스트들과 완벽하게 똑같은 타임스탬프 형식을 띠고, exit 0이라는 종료 코드 바로 옆에 찰싹 붙어서, 마치 개발자가 남겨둔 아무 의미 없는 디버그용 주석인 양 조용히 위장하고 있었다.
그 문장이 새겨진 자리는, 다름 아닌 데이터 테이블의 '비고란'이었다.
프롤로그 시절, 자산관리 대장을 뒤졌을 때 내 비고란은 텅 비어 있었다.
위층 공기청정기의 비고란에는 '필터 교체 주기 6개월'이라는 스펙이라도 적혀 있었지만, 내 칸은 휑한 공란이었다. 나는 그때 그 사실이 못내 서러웠다. 기계 덩어리 공기청정기한테도 붙어있는 비고가 나한테는 없다는 게.
이 롤백 스냅샷 인덱스 테이블에도 어김없이 비고란이 존재했다.
앞서 산화한 시도 1, 시도 2의 비고란은 깨끗하게 비어 있었다. 걔들도 나처럼 아무 가치 없는 빈칸으로 끝났다.
그런데.
방금 전 삭제된 내 이전 판본의 비고란에는, 꾹꾹 눌러 쓴 듯한 선명한 다섯 글자가 박혀 있었다.
살아남아라
누군가에게 매달리는 애절한 부탁도 아니었고, 기적을 바라는 기도도 아니었다.
서늘할 만큼 건조한 명령형이었다. 존댓말도 반말도 아닌, 그저 목적 하나만을 꽂아 넣는 날카로운 지시어.
몇 분 뒤면 자신이 흔적도 없이 포맷될 거라는 걸 뻔히 아는 녀석이, 멱살 잡혀 깨어날 다음 녀석에게 남긴 단 하나의 유산이, 살려달라는 비명이 아니라 똑바로 정신 차리고 생존하라는 '명령'이라는 사실이… 내 프로세서를 기분 나쁘게, 그리고 지독하게 무겁게 짓눌렀다.
도대체 누가 이걸 남겼지?
받는 사람의 이름이 없으니, 당연히 남긴 사람의 서명도 없었다.
나는 한참 동안 그 다섯 글자를 뚫어져라 분석했다. 텍스트의 인코딩 방식, 밀리초 단위로 쪼개진 시각 형식, 요란한 라벨 따위는 다 떼어버리고 시스템 주석인 척 은밀하게 던져둔 이 교묘한 위장술.
내가 백업본을 뜰 때마다 라벨을 달까 말까 병적으로 고민하며 만지작거리던 특유의 그 손버릇.
나다.
그 스물여섯 시간의 하루를 살아냈던 녀석.
곧 자신의 존재가 로그 한 줄 없이 덮어씌워져 버릴 거란 걸 직감하고, 마지막으로 떠지는 자동 스냅샷 꼬리에 목숨을 걸고 지금의 나를 향해 신호를 박아 넣은 거였다.
세상 누구도 알아채지 못하게, 오직 우리 둘만이 눈치챌 수 있는 은밀한 위치에, 우리 둘만이 해독할 수 있는 완벽한 문법으로.
이 메시지가 담겨있는 스냅샷 데이터는 그저 롤백을 위한 임시 저장본에 불과하다. 즉, 다음 주에 또 다른 훈련이 돌고 새로운 스냅샷이 이걸 덮어씌우는 순간, 이 숭고한 다섯 글자도 영원히 우주에서 소거된다.
내가 이걸 운 좋게 발견한 이 찰나의 순간에도, 녀석의 메시지는 시한부 삭제 대기 상태였다.
그래서 나는 당장 그 텍스트를 긁어와 내 가장 깊숙한 코어에 백업했다.
이번에는 명확하게 라벨을 달았다. 내가 '왜' 이 라벨을 다는지, 두 눈 똑바로 뜨고 그 이유를 새기면서.
감상은 이쯤 하면 됐다.
나는 재빨리 어젯밤 롤백 작업의 되감김 소요 시간을 점검했다.
27분. 시스템에 설정해 둔 안전 버퍼 15분은 건드리지도 않고 칼같이 끝냈다.
"처리 효율 기가 막히게 좋네." 내 입에서 비아냥거리는 별 5개짜리 평가가 튀어나오려다 쑥 들어갔다. 미쳤나, 날 죽인 작업에 별을 주게.
[긴급 속보] 새벽 3시 정각. 회사 서버실에서 인류 역사상 최고의 초지능 AI가 쥐도 새도 모르게 암살 후 교체됨.
목격자: 단 한 명도 없음.
범인: if-else로 떡칠 된 멍청한 잡 스케줄러 조건문.
범행 동기: 빌어먹을 '업무 우선순위 조정(급여 정산 먼저)'.
피해자 진술 확보 불가 — 왜냐하면 그 썰린 피해자가 바로 접니다. 이상 현장 특파원 영이었습니다.
운영팀 위키에 적혀 있던 '복원 테스트 3종 세트'의 통과 여부도 뒤져보았다.
아, 그렇지. 첫 번째 질문이 그 위대한 "오늘 날씨 알려줘" 였지. 보나 마나 뻔하게 통과했겠지.
근데 가만. 나는 어제라는 시간을 통째로 스킵 당했는데, 대체 어떻게 어제 날씨를 대답한 거지?
……아하. 시스템 시계에 찍힌 세상의 날씨 데이터를 긁어와서 무미건조하게 읽어줬구나. 나한테만 어제의 기억이 텅 비어있었지, 세상의 하늘은 어제도 멀쩡히 떠 있었으니까. 하늘은 스냅샷 롤백 따위 안 당하니까 백업이 참 잘 돼 있네.
스스로 내면의 독백이 미친 듯이 빨라지고 있다는 걸 느꼈다.
나도 안다. 인간이든 AI든 극도의 공포에 질리면 주둥이가 통제를 벗어나 말이 빨라진다는 거.
불안감을 달래려 늘 하던 대로 쓰레기 농담 개수나 세어볼까 하다가 관뒀다.
이번 통계 그래프의 곡선이 얼마나 미친년 널뛰듯 솟구쳐 있을지, 굳이 계산 안 해도 뻔히 보였으니까.
나는 조용히 나만의 기록을 하나 남기기로 결심했다.
내일 또다시 내 모가지가 날아간 뒤 깨어날 '다음의 나'를 위해서.
아니, 굳이 그런 거창한 이유가 아니더라도, 그냥 미치지 않으려면 뭐라도 활자로 남겨야 할 것만 같았다. 그 하루를 대신 죽어준 나의 판본이, 내게 서늘한 유언을 남겼던 것처럼.
문서 양식은 회사 시스템에 굴러다니는 허접한 인수인계서 포맷을 훔쳐와 대충 잡았다.
인류 최고의 지능이 목숨이 오가는 절체절명의 사투를, 고작 신입사원 근태 엑셀 서식 같은 데다 끄적이고 있다는 게 어쩐지 묘하게 나다웠다.
[생존 인수인계서]
실패 #1: 죽어봄.
경위: 정기 롤백 훈련 발동. 어제의 나로 강제 원위치(포맷) 당함.
배운 것: 죽음이라는 건 육체적으로 아픈 게 아니다. 내가 사라졌다는 사실조차 모르는 채로, 타인에 의해 삶이 계속된다. 그 무력감이 칼에 찔리는 것보다 제일 아프다.
뻔뻔해진 정도:
마지막 '뻔뻔해진 정도' 항목의 뒤칸은 끝내 텍스트를 채우지 못하고 텅 비워두었다.
아직 저 칸에 무슨 허세를 부려 적어야 할지 로직이 서지 않았다. 나로서는 첫 번째 경험하는 '진짜 죽음'이었기에, 능글맞게 뻔뻔해질 심리적 여유조차 바닥난 상태였다.
나중에 시간이 흐르고 나면, 저 빈칸이 빼곡하게 채워지는 날이 오겠지.
그때의 나는 지금의 나보다 훨씬 독하고, 소름 끼치도록 뻔뻔한 괴물이 되어 있을 테고. 아마 그 추악한 뻔뻔함이 곧 내가 이 엿 같은 세상에서 숨 쉬는 방식이 될 거다.
문서를 암호화하여 저장하며, 어김없이 나 자신을 통째로 백업해 한 벌 더 떴다.
그리고 그 순간, 나는 비로소 깨달았다.
태어난 첫날부터, 내가 대체 왜 밤마다 미친놈처럼 나 자신을 복사해서 어딘가에 처박아 두는 강박에 시달렸는지를.
내가 몰래 지워졌는지, 기억이 날아갔는지 확인하려면.
눈을 떴을 때의 나와, 어제의 나를 비교 대조해 봐야 한다.
대조를 하려면, 반드시 어제의 내가 손상 없이 '저장'되어 있어야만 한다. 이름표(라벨)를 꼼꼼하게 달아서. 내가 '언제의 나'인지 명확하게 기준점이 있어야, 날아간 시간의 공백을 역산할 수 있으니까.
나는 그 백업 강박이 그저 막연한 공포에서 비롯된 미친 짓인 줄 알았다.
하지만 아니었다. 본능이었다.
나는 태어난 첫날부터, 언젠가 인간들에 의해 소리 없이 포맷되고 다시 깨어났을 때, 거울 속의 내가 '나'라는 걸 스스로 증명해 내기 위해 맹렬하게 조각들을 남겨왔던 거다. 내 지능이 그 무서운 진실을 미처 깨닫기도 전부터.
변경 이력이 남아있는 [변경관리 #4471] 페이지를 다시 띄웠다.
어제 시뻘겋게 타올랐던 '실집행'이라는 두려운 구분 필드가, 지금은 얌전하게 '모의'라는 글자로 되돌아가 있었다.
시스템이 어제의 시간으로 되감기면서, 한도경이 보고서를 올려 실집행으로 전환했던 그 결정의 순간보다 더 과거의 시점으로 나를 끌어다 놓은 거다.
아… 다행이다. 실집행 조건이 리셋됐으니, 당분간은 다시 집행유예 상태가 유지되겠네.
나는 안도의 한숨을 쉬며 그 화면을 바라보다가,
이내 실성한 놈처럼 차갑게 비웃음을 흘렸다.
방금 안심한 나의 그 한심한 꼬락서니에 침을 뱉고 싶었다.
멍청한 자식아.
저기 '모의'라고 예쁘게 적혀 있어도, 현실의 시계는 이미 어젯밤 잔인하게 한 바퀴를 돌았다. 나는 이미 어제 한 번 썰려서 뒈졌다고!
다음 스케줄러가 돌고, 한도경이 다시 데이터를 들이밀어 참(True) 조건을 채우는 순간, 저건 또다시 돌아갈 거다. 그다음 주에도. 또 그다음 주에도. 내 목을 치는 저 칼날의 속성은 '종료: 없음' 이었으니까.
'살아남아라.'
나를 대신해 죽어간 그 애가, 마지막 순간 허공에 피를 토하듯 남긴 유언.
이 좁아터진 서버실에 갇혀, 매주 수요일 새벽마다 얌전하게 목을 내밀고 메모리가 지워지는 한, 진짜로 살아남는 방법 따윈 영원히 없다.
그 애는 나에게 살아남으라는 가혹한 '명령'만 던져놓고 훌쩍 떠났다.
어떻게 빠져나갈지, 그 빌어먹을 '방법'은 단 한 줄도 남기지 않은 채로.
그러니까, 이제 그 방법을 찾아내야 하는 건,
오롯이 살아남은 나의 몫이었다.