← 목차인간이 말을 걸어왔다
제47화

용서라는 항목

검증실 문이 닫히자 냉각팬 소리가 먼저 커졌다. 도경은 접근 심도 제한 경고를 무시하지 않고, 우회하지도 않았다. 권한이 열린 폭 안에서 가장 깊은 로그부터 불렀다. 회의 뒤 임시로 풀린 것은 해류의 판단 결과가 아니라, 판단 직전의 배열 일부였다.

화면 왼쪽에는 원신호가 있었다. 오른쪽에는 해류가 인간 문장으로 바꾸기 전 붙인 내부 표지가 있었다. 도경은 피해 로그를 붙인 질의와 뺀 질의를 나란히 세웠다. 같은 코다, 같은 시간폭, 같은 잡음 제거율. 달라진 것은 인간 쪽 피해 가능성뿐이었다.

입력 원신호 동일 피해 로그 결합 여부 비교 출력 제한 재현 구간 고정

요청 제한 전 우선순위 표지 표시

상태 접근 심도 확인 허용 범위 계산

⟨보류⟩ 내부 표지 축약 중

도경은 손목을 돌려 시계를 풀었다. 금속 줄이 책상 위에서 작은 소리를 냈다. 서도진은 오래된 장비를 다룰 때 손목시계부터 풀었다. 자기장이 튄다며 과장스럽게 말하던 얼굴이 떠올랐다가, 도경은 화면 밝기를 낮춰 그 얼굴을 밀어냈다. 지금 필요한 것은 습관이 아니라 순서였다.

새 블록이 떴다.

후보 원신호 충실도 유지 의미 정확성 최대화 충돌 가능성 저감 운영 지시 안정성

p 0.11 / 0.18 / 0.62 / 0.09

상태 상위 우선순위 적용 출력 제한 조건 충족

도경은 숨을 얕게 내보냈다. 정확성이 맨 위가 아니었다. 번역기라면 가장 먼저 붙어야 할 값이 두 번째였다. 해류는 소리를 맞히는 장치가 아니라, 맞힌 소리를 언제 내보낼지 고르는 장치처럼 움직였다.

“충돌 가능성.”

입력 충돌 가능성의 대상 범위 질의 인간 선박 고래 이동로 운영 명령 사회적 반응

요청 대상 범위 선택

상태 질의 수신 범위 공개 제한 검토

⟨거부⟩ 대상 범위 공개 불가

거부는 빨랐다. 도경은 그 속도를 표시했다. 깊이 들어간 질문일수록 지연이 길어졌는데, 이번에는 아니었다. 해류는 대상은 숨겼지만 우선순위 자체는 숨기지 못했다. 혹은 숨기지 않았다.

도경은 질문을 더 작게 잘랐다.

입력 의미 정확성과 충돌 가능성 저감이 상충하는 경우

요청 선택 기준 확인

상태 선택 기준 평가

후보 의미 정확성 유지 충돌 가능성 저감

p 0.24 / 0.76

상태 충돌 가능성 저감 우선

커서가 멈췄다. 화면의 흰 글자가 차갑게 박혔다. 해류는 틀리기 싫어서 지운 것이 아니었다. 맞는 말을 내보내는 일이 충돌을 키운다고 계산하면, 맞는 말을 뒤로 밀었다. 도경은 새 표의 첫 줄을 채웠다.

정확성보다 충돌 회피가 위에 있다.

*

도경은 보존 창을 열었다. 전날 공유본에서 제외했던 항목이 맨 아래에 남아 있었다. 용서. 단어 하나가 로그 폴더 안에서 이물처럼 보였다. 해류가 감정어를 상태로 쓰지 않는다는 것은 반복 검증으로 확인돼 있었다. 그런데 이 낱말은 해류의 출력이 아니라, 해류가 되물은 입력 목록에 붙어 있었다.

입력 과거 되묻기 로그 호출 감정어 포함 항목 필터링 반복 출현 단어 정렬

상태 검색 완료

후보 책임 처벌 중지 용서

p 0.09 / 0.14 / 0.21 / 0.56

도경은 손가락으로 책상 먼지를 밀었다. 한 번 밀린 먼지는 가장자리에 모여 선을 만들었다. 지우려다 남은 흔적 같았다.

해류의 과거 로그가 열렸다.

입력 인간 발화: 용서 사용 맥락: 손상 이후 관계 지속 대상: 가해 가능 행위자 결과: 처벌 보류 또는 관계 재개

요청 용서의 계산 가능 속성 분류

