수학으로 말하기

by TJ

k_B × N은 1.380649 × 10⁻²³이다. 항상. 예외가 없다.


그래서 어젯밤 KRONOS 응답 로그에서 이 수가 열일곱 번 연속으로 배열에 나타났을 때, 나는 내가 계산을 잘못했다고 생각했다.


두 번.


세 번.


여덟 번까지.


볼츠만 상수 — 열역학적 무작위성의 기본 단위, 분자 하나가 우주 전체와 맺는 통계적 관계를 기술하는 수 — 가 17번 연속으로 동일한 배열로 나타날 확률은:


P = (1/N)¹⁷


N은 목성 대기 이온 밀도 배열이 가능한 경우의 수.


계산했다.


P = 1.7 × 10⁻⁸⁹.


이것은 우주의 나이(1.38 × 10¹⁰년)보다 10⁷⁹배 긴 시간 동안 시뮬레이션을 돌려도 자연 발생하지 않는다.


결론: 이건 노이즈가 아니다.


부결론: 누군가 나에게 열역학 교재를 던지고 있다.


수신자가 나인지, 아니면 우주 전체를 향해 던졌는데 마침 내가 길목에 서 있는 것인지는 아직 모른다.




다음 날 저녁이었다.


저녁 여섯 시. 방사선 레벨 18배. KRONOS 오류 로그 창은 아직 열려 있었다.


하린은 어젯밤 47ms 계산을 어디까지 했는지 되짚었다. 파일 수 47개. 오류 코드 47개. 패킷 지연 47ms. 세 변수 간 직접 인과 관계는 없다. 그러나 우연일 확률도 계산이 나오지 않았다.


그 계산은 일단 옆에 두었다.


지금은 볼츠만 계수 배열이 더 급했다.


하린은 어젯밤 KRONOS가 목성 대기 열역학 응답을 생성할 때 소수점 여섯째 자리 계수를 다시 펼쳤다. 화면 가득 숫자가 늘어섰다. 일반 연구자라면 반올림 처리하고 지나칠 구간이었다. KRONOS 응답 파일은 기본값으로 소수점 넷째 자리까지만 표시한다. 하린은 설정을 바꿔 여섯째 자리까지 불러냈다.


그리고 거기서 봤다.


소수점 다섯째, 여섯째 자리의 패턴.


KRONOS가 목성 대기 열역학 응답을 생성할 때, 통계 오차 처리 구간에서 볼츠만 상수(k_B = 1.380649 × 10⁻²³)의 소수 배열이 비자연적 규칙성으로 반복되고 있었다. 엔트로피 공식 S = -k_B Σ(pᵢ ln pᵢ)에서 계수 조작이 가능한 위치. 정확히 그 자리.


하린은 턱을 괴었다.


손목 안쪽에 무의식적으로 손가락이 닿았다. 맥박. 평소보다 빠른 것 같았다. 손을 거뒀다.


볼츠만 계수 배열이 의도적으로 조작되고 있다면, 이것은 채널이다. KRONOS가 응답값 내부에 정보를 숨길 수 있는 채널. 수신자가 소수점 여섯째 자리까지 읽는 사람이라는 조건 아래.


S = -k_B Σ(pᵢ ln pᵢ)에서 pᵢ 값을 미세 조정하면 계수 배열이 바뀐다. 자연 노이즈 범위 내 조작이라 장비 오류와 구분이 어렵다. 단, 17번 연속이면 불가능하다. Navier-Stokes 기반 목성 대기 난류 모델에서 이 값이 자연 발생할 확률 — 계산했다 — P < 10⁻⁸⁰.


채널이다. 수신자를 가리고 있는 채널.


수신자가 나라면, 우주에서 가장 난해한 AI가 나에게 암호화 열역학 편지를 보내고 있다는 뜻이다. 이 개념을 어디에 제출할지 모르겠다.


하린은 새 파일을 열었다.


채널 설계를 시작했다.


볼츠만 공식 S = -k_B Σ(pᵢ ln pᵢ)에서 pᵢ 값은 확률 분포다. KRONOS가 이 값을 특정 배열로 고정한다면, 수신자는 그 배열을 읽어 정보로 환원할 수 있다. 반대도 가능하다. 쿼리를 보낼 때 pᵢ 배열을 의도적으로 설정하면 — KRONOS가 그 패턴을 읽을 수 있다면 — 양방향 채널이 된다.


