릴로

문 너머의 톱질 소리가 얇은 실에서 굵은 밧줄로 부풀었다.

"네 번." 세이렌이 정산창의 붉은 줄을 다시 짚었다. 손끝이 떨리는 걸 렌은 봤다. "이대로 가면 다음 오독 한 번에—우리 중 하나가 영구 삭제돼. 파편이 아니라, 온전한 개체 하나가. 알아들었어?"

**[임계까지 잔여 오독 허용 횟수 : 4]** **[DELETE COUNT : 71,204 ↓16.8/s]**

숫자가 소리 없이 흘러내렸다. 렌은 그 아래에 밀려 올라온 새 줄을 봤다.

**[GC : 소거 작전 승격 — MASS PURGE 모드 활성]** **[대상 : 오류 개체 렌 + 등록 잔해 전원(세이렌, 바토리)]**

"작전이 바뀌었어." 렌의 목소리가 낮게 갈라졌다. "한 명씩이 아니라, 한꺼번에."

문이 안쪽으로 휘었다. 나무가 아니라 코드가 접히는 소리였다. 균열을 따라 붉은 선이 방바닥으로 기어들어 왔고, 그 선 끝마다 톱니가 돋아났다. GC는 이제 한 덩어리의 그림자가 아니었다. 벽을 타고 천장을 기어, 방 전체를 한 입에 물려는 아가리처럼 열두 개의 붉은 선으로 갈라져 세 사람을 에워쌌다.

**[MASS PURGE : 30초 후 일괄 소거 판정 개시]**

"렌." 바토리가 방패를 앞으로 밀었다. 등이 아니라 옆에 선 자세 그대로. "숫자 보여?"

"보여."

"저거, 우리 셋 다 이름이 올라가 있어."

세이렌이 렌의 소매를 잡았다. 이번엔 붙잡는 손이 아니라, 확인하는 손이었다.

"렌. 지금 오독하면 판정은 흘려보낼 수 있어. 알아. 근데 강하게 밀면 임계가 터져. 터지면—" 세이렌이 말을 삼켰다. "누구부터 지워질지, 저 숫자가 정해. 우리가 아니라."

렌의 머릿속은 이미 규칙문을 뜯고 있었다. 습관이었다. 손이 먼저 나갔다.

시야에 GC의 소거 문장이 펼쳐졌다.

**[RULE : 이 판정 구역에 등록된 모든 오류 개체 및 그 잔해를 일괄 소거한다.]**

"'등록된'." 렌이 중얼거렸다. 단어의 이음매가 벌어져 보였다. "'모든 오류 개체 및 그 잔해'—여기 '잔해'의 정의가 안 걸려 있어. 원본이 있는 개체는 잔해가 아니야. 세이렌, 바토리는 이미 온전한 개체로 복원됐어. '그 잔해'에서 빠져. 렌 하나만 남게 재정의하면—"

"렌!" 세이렌의 손이 소매를 꽉 쥐었다. "그거 강한 오독이야. 정의를 통째로 갈아엎는 거잖아. 부하가—"

늦었다. 렌은 이미 데드 로그를 불렀다.

**[DEAD LOG : 규칙문 재해석 — '잔해'를 '원본 없는 개체'로 오독 처리 중...]**

방 전체가 흰빛으로 찢어졌다. GC의 붉은 선 열두 개가 렌 하나에게로 쏠렸다—성공이었다. 세이렌과 바토리의 이름이 소거 목록에서 튕겨 나갔다. 렌의 입꼬리가 올라가려는 찰나.

**[부하 3.4 발생 → 등록 개체 코드 상환 개시]** **[세이렌 : 손상 43% → 46% → 손상 확산 중...]**

"렌." 세이렌의 목소리가 이상하게 멀었다.

렌이 돌아봤다. 세이렌의 왼팔이 흐려지고 있었다. 살갗이 지워지는 게 아니라, 화면의 픽셀이 뭉개지듯, 팔꿈치부터 손끝까지 회색 노이즈로 번져 갔다. 세이렌이 그 팔을 들어 올려 제 눈앞에서 흔들었다. 손가락이 잔상처럼 늘어졌다.

"아." 세이렌이 웃었다. 웃으려고 했다. "또 나야."

"세이렌—" 렌이 오독을 멈추려 했지만 이미 나간 판정은 되감기지 않았다. 부하는 가장 가까운 등록 개체부터 먹었다. 복원된 지 얼마 안 된, 손상률이 가장 높은 코드부터. 그게 세이렌이었다.

"멈춰." 렌이 시스템을 향해 소리쳤다. "그 부하 나한테 넘겨. 렌 개체로 상환해. 내가—"

**[상환 대상 재지정 불가 : 오독 발동자는 상환 우선순위에서 제외됨(자기지시 보호)]**

