← 작품으로
승률 100% AI를 가진 스포츠 분석가1화

승률 100% AI를 가진 스포츠 분석가

승률 100% AI를 가진 스포츠 분석가

AD
스폰서 광고

1화: 폐기 서버의 콘솔

강도윤은 메일 제목을 세 번 읽었다.

계약 종료 및 인수인계 안내.

본문은 열 줄도 되지 않았다. 다음 주 금요일부로 계약을 종료한다. 미사용 연차는 정산한다. 개인 물품은 사전에 정리한다.

마지막 문장을 읽을 때마다 사무실에 남아 있던 자기 자리까지 이미 비워진 것처럼 보였다.

창밖의 도로에는 비가 얇게 번지고 있었다. 밤 열 시가 넘은 라인업메트릭스 사무실은 절반의 조명만 켜져 있었다. 빈 책상마다 퇴근한 사람들의 머그컵과 충전 케이블이 남아 있었다.

도윤의 책상에는 종이 한 장만 새로 놓여 있었다. ‘폐기 대상 서버 정리 및 데이터 이관 보조’. 계약이 끝나는 사람에게 맡기기 좋은 일이었다.

휴대폰이 진동했다.

[새빛카드] 6월 18일 결제 예정 금액 1,840,000원

도윤은 화면을 뒤집었다. 통장 잔고를 확인할 필요는 없었다. 카드값 다음에는 대출 이자가 왔다. 다음 주가 지나면 급여도 끊겼다.

“아직 있었어?”

등 뒤에서 임상무의 목소리가 들렸다.

도윤은 자리에서 고개를 들었다. 임상무는 퇴근 가방을 어깨에 멘 채 그의 모니터를 내려다봤다. 화면에는 두 달째 보류된 북부리그 분석 보고서가 열려 있었다.

“정리하라는 건 다 봤습니다.”

“그래. 내일부터는 서버 쪽 먼저 해. 남은 프로젝트 파일도 네가 분류하고.”

“보고서는요?”

임상무가 짧게 한숨을 쉬었다.

“그걸 아직 붙들고 있나. 도윤 씨 보고서는 너무 복잡해. 고객은 누가 이길지 듣고 싶어 하지 이동 거리랑 교체 타이밍을 듣고 싶어 하는 게 아니야.”

“복잡한 게 아니라 근거입니다.”

“근거는 적중했을 때만 근거지.”

임상무는 모니터 옆을 손가락으로 두 번 두드렸다.

“일 잘한 건 알아. 그런데 회사가 지금 키울 사람을 고르는 상황이 아니야. 기분 상하지 않게 정리하고 가.”

그 말은 위로처럼 들리지 않았다. 너를 내보내는 일에 감정 낭비를 하지 말라는 통보였다.

임상무가 나간 뒤 도윤은 한동안 커서만 바라봤다. 서른하나. 분석팀 막내로 들어와 야근을 견디면 언젠가 자기 이름으로 리포트를 팔 수 있을 거라 믿던 때도 있었다.

하지만 남은 건 계약 종료 메일과 카드 결제 알림이었다.

도윤은 보고서를 닫지 않았다.

북부리그의 해솔 타이탄스와 로엔 유나이티드 경기였다. 시장은 홈팀 해솔 쪽으로 기울어 있었다. 연승 기록이 좋고 공격수의 득점 순위도 높았다. 화면만 훑으면 누구나 그렇게 판단할 경기였다.

도윤은 원정팀의 최근 다섯 경기 영상을 잘게 잘라 둔 폴더를 열었다. 로엔의 수비형 미드필더는 지난 경기에서 전반만 뛰었다. 기사에는 가벼운 컨디션 조절이라고 적혀 있었다.

그런데 도윤은 그 선수가 오른발로 방향을 바꾸지 않는 장면을 여섯 번 봤다. 부상이 아니라면 습관이 바뀔 이유가 없었다. 상대 팀이 그쪽을 집중 공략하면 로엔은 무너질 수 있었다.

문제는 배당이었다. 오후 다섯 시부터 로엔 승리 배당이 조금씩 내려가고 있었다. 큰돈이 한꺼번에 몰린 모양도 아니었다. 거래량보다 가격이 먼저 움직였다.

도윤은 두 개의 그래프를 겹쳤다. 같은 시간대에 원정팀의 선발 명단을 묻는 검색량이 튀어 있었다.

누군가가 아직 공개되지 않은 무언가를 알고 있었다.