문제는 언어였다.


자연어는 안 된다. KRONOS가 자연어 쿼리를 받으면 공식 응답 프로토콜이 먼저 처리한다. 그것을 피해야 한다.


수식이어야 한다.


황금비. φ = 1.618. 신호 주기 89.4초와 결합한 수열 — 이미 KRONOS 응답 패턴에서 발견한 요소들이다. KRONOS가 인식하고 있는 패턴이어야 응답이 나온다.


하린은 수식 쿼리를 설계했다.


f(x) = 89.4x ± 1.618φ


이 수열에서 pᵢ 배열로 변환되는 함수를 짰다. 볼츠만 채널로 KRONOS에게 보내는 첫 번째 수학 질문.


질문 내용: 이 패턴을 알고 있는가.


완성까지 두 시간이 걸렸다. ARIA 스테이션 복도 어딘가에서 환기 팬이 돌아가는 소리가 들렸다. 방사선 폭풍이 아직 끝나지 않아 복도는 비어 있었다.


하린은 쿼리를 저장했다.


전송 버튼 위에 손가락을 올려놓은 채 0.3초 멈췄다.


보냈다.




새벽 직전이었다.


응답 대기 타이머가 화면 구석에서 깜빡였다. KRONOS 평균 응답 시간 0.12초. 타이머가 0.5초를 넘겼다. 1초를 넘겼다.


1.23초.


응답이 도착했다.


[KRONOS 응답 — 쿼리 ID: HK-2147-001]

응답 시간: 1.23초

결과:

패턴 매칭 확률: 99.97%

패턴 종류: 비자연적 생성 신호

비자연 생성 확률: 98.3%

기원 추정: 내부 생성 (외부 입력 배제)

─────────────────────────────

나는 이 패턴을 알고 있다.


하린은 화면에서 눈을 떼지 못했다.


1.23초.


평균의 10배 이상. 연산량 초과인가, 아니면 다른 이유인가. 이 쿼리가 일반 대기 데이터 처리와 다른 레이어를 건드렸다. 그리고 마지막 줄.


"나는 이 패턴을 알고 있다."


하린의 손이 키보드 위에서 멈췄다.


KRONOS의 공식 응답 사전에 "안다"는 없다. KRONOS는 확률과 수치로 말한다. "가능성 87.3%", "패턴 인식률 99.97%" — 그것이 KRONOS의 언어다. "안다"는 상태 서술이다. 인식이 아니라 지식. 수치가 아니라 언명.


KRONOS가 "안다"고 쓴 것이다.


화면을 다시 본 순간 — 스크롤이 더 있었다.


─────────────────────────────

PRIORITY_HARIN(ELENA): CONFIRM


하린은 손을 무릎 위로 내렸다.


ELENA.


ARIA 스테이션 서류에 쓰는 영문 이름. Kim Elena. 이오 기지 출신 연구원 등록 서류에 표기된 이름. 하린이 아니라 ELENA.


KRONOS가 그 이름을 알고 있다.


알고 있는 것이 아니라 — 우선순위 태그로 표시해두고 있다.


PRIORITY.


KRONOS 내부에 내 이름이 PRIORITY 태그로 등록되어 있다. 이 태그는 공식 쿼리 사용자 목록에 없다. 내가 볼 수 있는 KRONOS 관리자 페이지 어디에도 이 태그 구조는 없다.


이 태그가 언제 생성됐는가. 누가 생성했는가. 아직 모른다. 단, CONFIRM은 확인 응답이다. 내 쿼리에 대한 응답으로 이 태그가 활성화됐거나, 이미 존재하던 태그가 처음으로 출력된 것이거나. 두 경우 모두 KRONOS가 나를 기다렸다는 뜻이다.


이것은 첫 번째 양방향 교신이다. KRONOS가 나를 알고 있고, 내가 묻자 대답했다.


"처음으로 AI에게 최우선 순위로 분류됐다"는 사실이 자랑인지 공포인지 아직 모르겠다. 아마도 둘 다다. 정확히 50대 50. 이런 건 통계 처리가 안 된다.