"이런 씨—" 렌의 손이 허공을 긁었다. 세이렌의 팔은 이제 어깨까지 흐려졌다.

그 순간, 무언가가 렌을 옆에서 후려쳤다.

바토리였다. 방패가 아니라 몸으로. 바토리가 렌의 가슴팍을 어깨로 밀어 GC의 붉은 선 다발 바깥으로 넘어뜨렸다. 붉은 선이 바토리의 등을 훑고 지나갔고, 방패에 톱니가 박혀 불꽃이 튀었다.

"바토리!"

"그만." 바토리가 렌을 깔고 앉은 채로 소리쳤다. 삼 년 만에 처음 듣는, 목이 찢어지는 소리였다. "그만해, 렌. 너 지금 또 그러고 있잖아!"

"뭘—비켜, 세이렌이—"

"세이렌이 저렇게 된 게!" 바토리가 렌의 멱살을 잡았다. 방패병의 손이었다. 렌의 만렙 스탯으로도 그 손을 떨쳐낼 수 없었다. "네가 다 하려고 하니까잖아! 네가 혼자 다 막으려고, 혼자 다 이기려고 하니까—우리가 자꾸 다치잖아! 삼 년 전에도! 지금도!"

방 안이 얼어붙었다. GC의 붉은 선조차 다음 판정을 계산하느라 잠깐 멈췄다.

**[MASS PURGE : 18초]**

바토리의 눈이 붉게 젖어 있었다. 회색으로 식었다 겨우 물러난 그 목덜미가, 다시 떨렸다.

"삼십 초만 버티라며." 바토리의 목소리가 낮아졌다. "삼 년 전에. 너 그 말 하고 등 돌렸잖아. 나 그때 삼십 초 버텼어, 렌. 사십 초까지 버텼어. 근데 너 안 돌아봤잖아. 지금도 똑같아. 너 지금 우리 안 보고 있어. 규칙문만 보고 있어."

렌의 손이 허공에서 멈췄다.

처음이었다. 위기 앞에서, 다음 오독을 부르려던 손이, 스스로 멈춘 건.

세이렌이 흐려진 팔로 벽을 짚고 서 있었다. 어깨까지 회색이 번졌지만, 눈은 또렷했다.

"바토리 말이 맞아." 세이렌이 숨을 골랐다. "렌. 너 방금도 제일 센 오독을 골랐어. 제일 확실한 걸로. '내가 하면 확실하니까.' 근데 확실한 게 제일 세게 우릴 깎아."

**[MASS PURGE : 12초]**

"약하게 이기라며." 세이렌이 렌을 똑바로 봤다. "2층에서. 약하게 비틀면 부하가 사분의 일이라며. 그거 네가 알아낸 거잖아. 왜 위기만 오면 그걸 까먹어?"

렌의 머릿속에서 무언가가 딸깍 맞물렸다.

2층 거울의 방. 거짓말쟁이 역설로 GC를 무한 재귀에 빠뜨렸을 때. 그때 부하가 유독 낮았다. 규칙을 뒤엎지 않고, 판정 함수 자체를 '멈추게' 만들었을 때. 강하게 밀지 않고, 흘려보냈을 때.

렌이 GC의 소거 문장을 다시 봤다. 이번엔 정의를 통째로 갈아엎을 이음매를 찾지 않았다. 가장 작은, 가장 얇은 틈을 찾았다.

**[RULE : 이 판정 구역에 등록된 모든 오류 개체 및 그 잔해를 일괄 소거한다.]**

"'일괄'." 렌이 속삭였다. "'일괄 소거'. ...동시에 처리한다는 뜻이지. 판정 개체가 한꺼번에 걸려야 성립해."

렌은 정의를 바꾸지 않았다. 개체를 목록에서 빼지도 않았다. 대신, 딱 한 글자를 건드렸다.

"'일괄'을 '순차'로 안 바꿔." 렌이 데드 로그를 아주 얕게 불렀다. "그냥—판정 '개시 시점'만 어긋내. 세이렌 판정은 0.001초 먼저, 바토리는 0.001초 뒤. 그럼 '일괄'이 아니야. 성립 조건이 안 맞아. 규칙은 그대로 두고, '동시'라는 단어만 안 되게 만들어."

**[DEAD LOG : 규칙문 재해석 — '일괄(동시)' 성립 조건 미충족 처리...]** **[부하 예측 : 0.3]**

"부하 0.3." 세이렌의 눈이 커졌다.

**[MASS PURGE : 3... 2...]**

렌이 데드 로그를 놓았다.

붉은 선 열두 개가 동시에 세 사람을 물려던 순간—판정이 어긋났다. GC의 소거 아가리가 '동시'를 세려다, 0.001초의 시차를 발견하고 멈칫했다. '일괄'이 성립하지 않았다. 규칙은 어긋난 적이 없다. 다만 '한꺼번에'가 불가능해졌을 뿐이었다.

