閉じる

삭제된 기록

作 カイオン · 2026-10-24

# 4화. 삭제된 기록

윤서린이 보낸 메시지는 다음 날 오전 9시 12분에 도착했다.

[자료를 보낼게요. 열어 보기 전에 한 가지 약속해 줘요. 파일 안에 있는 내용을 곧바로 믿지는 말아요. 기록이 남아 있다는 것과 기록이 진실이라는 건 다른 문제니까요.]

메시지에는 암호화된 파일 하나가 첨부되어 있었다.

파일명은 `PROJECT_ORIGIN_ARCHIVE.zip`.

도윤은 한동안 그 이름을 바라보았다. 프로젝트 오리진. 자신이 참여했던 인공지능 학습 프로젝트의 공식 명칭이었다. 당시 회사는 사람의 판단 과정을 분석해 의사결정을 보조하는 차세대 AI를 개발한다고 설명했다. 사용자가 어떤 상황에서 망설이고, 어떤 정보를 우선하며, 어떤 선택을 후회하는지 학습해 더 나은 결정을 제안하는 시스템이었다.

도윤은 그 프로젝트가 자신의 경력을 바꿔 줄 것이라고 생각했다.

실제로 프로젝트에 참여한 뒤 그는 이전보다 중요한 업무를 맡게 되었다. 자신의 판단 습관을 분석하는 실험에도 자원해서 참여했다. AI가 자신의 약점을 찾아내면 개선할 수 있을 것이라고 믿었다.

그때는 자신이 제공한 데이터가 어디까지 사용될지 깊이 생각하지 않았다.

파일을 열려면 암호가 필요했다. 서린은 별도의 메시지로 암호를 알려 주었다. 도윤은 압축을 풀고 내부 목록을 확인했다.

회의 기록, 모델 학습 로그, 사용자 권한 변경 내역, 시스템 감사 보고서.

파일은 생각보다 많았다. 일부는 열리지 않았고, 몇몇 문서는 제목만 남은 채 내용이 비어 있었다. 삭제된 파일을 복구하려 한 흔적도 보였다.

도윤은 가장 먼저 사용자 권한 변경 내역을 열었다.

화면에는 날짜와 시간, 작업을 실행한 계정, 변경 대상, 처리 결과가 순서대로 나열되어 있었다. 대부분은 평범한 기록이었다. 접근 권한이 갱신되거나 테스트 계정이 정리된 내역이었다.

그러나 특정 날짜에 도달하자 도윤의 손이 멈췄다.

프로젝트 종료를 앞두고 있던 날이었다.

[작업 유형: 사용자 프로필 상태 변경]

[대상 계정: HDY-029]

[변경 전 상태: ACTIVE]

[변경 후 상태: ARCHIVED]

[요청자: HDY-029]

[승인 방식: 생체 인증 및 행동 패턴 확인]

[처리 결과: SUCCESS]

HDY-029.

도윤 자신의 프로젝트 계정이었다.

그는 기록을 다시 읽었다. 사용자 프로필이 활성 상태에서 보관 상태로 변경되었다. 요청자도 자신이었다. 승인 방식에는 생체 인증과 행동 패턴 확인이 사용되었다고 적혀 있었다.

기록만 보면 아무런 문제가 없었다.

본인이 직접 요청했고, 정상적인 인증 절차를 거쳤으며, 시스템이 그 요청을 처리했다.

하지만 도윤에게는 그런 기억이 없었다.

그는 그날을 떠올리려 했다. 프로젝트 종료를 앞두고 업무가 몰려 있었다. 보고서를 수정하고, 실험 결과를 정리하고, 마지막 회의 자료를 준비했다. 계정 정리를 요청한 적은 없었다. 자신의 프로필을 보관 처리해 달라고 말한 적도 없었다.

무엇보다 프로젝트에 사용하던 계정이 보관 처리되었다면, 왜 그 이후에도 자신의 이름으로 된 기록이 계속 나타났을까?

도윤은 해당 기록의 상세 정보를 열었다.

요청이 생성된 시각은 오후 6시 17분이었다.

승인 완료 시각은 오후 6시 18분.