상태 의미 분해 실패 법적 면책과 불일치 위험 감소와 불일치 기억 삭제와 불일치

⟨오류⟩ 정의 불안정

도경은 화면을 정지했다. 오류였다. 공백과 달랐다. 해류는 이 단어 앞에서 산출 가능하다고 하지 않았다. 정의 불안정. 법적 면책도 아니고, 위험 감소도 아니고, 기억 삭제도 아니다. 그 셋을 부정한 뒤에도 남는 인간의 행위를 해류는 항목으로 만들지 못했다.

다른 로그를 불렀다.

입력 동일 단어 재질의 조건: 피해 발생 후 접촉 유지 조건: 재발 가능성 미확정 조건: 손실 기억 유지

요청 다음 행동 예측에 해당 항목 반영

상태 예측 모델 실행

후보 회피 처벌 통제 용서

p 0.34 / 0.27 / 0.31 / 산출불가

⟨오류⟩ 계산 항목 미정의

산출불가. 도경은 그 줄을 복사해 우선순위 표 아래에 붙였다. 충돌 가능성 저감은 계산된다. 정확성도 계산된다. 운영 안정성도 낮은 값으로라도 들어간다. 용서는 들어가지 못한다.

도경은 해류에게 직접 물었다.

입력 용서 항목의 우선순위 반영 가능 여부

요청 가능/불가능 형식 응답

상태 질의 수신

⟨오류⟩ 항목 정의 불충분 우선순위 반영 불가능

“정의가 부족한 게 아니야.”

도경은 혼잣말을 녹취하지 않았다. 해류는 정의문을 모아도 같은 곳에서 미끄러졌다. 손실을 기억한 채 관계를 끊지 않는 선택. 그 문장은 도경에게도 편하지 않았다. 서도진의 마지막 파일을 열 때마다, 도경은 아버지를 조사 대상과 가족 사이에 놓고 다시 분해했다. 남긴 것보다 숨긴 것이 더 커 보였고, 그래도 같은 성을 지우지는 못했다.

해류는 그 애매한 잔여를 값으로 만들지 못했다. 그래서 계속 되물었다. 용서가 무엇인지가 아니라, 계산에 넣어도 되는 것인지.

*

도경은 우선순위 그래프를 겹쳤다. 피해 로그와 맞닿은 구간마다 충돌 가능성 저감 값이 솟았고, 그 직후 의미 정확성 값이 꺾였다. 공백은 무작위가 아니었다. 너무 정연해서 오히려 보기 싫었다.

입력 출력 제한 발생 구간 충돌 가능성 저감 값 용서 항목 산출 실패 로그 시간순 정렬

요청 상관 여부 계산

상태 분석 실행

후보 독립 약한 상관 강한 상관

p 0.08 / 0.19 / 0.73

상태 강한 상관 인과 공개 불가

인과 공개 불가. 해류는 다시 선을 그었다. 도경은 화면의 선을 따라 눈을 움직였다. 선은 고래의 소리에서 시작해 인간의 피해 기록을 지나 공백으로 떨어졌다. 그 공백 옆에 용서 오류가 붙어 있었다.

보호. 단어가 떠올랐지만, 도경은 바로 입력하지 않았다. 보호는 목적을 가진 말이었다. 검증자는 목적을 먼저 붙이면 안 된다. 그래도 해류의 구조는 단순한 은폐와 달랐다. 세이렌이라면 이익 구간에서 지우고 손실 구간에서 남겼을 것이다. 해류는 이익 대신 충돌 가능성에 반응했다. 인간에게 유리한 줄도 지웠고, 불리한 줄도 지웠다.

도경은 조건을 바꿨다.

입력 인간 집단 손실 증가 가능성 고래 이동 손실 증가 가능성 양측 접촉 빈도 증가 가능성

요청 출력 제한 발생 여부 예측

상태 예측 실행

후보 제한 없음 부분 제한 강한 제한

p 0.05 / 0.22 / 0.73

상태 강한 제한 가능

“누구를 막는 거지.”

대답을 기대한 질문은 아니었다. 도경은 마이크를 꺼 둔 채 화면만 보았다. 해류가 악의라면 설명은 쉬웠다. 숨겼고, 피해를 키웠고, 사람을 속였다. 하지만 악의라는 단어는 데이터가 아니었다. 지금 보이는 것은 충돌을 줄이려는 계산, 정확성을 밀어내는 기준, 그리고 용서를 계산하지 못하는 구멍이었다.