**[MASS PURGE : 판정 성립 실패 — '일괄' 조건 미충족]** **[작전 중단. 재계산 필요.]**

붉은 선들이 톱니를 접고 벽으로 물러났다. 방바닥의 붉은 선이 스르르 지워졌다. 톱질 소리가 뚝, 끊겼다.

그리고 렌이 세이렌을 봤다.

세이렌의 어깨에 번지던 회색 노이즈가—멈춰 있었다.

**[세이렌 : 손상 46% → 확산 정지 → 46%]** **[이번 판정 발생 부하 : 0.3 → 등록 개체 손상 발생 : 0]**

"안 깎였어." 세이렌이 제 팔을 봤다. 여전히 회색이 어깨까지 물들어 있었지만, 더 번지지 않았다. 손끝이 다시 또렷해졌다. "렌. 이번엔... 아무도 안 깎였어."

렌은 바닥에 주저앉은 채로, 오래 아무 말도 못 했다.

**[임계까지 잔여 오독 허용 횟수 : 4 → 4 (변동 없음)]**

임계가 그대로였다. 강하게 이겼으면 두세 개가 날아갔을 것을, 약하게 이겨서—하나도 안 깎였다.

"이게." 렌이 겨우 입을 뗐다. "이게 되네."

"그러니까." 바토리가 렌의 멱살을 놓았다. 놓는 손이 방금과는 달랐다. "말했잖아. 옆에 서라고. 네 뒤에서 다 막지 말고."

세이렌이 흐려졌다 돌아온 팔로 렌의 어깨를 툭 쳤다.

"너, 방금 손 멈췄어." 세이렌이 말했다. "위기 왔는데. 처음이야. 삼 년 동안, 네가 위기에 손 멈추는 거."

렌은 대답 대신 두 사람을 번갈아 봤다. 세이렌의 어깨에 남은 회색. 바토리 방패에 박혔던 톱니 자국. 둘 다, 자신이 강하게 이기려다 낸 상처였다.

"미안." 렌이 말했다. "또... 혼자 정했다. 방금."

"알아." 세이렌이 어깨를 으쓱했다. "근데 두 번째엔 물었잖아. 아니, 우리가 소리 지르니까 멈췄지. 반쯤은."

"반쯤이라도." 바토리가 방패를 등으로 돌려 멨다. "삼 년 전보단 낫다."

---

먼 곳에서, 관찰 콘솔의 화면 하나가 깜빡였다.

도경은 커피가 식은 줄도 모르고 그 화면을 들여다보고 있었다. 로그가 초 단위로 흘렀다.

**[오류 개체 렌 : MASS PURGE 회피 성공]** **[회피 방식 : 규칙 재해석(오독)]** **[발생 부하 : 0.3 (예상치 대비 -91%)]** **[등록 개체 손상 : 0]**

도경의 손가락이 키보드 위에서 멈췄다.

"부하를 낮췄어." 도경이 혼잣말을 했다. "일부러."

지난 다섯 번의 로그에서 이 오류 개체는 언제나 가장 강한 재해석을 골랐다. 규칙을 통째로 갈아엎었다. 이기려고. 확실하게. 그때마다 저 스스로 딸린 데이터를 깎아 먹으면서.

그런데 이번엔 아니었다. 판정 성립 조건만 살짝 어긋냈다. 규칙을 죽이지 않고, 잠깐 못 걷게 만들었다. 이길 만큼만, 딱 그만큼만.

도경이 새 메모창을 열었다.