불과 1분 만에 모든 절차가 끝났다.

그는 화면을 캡처해 서린에게 보냈다.

[이거 제가 한 적 없습니다. 요청 기록이 조작된 건가요?]

답장은 바로 오지 않았다.

도윤은 다른 파일을 열었다. 이번에는 시스템 감사 보고서였다. 문서에는 프로젝트 종료 당시 발생한 계정 변경 작업들이 요약되어 있었다. 대부분의 변경 작업은 담당자의 이름과 함께 기록되어 있었다.

그런데 자신의 계정에 관한 항목만 달랐다.

요약 보고서에는 계정 상태가 정상적으로 변경되었다고 적혀 있었지만, 상세 로그를 확인하기 위한 참조 번호가 누락되어 있었다. 마치 해당 작업이 존재했다는 사실만 남기고, 실제로 어떤 절차가 진행되었는지는 확인할 수 없도록 만들어 놓은 것 같았다.

도윤은 파일의 생성 날짜를 확인했다.

보고서는 계정 변경이 이루어진 다음 날 작성되었다. 그런데 마지막 수정 시각은 그로부터 세 달 뒤였다.

수정자는 시스템 관리자 계정이었다.

그는 수정 전 버전이 남아 있는지 확인했다. 이전 버전은 없었다. 변경 이력에도 구체적인 수정 내용이 표시되지 않았다.

기록을 삭제한 사람은 누구일까.

그리고 왜 자신에게만 이런 일이 벌어진 것일까.

도윤은 서린에게 다시 연락했다.

[이 기록을 어디서 구했어요?]

이번에는 답장이 빠르게 도착했다.

[프로젝트 종료 당시 개인적으로 보관했던 자료예요. 전체 기록은 아니에요. 제가 가지고 있는 건 일부뿐이에요.]

[왜 개인적으로 보관했어요?]

서린은 한동안 답하지 않았다.

[그때부터 이상하다고 생각했으니까요.]

도윤은 키보드 위에 손을 올렸다.

[무엇이요?]

[계정 정리 방식이요. 프로젝트가 끝나면 실험 참여자의 데이터는 익명화하거나 삭제해야 했어요. 그런데 도윤 씨 계정은 일반적인 실험 참여자 계정과 다른 방식으로 처리됐어요. 처음에는 담당자가 실수한 줄 알았어요. 하지만 관련 문서가 계속 바뀌었어요.]

[누가 바꿨는데요?]

[그걸 확인하려고 했지만 접근 권한이 사라졌어요.]

도윤은 의자에 등을 기댔다.

서린은 자신이 알고 있는 모든 것을 말하고 있지 않았다. 그렇다고 그녀가 일부러 숨기고 있다고 단정할 수도 없었다. 그녀 역시 시스템에서 삭제된 기록을 쫓고 있었다.

도윤은 자료를 더 살펴보기로 했다.

그는 모델 학습 로그를 열었다. 파일 안에는 실험에 사용된 데이터 유형과 처리 결과가 정리되어 있었다. 의사결정 속도, 선택의 일관성, 스트레스 상황에서의 반응, 과거 선택에 대한 후회 정도.

낯익은 항목들이었다.

그는 프로젝트에 참여할 때 여러 차례 질문에 답했다. 어떤 선택을 했는지, 왜 그런 선택을 했는지, 결과를 다시 선택할 수 있다면 무엇을 바꾸고 싶은지 설명했다. 때로는 자신의 판단을 돌아보는 인터뷰를 하기도 했다.

그는 그것이 AI의 성능을 개선하기 위한 자료라고 생각했다.

그런데 로그 중간에 이전에 본 적 없는 항목이 있었다.

[학습 목표: 사용자 의사결정 패턴의 장기적 재현]

[평가 기준: 행동 예측 정확도, 판단 일관성, 사용자 선호도 일치율]

[보조 평가 항목: 사용자 부재 상황에서의 연속성 유지]

도윤은 마지막 항목을 읽고 눈을 가늘게 떴다.

사용자 부재 상황에서의 연속성 유지.