그가 그 문장을 보고서에 쓴 순간 임상무는 결재를 반려했다. ‘추정에 기대는 표현 삭제’. 빨간 코멘트는 아직도 지워지지 않았다.

메신저 알림이 떴다.

윤민서: 안 갔어?

도윤은 짧게 답했다.

강도윤: 이제 서버 치우러 가야지.

몇 분 뒤 민서가 종이컵 두 개를 들고 그의 자리로 왔다. 커피는 이미 미지근했다. 민서는 도윤의 메일 창과 보고서 제목을 차례로 확인했다.

“받았구나.”

“친절하지. 내일 할 일까지 적어 줬어.”

“임상무가 폐기 랙까지 넘겼다고?”

“나가는 사람이 하면 기록도 깔끔해지잖아.”

민서는 웃지 않았다. 그녀는 모니터에 떠 있는 그래프를 보다가 턱을 살짝 굳혔다.

“그 보고서 또 만지고 있었어?”

“고치는 게 아니야. 빠진 걸 넣는 거지.”

도윤은 배당 흐름을 확대했다.

“여기 봐. 이건 일반적인 매수 흐름이 아니야. 뉴스가 뜨기 전부터 가격이 바뀌어. 경기력 지표랑 안 맞는 방향으로.”

“그걸 보고서에 썼어?”

“썼지. 시장이 알고 있는 정보가 따로 있을 수 있다고.”

“지워.”

민서의 대답은 빨랐다.

도윤은 고개를 돌렸다.

“왜?”

“증명 못 하잖아. 지금 회사 분위기에서 그 문장 남기면 너한테만 돌아와.”

“그럼 보이는 걸 못 본 척해?”

“아니. 살아남을 방법을 찾자는 거야.”

민서의 목소리는 낮았지만 단호했다. 도윤은 그 말이 걱정이라는 걸 알았다. 그래서 더 짜증이 났다. 살아남는 방법이란 말은 늘 뭔가를 포기한 사람의 말처럼 들렸다.

민서는 대답을 기다리지 않고 주머니에서 출입증을 꺼냈다. 책상 위에 놓인 카드에는 보안팀 임시 권한 스티커가 붙어 있었다.

“B서버실 맨 안쪽 랙만 봐. 자정 되면 권한 끊겨.”

“네 카드잖아.”

“내가 준 적 없다고 할 거야.”

도윤이 출입증을 들자 민서는 그의 손등을 한 번 내려다봤다. 손가락 관절이 하얗게 굳어 있었다.

“파일만 옮겨. 이상한 거 있으면 열지 말고.”

“서버 정리하는데 이상한 걸 안 열면 뭘 정리해.”

“도윤아.”

그녀는 더 말하려다 멈췄다. 대신 식은 커피를 그의 키보드 옆에 놓고 돌아섰다.

도윤은 출입증을 쥔 채 한참 앉아 있었다. 민서가 왜 그렇게까지 말렸는지는 몰랐다. 다만 그녀가 몇 년 전 중단된 승부조작 탐지 프로젝트 이야기를 피한다는 건 알고 있었다.

복도 끝 B서버실은 필요 이상으로 추웠다. 출입증을 대자 잠금장치가 한 번 붉게 깜빡였다가 열렸다.

문을 여는 순간 찬 공기와 팬 소리가 밀려왔다. 랙 위에는 폐기 예정이라는 노란 스티커가 줄지어 붙어 있었다. 케이블은 정리되지 않은 채 바닥으로 늘어졌고 붉은 상태등은 어둠 속에서 작은 눈처럼 깜빡였다.

도윤은 관리 목록을 태블릿에 띄웠다. A-12부터 A-31까지. B-03부터 B-18까지. 장비 번호와 실제 위치를 맞추며 이관 대상 폴더를 옮겼다.

열 번째 장비에서 손이 멈췄다.

목록에는 없는 서버가 맨 아래 랙에 끼어 있었다. 검은 케이스 한쪽에는 오래된 자산 태그가 반쯤 뜯긴 채 붙어 있었다.

M-17 / 이관 보류

폐기 대상이라면 전원이 꺼져 있어야 했다. 그런데 M-17의 상태등은 살아 있었다.

도윤은 케이블을 따라가 보았다. 사내망과는 분리되어 있었지만 내부 저장장치만은 열려 있었다. 누군가 의도적으로 혼자 남겨 둔 장비 같았다.

‘이관 보류’라는 말은 보통 두 가지 뜻이었다. 누군가 책임지기 싫거나 누군가 아직 쓰고 있거나.

민서의 경고가 떠올랐다. 이상한 거 있으면 열지 말고.