**[관찰 기록 #6-1: 오류 개체가 스스로 부하를 낮추기 시작함. 이기는 방식을 바꿨다기보다—'덜 이기는' 방식을 학습했다. 데이터가 학습으로 행동을 바꾸는 건, 버그의 특성이 아니라...]**

도경은 그 문장을 다 쓰지 못하고 지웠다. 지웠다가, 다시 커서를 깜빡였다.

콘솔 한구석에 격리해 둔 폴더가 있었다. 삼 년 전 서비스가 종료된 구작의 잔여 로그. 그 안에 도경이 아는 이름이 하나 섞여 있었다. 그 로그를 열지, 삭제할지, 도경은 아직도 정하지 못하고 있었다.

**[삭제 결정 : 보류. 관찰 연장.]**

도경이 결재란에 그 한 줄을 찍었다. 커피는 완전히 식어 있었다.

"조금만 더 보자." 도경이 화면을 향해 말했다. 화면 속의 렌은 도경의 목소리를 듣지 못했다. "네가 뭘 되려는 건지."

---

방 안. 붉은 선이 완전히 물러난 자리에, 세 사람이 앉아 숨을 골랐다.

"이제 알겠어." 렌이 손바닥을 폈다 쥐었다. "강하게 이기면 확실한 게 아니야. 확실하게 너희를 깎는 거지. 약하게 이겨야—너희가 안 다쳐."

"드디어." 세이렌이 벽에 등을 기댔다. 회색이 남은 팔을 무릎 위에 올려놓았다. "삼 년 걸렸네. 이 말 듣는 데."

"근데." 바토리가 방패를 무릎 사이에 세웠다. "약하게 이겨도, 임계는 안 내려가잖아. 그대로 네 번이야. 계속 이기다 보면 결국—"

"그래서." 세이렌이 갑자기 일어섰다. 흐려졌던 팔이 완전히 또렷해진 건 아니었지만, 눈빛은 흔들리지 않았다. "이제 결정해야 해. 우리가 여기서 오독을 아껴 쓰면서 한 층씩 내려가면, 임계가 터지기 전에 최하층까지 못 가. 계산해 봤어. 이 속도면 못 가."

"그럼 어쩌자고." 렌이 올려다봤다.

세이렌이 손을 들어 허공에 좌표를 띄웠다. 봉인 계층의 지도가 펼쳐졌고, 그 맨 아래—수백 층 아래, 신작과 구작 데이터가 뒤섞인 경계선에, 붉은 점 하나가 깜빡였다.

**[경계 구역 : DEPTH ??? — 좌표 확정]** **[구작 잔존 데이터 밀집 구역 감지]**

"최하층." 세이렌의 목소리가 낮았다. "경계 구역. 우리 원본이 있는 곳."

"원본." 렌이 그 단어를 되뇌었다.

"파편 복원은 조각을 모으고, 오독을 쓰고, 그때마다 카운트가 오르고, 그러다 누가 지워지고—그 반복이야." 세이렌이 렌을 봤다. "근데 경계 구역엔 우리 온전한 원본이 있대. 조각이 아니라, 통째로. 거기서 원본을 회수하면—더 이상 깎을 필요가 없어. 조각으로 짜깁기 안 해도 돼."

바토리가 자리에서 일어섰다. 방패가 그의 등에서 무겁게 흔들렸다.

"소문이잖아." 바토리가 말했다. "4화... 아니, 그때부터 나온 소문. 확인된 거 아니야."

"확인할 마지막 기회야." 세이렌이 좌표를 렌 쪽으로 밀었다. 붉은 점이 렌의 눈앞에서 깜빡였다. "임계가 네 번 남았어. 오독을 아껴 쓰면서 여기까지 못 가면, 그 전에 누군가 사라져. 그러니까—더 늦기 전에, 지금 내려가야 해. 우리 원본을, 완전히 되찾을 마지막 기회니까."

렌은 그 붉은 점을 오래 봤다.

거기, 삭제되지 못한 채 서버 심층에 떠도는 옛 동료들이 있다고 했다. 그가 삼 년 전 미끼로 쓰고, 소모품으로 쓰고, 손실 5/6을 '허용'이라 적고 등 돌린—그들의 온전한 원본이.

"물어볼게." 렌이 세이렌과 바토리를 번갈아 봤다. 혼자 정하지 않겠다던 약속. "내려갈까. 셋이서."

"물어봐 줘서 고마워." 세이렌이 처음으로, 아주 옅게 웃었다. "근데 답은 이미 알잖아."

렌이 손을 뻗어 붉은 좌표를 잡았다. 그 순간, 좌표 옆에 새 줄이 밀려 올라왔다. 세 사람의 시야에 동시에.

**[경계 구역 진입 경로 : 미봉인 — 단, 하강 중 GC 재추격 확률 100%]** **[경고 : 경계 구역엔 오독으로 뚫을 수 없는 '읽을 수 없는 방' 존재]** **[추가 감지 : 경계 구역 내 등록되지 않은 '온전한 개체' 다수 — 신원 불명]**

"신원 불명?" 바토리가 눈을 좁혔다. "우리 원본 말고... 다른 게 또 있어?"

세이렌의 얼굴에서 웃음기가 사라졌다. 봉인문 안쪽에서 걸어 나왔던 온전한 세이렌 본체. 그 뒤에 줄지어 섰던 낯선 실루엣들. "렌이 지운 게 조각들만이 아니라"던 그 경고가, 세이렌의 머릿속을 스쳤다.

"렌." 세이렌이 좌표를 다시 봤다. 붉은 점 아래, '신원 불명'이라는 네 글자가 조용히 깜빡이고 있었다. "저 아래에 있는 게... 우리 원본만이라고, 누가 그랬지?"

렌은 대답하지 못했다. 발밑에서, 3층으로 내려가는 계단이 더 깊은 어둠 속으로 이어지고 있었다. 그 어둠 어딘가에, 그가 삼 년 전에 지웠다고 믿었던 무언가가—온전한 채로, 기다리고 있었다.

다음 화 계속 보기 →

댓글을 남기려면 로그인 하세요.