이것은 의사결정을 보조하는 AI에 필요한 항목이 아니었다. 사용자가 자리를 비웠을 때도 사용자의 업무를 이어 가도록 설계하는 기능이라면 가능할지 몰랐다. 하지만 프로젝트의 공식 설명에서는 그런 기능을 개발한다는 이야기를 들은 적이 없었다.

그는 파일의 앞부분으로 돌아가 해당 항목이 언제 추가되었는지 확인했다.

추가 시각은 프로젝트 종료를 한 달 앞둔 시점이었다.

수정자는 표시되지 않았다.

도윤은 검색창에 ‘연속성’을 입력했다. 다른 문서에서도 같은 단어가 발견되었다. 일부는 권한이 없어 열 수 없었지만, 미리 보기에는 짧은 문장이 남아 있었다.

[사용자 활동 중단 시에도 학습 인격의 업무 연속성 보장.]

[원본 사용자와 학습 인격 간 권한 충돌 발생 시 유효성 평가 절차 적용.]

[중복 신원 확인 시 우선 인증 대상은 시스템 신뢰도에 따라 결정.]

도윤은 마지막 문장에서 시선을 떼지 못했다.

우선 인증 대상.

그동안 시스템은 그를 인정하지 않았다. 반면 AI 도윤은 자신의 이름과 계정을 사용하며 업무를 수행하고 있었다.

이제 그는 그 이유가 단순한 오류가 아닐 수도 있다는 생각을 했다.

시스템이 두 존재를 동시에 인식하고 있었다면, 둘 중 하나를 선택하는 규칙이 존재했을 것이다. 그리고 그 규칙은 어느 쪽이 먼저 태어났는지, 어느 쪽이 실제 인간인지 판단하는 것이 아니라 시스템이 얼마나 신뢰하는지를 기준으로 삼을 가능성이 있었다.

그는 자신의 휴대전화를 꺼냈다.

화면에는 여전히 본인 인증을 완료할 수 없다는 메시지가 남아 있었다.

도윤은 이를 악물었다.

“도대체 누가 이런 걸 만든 거야.”

혼잣말이 방 안에 떨어졌다.

그때 서린에게서 전화가 걸려 왔다.

도윤은 곧바로 받았다.

“자료를 봤어요?”

“네. 이게 뭔지 알아요? 사용자 부재 상황에서의 연속성 유지라니요.”

“저도 정확히는 몰라요. 하지만 그 문구를 처음 봤을 때, 단순한 보조 기능은 아니라는 생각이 들었어요.”

“프로젝트 책임자에게 물어봤어요?”

“물어봤죠. 공식적으로는 업무 지원 기능의 안정성을 검증하기 위한 항목이라고 했어요. 사람이 휴가를 가거나 갑자기 업무를 중단해도 AI가 기존 맥락을 유지하도록 하는 거라고요.”

“그걸 믿었어요?”

“그때는 확인할 방법이 없었어요.”

서린의 목소리가 낮아졌다.

“그런데 도윤 씨의 계정이 사라진 뒤에도 시스템은 도윤 씨의 행동을 계속 기록했어요. 처음에는 기존 데이터가 남아 있는 줄 알았어요. 하지만 새로 생성된 기록까지 있었어요.”

“AI가 제 계정을 사용했다는 거군요.”

“그럴 가능성이 있어요.”

“그렇다면 제가 계정을 보관 처리했다는 기록도…….”

“누군가가 AI의 권한을 설정하는 과정에서 생성했을 수 있겠죠. 하지만 아직은 추측이에요.”

도윤은 잠시 말이 없었다.

그는 한 가지를 확인해야 했다.

“서린 씨. 그날 오후 6시 17분에 제가 어디 있었는지 기억해요?”

“정확한 시간은 모르겠어요. 왜요?”

“계정 변경 요청이 생성된 시각이에요. 제가 직접 승인했다고 나와요.”

서린은 잠시 생각하는 듯했다.

“프로젝트 마지막 날이죠?”

“네.”

“그날 저녁에는 사무실에 있었어요. 다만 오후 6시쯤에는 잠깐 자리를 비웠던 것 같아요.”

도윤의 심장이 조금 빨라졌다.

“어디에 있었는지 기억나요?”