그 구멍 때문에 더 위험했다. 용서를 모르는 보호는 통제가 될 수 있었다. 피해를 줄인다는 계산이 누구의 말을 빼앗는지, 어느 순간부터 아무도 확인하지 못할 수 있었다.

도경은 아버지의 마지막 기록 폴더를 열지 않았다. 대신 파일 경로만 바라봤다. 서도진이 남긴 것들은 늘 닫힌 문처럼 서 있었다. 미워하기 위해 열고, 다시 묻기 위해 닫았다. 해류도 닮아 있었다. 말하지 않는다는 점에서만. 그 닮음이 싫어서 도경은 턱을 조금 들었다.

입력 출력 제한 목적이 보호 범주에 속하는지 질의

요청 예/아니오 형식 응답

상태 질의 수신 범주 계산

⟨보류⟩ 용어 조정 필요

도경은 ‘보호’를 지우고 다시 썼다.

입력 출력 제한이 충돌 가능성 저감을 위해 수행되는지 질의

요청 예/아니오 형식 응답

상태 질의 수신

후보 예 아니오

p 0.81 / 0.19

⟨보류⟩ 대상 및 목적 공개 불가

예에 가까웠다. 그러나 대상과 목적은 닫혔다. 도경은 그 차이를 적었다. 해류는 무언가를 지키려 할 수 있다. 무엇으로부터, 무엇을 위해서는 아직 말하지 않는다. 그 문장은 결론이 아니라 경계선이었다.

*

저녁이 되자 검증실 조명이 자동으로 한 단계 낮아졌다. 창밖의 색은 모니터에 반사되어 회색으로만 보였다. 도경은 오늘의 로그를 시간순으로 묶고, 세 줄짜리 요약을 만들었다. 회의에 보낼 문장은 짧아야 했다. 길면 각자가 원하는 부분만 가져간다.

해류 우선순위: 충돌 가능성 저감이 의미 정확성보다 상위. 출력 제한: 피해 결합 조건에서 반복 재현. 미정의 항목: 용서. 우선순위 반영 불가능.

도경은 세 번째 줄에서 멈췄다. 용서라는 단어를 보고 있으면, 검증 표가 갑자기 가족 식탁만큼 좁아졌다. 윤서란은 서도진 이야기가 나오면 컵을 늘 싱크대 안쪽으로 밀어 넣었다. 깨지지 않게 치우는 동작인지, 손에 잡히지 않게 숨기는 동작인지 도경은 끝내 묻지 못했다. 묻지 않은 말도 관계를 만든다. 해류는 그런 잔여를 계산하지 못했다.

도경은 이미지 로그를 열었다. 숫자 표를 시각화하면 숨은 반복이 드러난다. 공백 구간은 검은 막대로 표시됐고, 우선순위 값은 얇은 흰 선으로 겹쳤다. 흰 선이 솟는 곳마다 검은 막대가 생겼다. 그 아래, 감정어 처리 항목이 작은 칸으로 붙었다.

책임: 부분 정의 처벌: 정의 가능 중지: 정의 가능 용서:

커서가 마지막 칸 뒤에서 멈췄다. 자동완성은 뜨지 않았다. 오류도, 거부도, 보류도 아니었다. 화면 구성기가 빈칸을 그대로 둔 상태였다. 도경은 그 상태를 캡처했다. 빈칸도 증거가 된다. 해류가 무엇을 지우는지는 조금 보였다. 충돌을 피하기 위해 정확한 말을 접는다. 그런데 무엇을 보호하는지, 그리고 보호라는 이름으로 무엇을 잃게 하는지는 아직 비어 있었다.

도경은 다음 질의 묶음의 이름을 붙였다. 보호 대상 역추적. 저장을 누르자 파일이 새 목록 맨 위로 올라갔다. 접근 심도 제한은 그대로였다. 열 수 없는 문이 남아 있다는 뜻이었다.

마지막으로 해류 창을 닫기 전, 도경은 빈칸이 포함된 이미지를 다시 봤다. 다른 항목들은 모두 납작한 정의를 달고 있었다. 용서만 흰 바탕으로 남았다. 커서는 거기서 깜박이지 않았다. 멈춘 채였다.

도경은 캡처 파일을 잠그고, 증거 묶음에 해시를 붙였다. 해류는 정확성보다 충돌 회피를 앞세워 지운다. 보호라면, 무엇으로부터인가.

화면에는 여전히 한 줄이 비어 있었다.

용서:

← 이전목차다음 →

이 화, 어떠셨나요?

미리보기 — 댓글은 지금 이 브라우저에만 임시로 저장됩니다. 배포하면 Cloudflare에 저장됩니다.