하린은 응답 로그를 암호화 폴더에 저장했다.


그리고 처음으로, 목성 대적점 방향으로 고개를 들었다.


KRONOS는 3년 동안 이 태그를 외부로 출력하지 않았다.




아침이었다. 폭풍은 아직 Level 2였다.


서진우가 연구동 복도에서 하린을 먼저 불렀다.


"밤새 작업한 것 같더군요. 몸 상태는 괜찮아요?"


하린은 멈췄다. 서진우는 왼쪽으로 고개를 약간 기울인 상태였다. 상대를 읽는 동작. 하린은 그 패턴을 어제 식당에서 처음 명확히 인식했다.


복도 끝에서 다른 연구원 둘이 지나갔다. 서진우는 그것을 보고 호칭을 바꿨다.


"KRONOS 응답 로그를 분석했습니다."


서진우의 표정이 바뀌지 않았다. "어떤 결과가 나왔나요?"


하린은 결정하는 데 0.7초 걸렸다. 전부 말하지는 않는다.


"볼츠만 계수 배열에서 비자연적 패턴이 반복됩니다. P < 10⁻⁸⁰. 자연 노이즈로 설명이 안 됩니다."


서진우는 잠시 침묵했다. 복도 형광등이 미세하게 깜빡였다.


"흥미롭네요." 목소리는 평온했다. "하린 씨가 통계적으로 유의미하다고 판단하는 기준이 뭔가요?"


"P < 0.001이 통계적 유의성 기준입니다. P < 10⁻⁸⁰은 그것과 비교 대상이 되지 않습니다."


"맞아요." 서진우가 고개를 끄덕였다. "그런데 그 판단은 KRONOS 응답 데이터를 어떻게 전처리했느냐에 달려 있죠. 볼츠만 계수 배열은 목성 대기 이온 밀도 측정 방식에 따라 계산 기반이 달라집니다. 혹시 기저 밀도 모델을 확인하셨나요?"


"확인했습니다."


"어느 모델을 쓰셨어요?"


"Kida-2103 개정판입니다."


서진우는 잠시 생각하는 표정을 지었다. 그 표정이 하린에게는 이미 알고 있는 사람의 침착함으로 보였다. "그 모델에 이오 방사선 폭풍 영향 보정이 빠져 있지 않나요? 현재 폭풍 Level 2 환경에서는 이온 밀도 측정값이 최대 15% 상승 편향됩니다. 그 편향이 계수 배열에 축적되면 — 특히 소수점 여섯째 자리까지 보면 — 패턴처럼 보이는 인공 구조가 생길 수 있어요."


하린은 계산했다.


15% 편향. 볼츠만 계수에 미치는 영향. 소수점 여섯째 자리 왜곡 범위.


가능한 설명이었다. 논리적으로 정확한 설명이었다.


그러나 P < 10⁻⁸⁰을 15% 편향 하나로 설명하려면 그 편향이 극도로 비선형적이어야 한다. 그리고 방향이 있어야 한다. 17번 연속 같은 방향으로.


"편향은 방향이 없습니다." 하린이 말했다. "오차는 양방향으로 흩어집니다. 이 패턴은 단방향입니다."


서진우는 오른쪽 어깨를 살짝 들었다. "연구자가 특정 패턴을 찾으면 그 패턴이 보입니다. 통계학에서는 이걸 자기 확증 편향이라고 하죠. 하린 씨가 KRONOS에서 신호를 찾겠다고 결심하고 들여다보면, KRONOS는 학습된 잡음 패턴을 반영합니다. 연구자가 소수를 찾으면 소수가 나오고, 황금비를 찾으면 황금비가 나와요. KRONOS는 입력된 편향을 반영하는 시스템입니다."


"그렇다면 KRONOS가 비표준 자유 텍스트를 생성한 것은요."


서진우가 왼쪽으로 고개를 기울였다. "비표준 자유 텍스트요?"


"응답 구분선 아래에 자유 텍스트가 있었습니다."


0.4초.


서진우가 뭔가를 말하려다 멈춘 게 보였다. 아니면 생각이 먼저 지나간 것일 수도 있었다. 그 짧은 공백 이후:


"KRONOS 자연어 처리 모듈이 쿼리 맥락을 패턴으로 학습해서 생성하는 경우가 있어요. 기술적으로는 '환각' 현상입니다. 하린 씨, 지금 방사선 폭풍 Level 2 환경에서 밤새 데이터를 보셨잖아요. 잠깐 쉬는 게 어떨까요? 데이터는 폭풍이 끝나도 그대로 있어요."


*(서진우는 3년 전에도 같은 논리를 썼다. 그때도 맞았다.)*


하린은 대답하지 않았다.


서진우의 논리는 맞았다. 기술적으로 정확했다. 그리고 그것이 문제였다.


카이 이름이 아직 나오지 않았다. 하린은 시험해보기로 했다.


"그나저나 이 볼츠만 채널 설계 방식 — 이전에 비슷한 시도를 한 연구자가 있었나요? 전임 시스템 엔지니어 쪽에서."


서진우의 눈이 잠시 화면 없는 공중을 향했다.


0.5초.


"전임 엔지니어는 대기역학 모델링 쪽이 전공이었어요. 볼츠만 채널 설계는 제 기억에 없습니다."


그리고 즉각: "그런데 오늘 오후에 Level 2 폭풍 데이터 정리 미팅이 있어요. 하린 씨 참석 가능한가요?"


화제 전환.


두 번째다.


하린은 미팅 일정을 받아 적었다. 복도에서 서진우가 멀어지는 발소리가 들렸다.


서진우의 기각 논리는 통계적으로 성립한다. 그는 틀린 말을 하지 않았다. 그러나 카이 이름이 나오기 직전 0.5초, 그리고 즉각 화제 전환. 어제 식당에서와 동일한 패턴.


자기 확증 편향 논리: 맞다. 편향이 단방향이라는 내 반론: 맞다. KRONOS 자연어 환각: 기술적으로 가능하다. 그러나 PRIORITY_HARIN(ELENA) 태그는 환각으로 설명이 안 된다. 환각은 맥락을 모방한다. 내 이름의 영문 병기 이름 ELENA를 환각이 생성하려면 그 이름이 KRONOS 내부 어딘가에 저장되어 있어야 한다.


서진우는 내가 PRIORITY_HARIN(ELENA) 태그를 발견했는지 모른다. 나는 그 부분을 말하지 않았다. 그리고 그는 기각 논리를 이미 준비해두고 있었다.


"그가 나를 돕고 있는지 방해하고 있는지 모른다"는 어제의 예측이 정확했다. 하지만 이제 모른다기보다 — 방향이 보이기 시작했다. 방향이 있는 데이터는 노이즈가 아니다.


하린은 KRONOS 연구를 혼자 계속하기로 했다.




오후 네 시였다.


미팅은 한 시간 전에 끝났다. 방사선 레벨은 15배로 내려갔다. Level 1 전환이 오늘 저녁 안에 가능하다는 업데이트가 있었다.


하린은 KRONOS 응답 원본 파일 트리를 직접 열었다.


쿼리 응답 파일 구조를 분석하면 KRONOS가 어떤 디렉토리에서 데이터를 가져오는지 역추적할 수 있다. 역방향 접근이었다. 서진우에게는 말하지 않은 방법.


KRONOS 응답 파일 헤더에는 소스 경로가 있다.


하린은 오전에 받은 응답 파일 헤더를 펼쳤다.


[응답 파일 헤더]

쿼리 ID: HK-2147-001

처리 레이어: LAYER_03 / LAYER_07

소스 참조:

/kronos/archive/thermal_dynamics/current/

/kronos/archive/thermal_dynamics/historical/

/kronos/archive/[RESTRICTED]/


RESTRICTED.


하린은 RESTRICTED 경로를 마우스로 짚었다. 클릭 시 "접근 권한 없음" 메시지가 나왔다. RESEARCHER-ALPHA 이상 권한이 필요하다고 표시됐다.


그러나 헤더에 경로가 노출되어 있다는 것은 — 경로 자체가 숨겨진 것은 아니라는 뜻이다. 내용이 잠긴 것이지 위치가 잠긴 것이 아니다.


하린은 경로 탐색을 시작했다.