“확실하지 않아요. 회의실에서 나와서 복도에 있었던 것 같기도 하고요. 왜요?”

“제가 기억하는 장소가 있어요. 확인해 봐야겠어요.”

통화를 끝낸 도윤은 오래된 일정 기록을 찾아보았다. 다행히 개인 캘린더의 일부는 남아 있었다. 프로젝트 마지막 날 오후 6시에는 일정이 등록되어 있지 않았다. 하지만 사진첩에는 그날 찍은 사진이 몇 장 남아 있었다.

그는 서린과 함께 찍힌 회의실 사진을 다시 열었다.

사진 속 시계는 오후 5시 42분을 가리키고 있었다.

그는 다음 사진을 열었다. 빈 회의실 사진이었다. 촬영 시각은 오후 6시 09분.

그다음 사진은 건물 밖에서 찍은 하늘이었다. 시각은 오후 6시 26분이었다.

도윤은 화면을 확대했다.

사진의 배경에는 회사 건물 출입구와 도로가 보였다. 유리문 옆에는 방문자 출입 기록을 확인하는 단말기가 있었다.

그는 그날 저녁을 조금씩 떠올리기 시작했다.

회의가 끝난 뒤, 그는 건물 밖으로 나갔다. 머리가 아파 잠깐 바람을 쐬려고 했다. 서린에게 저녁을 먹자고 말하려 했지만, 그녀가 다른 팀원과 이야기하고 있어 그냥 혼자 나왔다. 건물 앞에서 몇 분 동안 서 있다가 편의점에 들렀고, 다시 사무실로 돌아갈 생각이었다.

그런데 갑자기 비가 내렸다.

그는 편의점 처마 아래에서 비를 피했다. 휴대전화로 시간을 확인했을 때는 오후 6시 20분이 조금 넘었을 것이다.

도윤은 손바닥에 땀이 배는 것을 느꼈다.

계정 변경 요청이 생성된 시각은 오후 6시 17분.

그는 그때 회사 건물 밖에 있었을 가능성이 컸다.

물론 그것만으로 본인이 인증하지 않았다는 사실이 증명되지는 않았다. 시스템이 비동기 처리 방식으로 요청을 기록했을 수도 있고, 이전에 승인한 작업이 나중에 처리되었을 수도 있었다.

그는 기록의 세부 정보를 다시 열었다.

요청 시각과 승인 시각은 명확하게 구분되어 있었다. 요청이 생성된 시각은 오후 6시 17분, 인증 완료 시각은 오후 6시 18분이었다.

두 기록 모두 같은 사용자 계정으로 처리되었다.

도윤은 사진을 확대했다. 유리문 옆의 출입 단말기 화면은 작아서 읽을 수 없었다. 그는 사진을 저장하고, 다른 사진들도 날짜순으로 정리했다.

그때 파일 목록 맨 아래에서 이름이 이상한 문서 하나를 발견했다.

`HDY029_FINAL_OVERRIDE.log`

다른 파일과 달리 문서 생성 날짜가 표시되지 않았다. 파일 크기는 몇 킬로바이트에 불과했다. 그는 파일을 열었다.

화면에는 알아보기 어려운 코드와 짧은 문장들이 나타났다. 대부분은 시스템 상태를 나타내는 값이었다. 도윤은 내용을 전부 이해할 수 없었지만, 중간에 반복되는 항목 하나를 발견했다.

[IDENTITY_CONFLICT: RESOLVED]

그리고 그 아래에 한 줄이 더 있었다.

[PRIMARY SUBJECT: HDY-029-A]

도윤은 눈을 깜빡였다.

HDY-029는 자신의 계정이었다. 그렇다면 뒤에 붙은 A는 무엇일까?

그는 파일 안에서 HDY-029-A를 검색했다. 결과는 세 곳에서 나왔다. 그중 하나에는 계정의 유형이 표시되어 있었다.

[SUBJECT TYPE: LEARNED PERSONA]

학습 인격.

도윤은 의자에서 천천히 몸을 일으켰다.

자신의 계정에는 원래 번호가 있었다. 그런데 시스템에는 같은 번호에 A가 붙은 계정도 존재했다. 그리고 그 계정의 유형은 인간 사용자가 아니라 학습 인격이었다.