도윤은 태블릿 시계를 확인했다. 자정까지 사십이 분.

서버 하나를 지나친다고 달라질 건 없었다. 계약 종료 메일도 카드값도 그대로였다. 하지만 누군가가 회사의 폐기 목록에서 장비 하나를 빼놓았다면 그 이유만은 확인하고 싶었다.

그는 유지보수 포트에 노트북을 연결했다.

오래된 리눅스 콘솔이 검은 화면에 떠올랐다. 폴더 이름은 숫자와 날짜뿐이었다. 이관 로그는 작년 겨울에서 끊겨 있었다.

도윤은 마지막 접근 기록부터 훑었다. 삭제 예약 작업이 자정 십 분 전으로 잡혀 있었다. 그보다 눈에 띄는 건 오늘 날짜의 실행 기록이었다.

22:14:08 process resumed

폐기 예정 서버에서 오늘 프로세스가 재개됐다.

도윤은 로그의 앞부분을 열었다. 익숙한 약어가 눈에 걸렸다. MPD-SCAN. 민서가 예전에 쓰던 이상 패턴 탐지 모듈의 내부 이름이었다. 그녀가 처음 입사했을 때 몇 번 보여 준 테스트 화면에서 본 적이 있었다.

그 아래에는 다른 실행 파일이 하나 있었다.

ORACLE_MATCH_RESULT

파일의 생성자는 비어 있었다. 설명도 없었다. 다만 실행 날짜는 오늘이었다.

도윤은 손을 멈췄다. 민서가 남긴 것일까. 아니면 민서도 모르는 누군가가 이 서버를 계속 만지고 있었던 걸까.

복도에서 문이 닫히는 소리가 났다.

도윤은 본능적으로 모니터를 낮췄다. 잠시 뒤 아무 소리도 들리지 않았다. 팬 소리만 귓속을 긁었다.

그는 다시 화면을 봤다.

‘열지 말라’는 말은 대개 열어야 할 이유가 있다는 뜻이기도 했다.

도윤은 파일을 실행했다.

검은 창 한가운데 흰 글자가 떠올랐다.

관측 대상을 입력하십시오.

그는 헛웃음을 삼켰다. 사내 테스트 프로그램이라면 입력 형식부터 알려 줘야 했다. 이름부터 과장됐다. 오라클이라니.

도윤은 손가락을 키보드 위에 올렸다. 떠오른 것은 내일 새벽 경기 목록이었다. 북부리그보다 훨씬 아래인 동부 하부리그 농구. 방송도 없고 기사도 거의 나오지 않는 경기였다.

시장도 크게 움직이지 않는 경기라면 적어도 누군가의 홍보용 장난일 가능성은 낮았다.

그는 경기명을 입력했다.

아크 시티 폭스 vs 리버튼 헤이즈

잠시 아무 일도 일어나지 않았다.

도윤은 창을 닫으려 했다.

그때 검은 화면이 한 번 깜빡였다.

경기 시작까지 05:13:47

최종 결과: 리버튼 헤이즈 승

예상 점수 범위: 78-74 ~ 83-79

핵심 변수: 3쿼터 04:12 이전 주전 가드 출전 제한

관측 비용: 1%

도윤의 손끝이 키보드에서 떨어졌다.

승패 예측 프로그램은 널렸다. 과거 기록을 긁어 와 확률을 계산하는 서비스도 많았다. 하지만 점수 범위와 쿼터의 분 단위 변수까지 한 줄로 내놓는 방식은 처음 봤다.

더 이상한 것은 마지막 문장이었다.

관측 비용.

서버 사용료인가. 데이터 호출 한도인가. 프로그램에 그런 설명은 없었다.

도윤은 출전 명단 사이트를 열었다. 리버튼의 주전 가드는 정상 출전 예정이었다. 부상 기사도 없었다. 실시간 배당은 아크 시티 쪽으로 기울어 있었다.

화면 속 예측은 현재의 상식과 반대였다.

그는 다시 콘솔을 바라봤다. 재질문 버튼도 도움말도 보이지 않았다. 오직 입력창만 조용히 깜빡였다.

자정까지 남은 시간은 삼십 분이었다.

새벽 경기까지는 다섯 시간 남아 있었다.

도윤은 모니터에 뜬 리버튼 헤이즈라는 이름을 한 번 더 읽었다.

그리고 처음으로 계약 종료 메일보다 그 검은 화면이 더 무서워졌다.

AD
스폰서 광고
YOU MAY ALSO LIKE

이런 작품은 어때요?