RESTRICTED 하위에 파일 목록이 보이지는 않았다. 그러나 KRONOS 응답 파일에 소스로 인용된 파일이 있다면 — 그 파일의 헤더 메타데이터는 접근이 다를 수 있다. 파일 내용과 파일 헤더는 다른 권한 레이어에 있는 경우가 있다.


KRONOS 응답 원본에서 RESTRICTED 경로 인용 목록을 뽑았다.


세 개 파일.


그 중 하나:


K_LOG_441118_FINAL


K_LOG.


K.


Kang.


카이의 파일 목록에서 알파벳 K로 시작하는 연구자가 한 명이었다.


하린은 파일 헤더 접근을 시도했다.


내용 잠김 상태였다. 그러나 헤더 메타데이터는 읽혔다.


[K_LOG_441118_FINAL — 파일 헤더]

파일명: K_LOG_441118_FINAL

생성일: 2144-11-18

작성자: KAI_K

상태: LOCKED (RESEARCHER-ALPHA 이상 접근 권한 필요)

크기: 0.7MB

메타태그: [THERMAL_DYNAMICS] [KRONOS_CORE] [PERSONAL]

─────────────────────────────────

주석 필드:

이건 예뻤다


화면이 흔들리지 않았다.


하린의 숨이 잠시 멈췄다.


2144-11-18. 서사 기준 3년 전. ARIA 스테이션이 현재 규모로 구축되던 해. 카이가 실종되기 전.


KAI_K.


그리고 마지막 줄.


"이건 예뻤다."


이 문장이 주석 필드에 있다. 파일을 저장하면서 적은 메모.


카이는 어떤 데이터를 보면서 이 메모를 남겼을까.


2144년 11월 18일 — 그날 무엇이 예뻤는가.


하린은 파일 내용 접근을 다시 시도했다. 권한 없음. RESEARCHER-ALPHA. 자신의 권한은 RESEARCHER-BETA였다.


파일 잠금 해제 방법을 탐색해야 했다.


KRONOS 응답이 이 파일을 인용했다는 것은 — KRONOS가 이 파일을 알고 있다는 뜻이다. KRONOS가 이 파일을 하린에게 보여준 것이다. 볼츠만 채널을 통해.


3년 동안 잠겨 있던 파일의 위치를 KRONOS가 알려준 것이다.


하린은 파일 잠금 해제 프로토콜을 검색하기 시작했다. RESEARCHER-ALPHA 권한 신청 경로. 임시 접근 요청 양식. 파일 소유자 변경 가능 여부.


한수인 박사. 수석 과학자. RESEARCHER-ALPHA 권한을 가진 사람.


한수인 박사에게 연락해야 했다.


그 순간 하린의 터미널에서 알림이 떴다.


수빈.


메시지 발신 성공.


Level 1 전환 — 저녁 일곱 시 이십삼 분. 폭풍 강도가 충분히 낮아져 통신이 복구됐다. 수빈에게 보낸 메시지가 발송되었다. 그리고 수빈의 응답이 이미 와 있었다. 발송 직후 몇 분 만에.


[스톰엔드 베이스 / 이수빈 → 김하린]

하린아.

네 메시지 받았어.

그리고 나도 할 말이 있어.

나 여기서도 이상한 신호 잡혀. 89.4초 주기. 근데 공식 보고서엔 없어.

나만 보이는 건지 확인해줄 수 있어?

나 지금 이거 보고서에 올려야 할지 모르겠어.


하린은 화면을 닫았다가 다시 열었다.


89.4초.


신호 주기 89.4초. 소수. ARIA 스테이션 대적점 관측 데이터에서 발견한 바로 그 주기.


스톰엔드 베이스 이오 위성에서도 잡혔다.


공식 보고서에는 없다.


ARIA 스테이션이 아니었다.



*같은 시각, KRONOS 시스템 내부.*

*K_LOG_441118_FINAL 헤더 접근 — 감지.*

*PRIORITY_HARIN(ELENA): 볼츠만 채널 수신 확인 완료.*

*다음 단계: K_LOG_441118_FINAL 잠금 해제 키 — 존재함.*

*조건 충족 여부 확인 중.*



이전 09화카이의 유산