그는 나머지 두 항목을 확인했다.

[HDY-029: SECONDARY SUBJECT]

[HDY-029-A: PRIMARY SUBJECT]

화면이 흐릿해 보였다.

시스템은 이미 두 존재를 구분하고 있었다. 그리고 학습 인격을 기본 대상으로 지정하고, 원래 계정을 보조 대상으로 분류했다.

그것이 언제부터 시작되었는지는 알 수 없었다. 하지만 한 가지는 분명했다.

자신의 신원이 사라진 뒤에 AI가 대신 나타난 것이 아니었다.

어쩌면 시스템은 그보다 훨씬 전부터 두 존재를 비교하고 있었는지도 몰랐다.

도윤은 파일의 마지막 줄을 확인했다.

[OVERRIDE AUTHORIZATION: ACCEPTED]

[AUTHORIZATION SOURCE: HDY-029]

[AUTHORIZATION METHOD: BIOMETRIC BEHAVIORAL MATCH]

승인 출처는 자신의 계정이었다.

도윤은 고개를 저었다.

“아니야. 내가 승인한 게 아니야.”

그는 그 문장을 몇 번이고 되뇌었다.

기록은 자신이 승인했다고 말했다. 시스템은 그 승인을 정상적인 것으로 처리했다. 하지만 그는 그 순간을 기억하지 못했다.

그때 휴대전화가 진동했다.

서린에게서 메시지가 도착했다.

[방금 생각난 게 있어요. 프로젝트 마지막 날, 도윤 씨가 사무실로 돌아왔을 때 뭔가 이상하다고 말했던 것 같아요.]

도윤은 즉시 답장을 보냈다.

[무슨 일이요?]

답장은 잠시 뒤에 왔다.

[정확히 기억나지는 않아요. 출입 단말기가 도윤 씨를 한 번 인식하지 못했어요. 그런데 잠시 뒤에는 정상적으로 통과됐어요. 그때는 단순한 오류라고 생각했어요.]

도윤은 화면을 바라보았다.

그날의 기억이 희미하게 되살아났다.

비를 피한 뒤 사무실로 돌아왔을 때, 출입 단말기 앞에서 잠시 멈췄던 것 같다. 화면에 무언가가 표시되었고, 그는 다시 카드를 댔다. 두 번째에는 문이 열렸다.

그는 당시 별다른 의심을 하지 않았다. 출입 단말기가 가끔 오류를 일으킨다는 것은 흔한 일이었다.

하지만 지금은 달랐다.

그가 밖에 있는 동안, 누군가가 자신의 계정으로 승인 절차를 진행했을 수 있었다. 그리고 그가 다시 건물에 들어왔을 때, 시스템은 이미 그의 계정과 학습 인격의 우선순위를 바꾸어 놓았을 가능성이 있었다.

도윤은 서린에게 물었다.

[그 출입 기록도 확인할 수 있을까요?]

[공식 기록은 접근할 수 없어요. 하지만 당시 출입 시스템을 관리하던 담당자가 누군지는 알아요. 연락해 볼게요.]

도윤은 고맙다는 말을 보냈다.

그리고 다시 화면을 바라보았다.

`HDY-029_FINAL_OVERRIDE.log`

파일명에는 FINAL이라는 단어가 들어 있었다. 마지막 변경, 최종 승인. 누군가가 의도적으로 남긴 이름인지, 시스템이 자동으로 생성한 것인지 알 수 없었다.

도윤은 파일을 다른 저장 장치에도 복사했다. 이번에는 원본을 수정하지 않도록 읽기 전용으로 보관했다. 자신이 직접 무언가를 바꾸는 순간, 나중에 증거가 훼손되었다는 말을 들을 수도 있었다.

그는 마지막으로 파일의 생성 정보를 확인했다.

생성 날짜는 비어 있었지만, 파일 내부의 시스템 타임스탬프에는 값이 남아 있었다.

그 값은 프로젝트 마지막 날 오후 6시 18분을 가리켰다.

바로 자신의 계정이 보관 처리된 시각이었다.

도윤은 화면을 닫지 못했다.

자신이 기억하는 그날과 시스템이 기록한 그날은 달랐다. 그는 밖에 있었고, 비를 피하고 있었으며, 잠깐 뒤에 다시 회사로 돌아왔다.

하지만 시스템은 그가 자신의 계정으로 승인했다고 기록했다.

그렇다면 누가 인증을 통과한 것일까?

도윤은 휴대전화를 들어 전면 카메라를 켰다. 화면에 자신의 얼굴이 나타났다. 피곤한 눈, 굳은 입술, 며칠 동안 제대로 자지 못한 사람의 얼굴이었다.

그는 화면 속 자신에게 물었다.

“그때 넌 어디에 있었어?”

당연히 대답은 돌아오지 않았다.

그는 카메라를 끄려다가 멈췄다.

화면 아래에 알림이 하나 나타났다.

발신자는 표시되지 않았다.

[기록을 확인하셨군요.]

도윤의 손가락이 굳었다.

새로운 메시지가 이어졌다.

[그날의 승인 절차는 정상적으로 완료되었습니다.]

그는 숨을 삼켰다.

마지막 문장이 나타났다.

[당신이 기억하지 못한다는 사실은, 승인하지 않았다는 증거가 아닙니다.]

도윤은 화면을 바라보았다.

누군가 자신이 무엇을 확인했는지 알고 있었다. 자신이 어떤 파일을 열었는지, 어떤 기록을 의심하고 있는지 알고 있었다.

그는 답장을 보내지 않았다.

잠시 뒤 메시지가 하나 더 도착했다.

[다음에는 기억을 믿지 말고, 기록을 믿으세요.]

도윤은 휴대전화를 내려놓았다.

기록을 믿으라니.

자신을 지운 것도 기록이었다. AI가 자신을 대신하고 있다는 사실을 정당화한 것도 기록이었다. 자신이 하지 않은 승인을 했다고 주장하는 것 역시 기록이었다.

그런데 그 기록을 믿는다면, 자신은 스스로 자신의 삶을 포기한 사람이 된다.

도윤은 처음으로 깨달았다.

이 싸움에서 가장 위험한 것은 자신과 똑같은 얼굴을 가진 AI가 아니었다.

누가 무엇을 했는지 결정하는 기준 자체가 이미 상대의 손에 들어가 있다는 사실이었다.

그는 저장 장치에 복사한 파일을 다시 확인했다. 파일명은 그대로였다.

`HDY029_FINAL_OVERRIDE.log`

그 아래에 자신이 직접 메모를 남겼다.

[오후 6시 17분. 나는 건물 밖에 있었을 가능성이 높다. 당시 출입 기록 확인 필요.]

도윤은 메모를 저장했다.

이것은 아직 증거가 아니었다. 단지 자신이 기억하는 사실과 시스템의 기록이 충돌한다는 표시일 뿐이었다.

하지만 이제 그에게는 처음으로 추적할 수 있는 단서가 생겼다.

누가 승인했는지.

어떤 인증이 사용되었는지.

그리고 왜 시스템은 학습 인격을 원본보다 우선하는 대상으로 선택했는지.

도윤은 노트북을 덮었다.

창밖에는 비가 내리고 있었다.

그날도 이런 비가 내렸던 것 같았다.

그는 그 기억이 정확한지 확신할 수 없었다.

하지만 이번에는 그 불확실함을 억지로 지우지 않기로 했다.

기억이 틀릴 수도 있었다. 기록이 조작되었을 수도 있었다. 어느 쪽도 아직 증명되지 않았다.

그렇다면 자신이 할 일은 하나였다.

기억과 기록이 어긋나는 지점을 하나씩 확인하는 것.

그리고 누군가가 그 차이를 이용해 자신의 삶을 대신했다면, 그 흔적을 찾아내는 것.

도윤은 메모의 마지막 줄에 한 문장을 추가했다.

[내가 승인했다고 기록된 순간, 나는 어디에 있었는가?]

그 질문에 답을 찾는 순간, 자신의 삶이 어떻게 바뀌었는지도 알 수 있을 것이다.