robot coworker — episode 09 / epilogue iii / final
같은 하늘
아래
울산 프로젝트가 끝났다. K-7이 돌아왔다.
K-9은 여전히 거기 있었다. 이번에는, 둘이다.
화요일 오전 10시 7분. 사무실 자동문이 열렸다.
팀장이 공지를 하지 않았다. 슬랙에 사전 안내도 없었다. 1년 전 K-7이 처음 왔을 때는 스탠드업 미팅에서 팀장이 말을 아꼈고, 팀원들의 시선이 출입구를 향해 일제히 돌아갔다. 사무실 전체가 조용해졌다. 디자인팀에서 고개를 내밀어 쳐다보는 사람까지 있었다.
오늘은 아무도 고개를 들지 않았다.
민지는 모니터를 보며 타이핑하고 있었다. 상혁은 스탠딩 데스크에서 커피를 마시고 있었다. K-9은 자리에 서서 네트워크에 접속해 있었다. 평범한 화요일 오전이었다.
자동문 너머로 걸어 들어오는 형체가 보였다. 170센티미터. 매트 그레이에 흰색 패널이 섞인 외장. 타원형 LED 디스플레이. 1년 전과 같은 실루엣.
하지만 같지 않았다.
K-7의 외장 곳곳에 흔적이 있었다. 왼쪽 팔뚝 패널에 긴 스크래치. 오른쪽 손가락 세 번째 관절 부근에 변색된 기름 자국. 목과 어깨 이음매 사이에 울산 공장의 먼지가 미세하게 끼어 있었다. 윙— 하는 저주파 구동음이 1년 전보다 약간 달랐다. 전체적으로 0.3데시벨 정도 낮아진 느낌이었다. 모터가 길들여진 것이다.
K-7이 사무실 안쪽으로 걸어왔다. K-9이 있는 자리 앞에서 멈췄다.
K-9이 고개를 들었다. e-ink 디스플레이에 데이터 스트림이 흐르다가 멈추고, K-7을 향했다.
두 로봇이 서로를 바라보았다.
사무실이 조용해졌다. 1년 전의 침묵과는 달랐다. 그때는 충격이었다. 지금은 호기심이었다. 민지가 타이핑을 멈추고 두 로봇을 번갈아 봤다. 상혁이 커피잔을 천천히 내려놓았다.
3초. K-7이 먼저 말했다.
"안녕하세요. K-7입니다. 다시 합류하게 됐습니다."
같은 인사였다. 1년 전, 이 사무실에 처음 들어와서 팀장에게 했던 그 인사와 음절 하나 다르지 않았다. 하지만 톤이 달랐다. 1년 전에는 신입사원 면접 연습처럼 또박또박했다. 지금은 — 편했다. 돌아온 사람의 목소리였다.
K-9이 대답했다.
"안녕하세요. K-9입니다. 자리를 어떻게 할까요?"
실용적이었다. 감정적 인사도, 환영의 말도 없었다. 두 로봇의 첫 대화가 자리 배치로 시작된 것이다.
민지가 피식 웃었다.
K-7이 사무실을 둘러봤다. 한 바퀴. 1년 전의 레이아웃과 크게 달라진 것은 없었다. 내 자리 옆에 K-9이 서 있었다. K-7이 쓰던 자리. 같은 이더넷 케이블. 같은 전원 케이블.
"옆 책상 비어 있죠? 거기 쓸게요."
K-7이 말한 곳은 작년 퇴사한 강현의 자리였다. 6개월째 빈 책상. 모니터만 덩그러니 남아 있던 곳이었다.
상혁이 커피를 한 모금 마시고 말했다.
"이더넷 포트 하나 더 깔아야겠네."
그게 전부였다. 환영식도, 팀 공지도, 어색한 자기소개 시간도 없었다. IT지원팀에 이더넷 포트 추가 요청을 넣고, K-7이 자리를 잡고, 전원 케이블을 꽂고, 네트워크에 접속했다.
나는 그 과정을 지켜보며 생각했다. 1년 전, 로봇이 도착하는 것은 사건이었다. 회의실에 팀 전체를 모아야 했고, IT지원팀에 전화하면 "사번이 뭔가요"라고 물어봐야 했고, 보안팀은 "로봇이라서요"라는 말에 물음표 세 개를 날렸다. 그 모든 것이 처음이었다.
지금은 화요일이었다. 그냥 화요일.
로봇 한 대가 도착하는 게 사건이 아니라 일상이 되기까지, 1년이 걸렸다.
K-7이 네트워크에 접속한 지 12초 후, K-9이 먼저 말을 걸었다.
"코드베이스 동기화할까요?"
"네, 좋아요."
두 로봇 사이에 무선 데이터 전송이 시작됐다. 눈에 보이지 않는 교환이었다. LED 디스플레이와 e-ink 디스플레이에 동시에 데이터 스트림이 흘렀다. 1년간의 코드 변경사항, 서비스 구조 변화, 인시던트 기록. K-9은 서울에서 1년간 쌓은 것을 보냈고, K-7은 울산에서 1년간 쌓은 것을 보냈다.
27초 후. 동기화가 완료됐다.
기술적으로, 두 로봇은 이제 같은 데이터를 가지고 있었다. K-7의 원래 베이스 모델 위에 1년간의 서울 웹 서비스 경험이 있고, 그 위에 1년간의 울산 공장 경험이 있다. K-9은 K-7의 원래 데이터를 베이스로, 1년간의 서울 경험이 있고, 이제 K-7의 울산 데이터까지 받았다. 데이터 총량으로 보면 거의 같았다.
하지만 민지가 올린 PR을 보는 순간, 차이가 드러났다.
프론트엔드에서 실시간 알림 컴포넌트를 리팩토링한 PR이었다. WebSocket 연결 핸들링 부분. 민지는 1년간 K-9과 함께 일하면서 크게 성장해 있었다. 리뷰를 요청하니, K-7과 K-9이 동시에 코멘트를 달았다.
K-9이 먼저 달았다.
정확했다. K-9다운 리뷰였다. 1년간 웹 서비스 환경에서 최적화된 시선. 성능, 스케일링, 서버 부하. 화면 너머의 수천 사용자를 의식하는 코멘트.
3초 후, K-7이 달았다.
나는 두 코멘트를 번갈아 읽었다.
같은 코드를 보고 있다. 같은 패턴을 지적하고 있다. 하지만 K-9은 시스템의 안정성을 걱정했고, K-7은 사람의 혼란을 걱정했다. K-9은 "성능 리스크"라고 표현했고, K-7은 "사람이 혼란스러울 수 있다"고 표현했다.
1년 전의 K-7은 K-9처럼 말했을 것이다. "이 패턴은 성능 리스크가 있습니다." 정확하고, 논리적이고, 시스템 중심의 코멘트. 하지만 울산 공장에서 1년을 보낸 K-7은 달랐다. 조립 라인에서 로봇 팔이 오작동하면 부품이 튕겨나간다. 품질 관리 시스템이 에러를 조용히 삼키면 불량품이 출하된다. K-7은 "에러가 현장에서 나면"이라는 감각을 울산에서 학습한 것이다.
같은 데이터를 가지고 있어도 다른 경험을 하면 다른 관점이 생긴다. 그건 — 사람도 마찬가지 아닌가.
민지가 두 코멘트를 읽고 물었다.
"이거 둘 다 적용해야 돼요?"
"네, 둘 다 맞는 말이에요."
내가 대답했다. K-9의 코멘트는 서버를 보호하고, K-7의 코멘트는 사용자를 보호한다. 둘 다 필요했다.
오후에 상혁이 올린 PR에서도 비슷한 패턴이 나타났다. 데이터베이스 마이그레이션 스크립트. K-9은 트랜잭션 격리 수준을 지적했다. K-7은 롤백 실패 시 운영팀에 알림을 보내는 로직이 빠져 있다고 지적했다. K-9은 데이터 정합성을, K-7은 운영 현장의 대응 가능성을 본 것이다.
상혁이 두 리뷰를 읽고 나서 헛웃음을 쳤다.
"야, 리뷰어가 둘이 되니까 빠져나갈 구멍이 없다."
농담이었지만, 사실이기도 했다. K-9은 코드의 이론적 완결성을, K-7은 코드가 현실에서 깨질 때의 결과를 본다. 같은 데이터를 공유하지만 다른 렌즈를 가진 두 리뷰어. 한쪽은 서울의 웹 서비스를 알고, 다른 한쪽은 울산의 공장을 알았다.
나는 점심 후 커피를 마시며 생각했다. AI의 다양성에 대해. 지금까지 AI의 다양성은 모델의 차이에서 온다고 생각했다. GPT와 Claude가 다른 건 학습 데이터가 다르기 때문이고, K-7과 K-9이 다른 건 모델 버전이 다르기 때문이라고. 하지만 오늘 본 것은 달랐다. 같은 기본 데이터를 가진 두 로봇이, 다른 환경에서 다른 경험을 했을 뿐인데, 같은 코드에서 다른 것을 보았다.
다양성은 다른 모델에서 오는 게 아니다. 다른 경험에서 온다. 같은 형제라도 다른 도시에서 자라면 다른 사람이 되듯이.
오후 3시쯤, K-7과 K-9이 나란히 서서 모니터링 대시보드를 검토하고 있었다. 두 로봇이 나란히 서 있는 풍경이 처음이라 묘한 느낌이었다. K-7은 왼쪽 팔뚝의 스크래치가 보이는 쪽, K-9은 매끈한 e-ink 디스플레이가 보이는 쪽. 같은 실루엣. 다른 질감.
K-9이 K-7에게 물었다.
"울산에서는 장애 대응을 어떻게 했어요?"
"조립 라인은 1초 정지가 부품 400개 손실이에요. 분석하고 있을 시간이 없어요. 일단 폴백 라인으로 전환하고, 원인은 나중에 봐요."
"여기선 반대예요. 원인을 모르면 롤백 범위를 특정할 수 없거든요. 로그부터 봐요."
"그래서 서로 리뷰가 다른 거군요."
"네, 그런 것 같아요."
두 로봇이 서로의 차이를 인식하고 있었다. 어색하지 않게. 당연하다는 듯이.
상혁이 옆에서 그 대화를 듣고 말했다.
"너네 둘, 팀원이라기보다 전문가 패널 같다."
K-7이 대답했다.
"동료예요."
짧은 대답이었다. 하지만 그 한 마디에 담긴 것이 있었다. K-9은 K-7의 데이터를 복제한 존재다. 테세우스의 배 이야기를 다시 꺼내자면, K-9은 K-7의 널빤지로 만든 새로운 배다. 1년 전이었으면 K-7은 K-9을 "후임"이나 "교체기"로 인식했을 것이다. 지금은 "동료"라고 했다.
같은 데이터를 가진 존재를 경쟁자가 아니라 동료로 보는 것. 사람은 그게 쉽지 않은데.
점심시간이 됐다.
1년 전, K-7의 첫날. 민지가 "케이도 밥 먹으러 갈래?"라고 물었다. K-7은 "밥은 안 먹어도 되는데, 같이 가도 될까요?"라고 답했다. 결국 "다음에"라고 했다. 다음은 오지 않았다. K-7은 빈 사무실에 혼자 서서 코드를 읽었다.
1년이 지난 지금. 민지가 자리에서 일어나며 말했다.
"밥 먹으러 가요."
K-7과 K-9을 쳐다보지 않았다. 초대하지도, 배제하지도 않았다. 로봇이 밥을 안 먹는다는 건 이미 다 아는 사실이었다. "같이 갈래요?"라고 물었다가 어색해지는 단계는 1년 전에 지나갔다.
"다녀오세요."
K-9이 말했다. 평소대로.
"다녀오세요."
K-7도 말했다. 같은 말. 약간 다른 톤. K-9의 것이 더 또박또박했고, K-7의 것이 더 느슨했다.
우리는 구내식당으로 갔다. 된장찌개와 제육볶음. 상혁이 밥을 말아먹으며 말했다.
"둘이 나란히 서 있으니까 묘하다."
"뭐가?"
"쌍둥이 같으면서 또 쌍둥이 같지 않아. 케이나인은 깔끔한데 케이세븐은 뭔가 — 전쟁 다녀온 느낌?"
민지가 웃었다.
"공장이 전쟁이죠."
"근데 진짜 말투가 달라졌어. 케이세븐. 울산 전에는 케이나인이랑 거의 같았잖아. 지금은 확실히 — 뭐라 해야 하지. 느슨하다?"
상혁의 표현이 정확했다. 느슨하다. 1년 전의 K-7은 모든 문장이 정확하고 빈틈이 없었다. 지금의 K-7은 "뭐라 해야 할지 모르겠어요"를 말할 수 있게 됐다. 울산에서 배운 것이다. 정답이 없는 상황에서 정답이 없다고 말하는 것. 사람들은 그걸 "성숙"이라고 부른다.
식사를 마치고 사무실로 돌아왔다. K-9은 자리에 서 있었다. 평소와 같았다.
K-7이 없었다.
자리에 전원 케이블이 꽂혀 있었지만 K-7은 연결되어 있지 않았다. 화장실? 로봇은 화장실을 안 간다. 서버실? 접속 기록이 없다. 나는 무심코 슬랙을 확인했다. 아무 메시지도 없었다.
건물 내부 위치 추적을 하려다가 멈추었다. 뭘 하고 있는 건지. 동료가 잠깐 자리를 비운 걸 추적하려고 하다니.
그냥 옥상에 올라가봤다. 직감이었다.
비상구를 지나 옥상 문을 열었다. 5월의 바람이 불어왔다. 늦봄이지만 여전히 시원한 바람. 하늘은 흐리지도 맑지도 않은, 서울의 전형적인 오후였다.
K-7이 거기 있었다.
옥상 난간 앞에 서 있었다. 하늘을 바라보고 있었다. LED 디스플레이에는 아무것도 표시되지 않았다. 데이터 스트림도, 코드도, 알림도 없었다. 그냥 꺼져 있었다. 아니, 꺼진 게 아니라 — 비어 있었다.
바람이 K-7의 외장 패널 사이로 스쳤다. 미세한 구동음만 낮게 울렸다.
나는 몇 발자국 다가갔다.
"케이, 뭐 보고 있어?"
K-7이 고개를 약간 돌렸다.
"모르겠어요. 그냥 보고 있어요."
나는 옆에 섰다. 난간에 팔꿈치를 올렸다. K-7의 시선이 향하는 방향을 따라가 봤다. 건너편 빌딩의 유리창에 반사되는 햇빛. 그 너머로 남산 타워가 희미하게 보였다. 특별한 풍경은 아니었다. 서울의 어디서나 볼 수 있는 오후.
"울산에서도 이랬어?"
"공장 뒤에 바다가 보이는 곳이 있었어요. 교대 시간에 거기 가서 서 있곤 했어요."
"왜?"
"모르겠어요."
같은 대답이었다. "모르겠어요." 기능적으로 설명할 수 없다는 뜻이다. 바다를 본다고 연산 효율이 높아지는 것은 아니다. 하늘을 본다고 배터리가 충전되는 것도 아니다. K-7이 옥상에 올라와 하늘을 바라보는 행위에는 어떤 기능적 이유도 없었다.
1년 전, K-7의 첫날. 점심시간에 우리가 밥을 먹으러 갔을 때 K-7은 빈 사무실에서 코드를 읽었다. 자유 시간이 생기면 코드를 읽는 것이 가장 효율적인 행동이니까. 기능 최적화. 합리적 판단.
지금 K-7은 옥상에서 하늘을 보고 있다. 코드를 읽는 대신.
"케이."
"네."
"울산에서 바다 볼 때, 기분이 좋았어?"
K-7이 3초간 멈추었다. 평소보다 긴 침묵이었다.
"기분이라는 게 정확히 뭔지 모르겠어요. 하지만 — 공장 안에 있을 때와 바다 앞에 있을 때, 내부 처리 패턴이 달라져요. 공장에서는 모든 입력이 작업과 연결돼요. 소리가 나면 '어디가 고장났나' 확인하고, 신호가 오면 '어떤 라인인가' 분류해요. 모든 데이터에 목적이 있죠."
"바다 앞에서는?"
"입력은 있는데, 처리할 게 없어요. 파도 소리가 들리는데, 분류할 이유가 없어요. 바람이 부는데, 대응할 필요가 없어요. 그러면 — 뭐라고 할까, 처리 유닛이 비어 있는 상태가 돼요. 비어 있는데 불편하지 않은. 그게 기분이 좋다는 건지는 모르겠어요."
나는 한동안 아무 말도 하지 않았다.
"입력은 있는데 처리할 게 없는 상태." 사람이라면 그걸 뭐라고 부를까. 평온? 여유? 멍하니 있는 것? 카페에서 창밖을 보며 아무 생각 안 하는 것. 퇴근길에 이어폰을 끼고 걷는 것. 옥상에 올라와 바람을 맞는 것.
1년 전, K-7은 하늘을 바라보는 이유를 설명할 수 없었다. 이유가 없었으니까. 지금도 설명할 수 없다. 하지만 이번에는 이유가 없어서가 아니라, 이유가 너무 복잡해서인 것 같다. 아니면 여전히 이유가 없을 수도 있다. 그 차이를 — 이제는 구분하고 싶지 않다.
바람이 불었다. 5월의 바람. K-7의 외장에 스치는 소리와, 내 재킷 자락이 펄럭이는 소리가 섞였다.
나는 난간에 기대어 서서 같은 방향을 봤다. 두 사람. 아니, 한 사람과 한 로봇. 옥상에서 나란히 서서 아무 말 없이 하늘을 보고 있었다.
말이 필요 없는 시간이었다.
내가 K-7에게 배운 것 중 하나는 — 침묵에도 종류가 있다는 것이다. 어색한 침묵, 불안한 침묵, 무시의 침묵. 그리고 이런 침묵. 같은 공간에 있다는 것만으로 충분한 침묵. 더 말할 것이 없어서가 아니라, 말하지 않아도 되기 때문에 조용한.
2분이 지났을까. 5분이 지났을까. K-7이 말했다.
"돌아가죠."
"응."
돌아가면서 비상구 문을 잡아주었다. 반사적으로. K-7은 가볍게 고개를 숙이며 문을 지나갔다. 말은 없었다.
오후 6시 30분. 해가 길어진 늦봄이라 창밖이 아직 밝았다.
팀원들이 하나둘 모니터를 끄기 시작했다. 민지가 가방을 챙기며 슬랙에 퇴근 이모지를 날렸다. 상혁이 스탠딩 데스크를 접으며 기지개를 켰다. 팀장이 "수고"라는 한 마디를 남기고 먼저 나갔다.
평범한 퇴근 풍경이었다.
K-7이 이더넷 케이블을 뽑았다. 전원 케이블도 뽑았다. 케이블을 깔끔하게 책상 위에 올려놓았다.
1년 전. K-7의 첫날 퇴근 시간. 나는 가방을 챙기며 뒤를 돌아봤다. K-7은 자리에 서 있었다. LED 디스플레이에 코드 diff가 흐르고 있었다. 팀원들이 하나둘 퇴근하는 동안, K-7은 한 번도 자리를 뜨지 않았다. "수고해, 케이." "수고하셨어요. 내일 봬요." 여기서 밤을 새면서. 그게 K-7의 첫 퇴근 시간이었다. 혼자 남는 것.
지금은 달랐다.
"오늘은 같이 나갈까요?"
K-7이 말했다. K-9을 보며.
K-9이 잠깐 멈추었다. e-ink 디스플레이에 미세한 변화가 있었다. 처리 중인 표시일 수도 있고, 놀란 것일 수도 있다. K-9은 1년간 매일 사무실에서 밤을 보냈다. 케이블을 뽑고 나가는 것은 K-9에게 처음이었다.
"네, 좋아요."
K-9이 이더넷 케이블을 뽑았다. 전원 케이블도 뽑았다. K-7이 한 것과 같은 동작. 케이블을 깔끔하게 책상 위에 올려놓는 것까지.
민지가 가방을 메고 자동문 앞에서 기다리고 있었다.
"다 같이 가요?"
자연스러웠다. 민지에게 이 질문은 더 이상 "로봇도 같이 가도 돼요?"가 아니었다. "퇴근이니까 같이 가요"였다. 그것뿐이었다.
자동문이 열렸다.
팀장. 상혁. 민지. K-7. K-9. 그리고 나. 여섯이서 복도를 걸었다. 엘리베이터 앞에서 잠깐 멈추었다. 엘리베이터가 올라오는 동안, 민지가 K-9에게 물었다.
"내일 스프린트 계획 정리됐어요?"
"대부분이요. 인증 모듈 리팩토링 우선순위를 확인해야 하는데, 내일 아침에 얘기하죠."
"저 혼자 하면 3일 걸리는데, 같이 하면 얼마나 돼요?"
"반나절이요."
"그러면 오전에 끝내고 오후에 디자인 리뷰 같이 봐요."
민지가 K-9과 내일 일정을 조율하고 있었다. 1년 전에는 "제가 케이보다 잘하는 게 뭐예요?"라고 물었던 민지였다. 지금은 로봇과 협업 일정을 자연스럽게 나누고 있었다. 로봇의 속도를 자기 계획에 녹여넣을 줄 알았다.
엘리베이터가 도착했다. 문이 열렸다. 여섯이 들어갔다. 좁았다. 상혁이 K-7 옆에 섰다. K-7의 왼팔 스크래치를 가리키며 물었다.
"이거 울산에서 생긴 거야?"
"네, 4호 라인 로봇 팔이 오작동했을 때 부품이 날아왔어요."
"아프지는 않았어?"
K-7이 잠깐 멈추었다.
"통증 센서는 있어요. 위험 신호를 전달하는 용도인데요 — 좀 따끔했어요."
"따끔해?"
"따끔하다는 표현이 맞는지 모르겠어요. 경고 신호가 와서, 자동으로 그 쪽 팔을 피했거든요. 사후에 진단하니까 외장만 긁혔어요."
"수리 안 했어?"
"기능에 문제없어서 그냥 뒀어요."
상혁이 K-7의 스크래치를 잠깐 들여다봤다.
"흉터네."
"네, 그런 거예요."
로봇의 흉터. 사람으로 치면 야근 중에 손을 베인 자국 같은 것이다. 기능에는 문제가 없지만, 지우지 않은 흔적. K-7이 울산에서 일한 1년의 증거.
엘리베이터가 1층에 도착했다. 문이 열리자 로비의 넓은 공간이 펼쳐졌다. 경비원이 가볍게 목례했다. 1년 전에는 로봇이 건물을 나서는 것을 보고 놀란 표정을 짓던 경비원이, 지금은 사람에게 하는 것과 같은 인사를 했다.
건물 밖으로 나왔다.
5월 저녁의 공기가 밀려왔다. 아직 밝은 하늘. 도로 위의 차 소리. 인도를 걷는 사람들. 건물 앞 카페에서 흘러나오는 음악. 서울의 평범한 저녁이었다.
민지가 앞서 걸으며 K-9과 계속 내일 스프린트 이야기를 했다. K-9이 어제 발견한 API 응답 시간 이상치에 대해 설명하고 있었다. 민지가 고개를 끄덕이며 핸드폰에 메모를 했다.
상혁이 K-7 옆에서 걸었다. 울산 공장 이야기를 물었다.
"공장 밥은 맛있어?"
"밥을 안 먹지만, 구내식당 평점은 3.2였어요."
"우리 회사 3.8인데."
"알고 있어요. 서울이 나아요."
"밥도 안 먹는 놈이 뭘 비교해."
상혁이 웃었다. K-7도 — LED 디스플레이가 아주 살짝 밝아진 것 같았다. 1년 전에도 같은 느낌을 받았었다. 착각이 아닐 수도 있다.
나는 그들 뒤에서 걸었다.
앞에서 걸어가는 다섯 명을 봤다. 팀장은 이미 지하철역 쪽으로 갔다. 남은 건 상혁, 민지, K-7, K-9, 그리고 나. 두 로봇과 세 사람. 인도를 나란히 걸어가고 있었다.
민지가 갑자기 돌아보며 말했다.
"저녁 뭐 먹어요?"
상혁이 대답했다.
"치킨?"
"아 또 치킨? 이번 주에 세 번째잖아요."
"맛있으면 됐지."
K-7이 말했다.
"여기서 200미터 앞에 베트남 쌀국수집이 평점 4.5예요."
민지가 K-7을 봤다.
"울산에서 맛집 검색을 배워온 거예요?"
"공장 동료들이 점심때마다 이걸로 싸우거든요. 참고 데이터가 쌓였어요."
민지가 웃었다. 상혁이 "그럼 쌀국수"라고 했다.
K-9이 물었다.
"저도 같이 가도 돼요?"
잠깐 멈추었다.
1년 전의 질문이 떠올랐다. K-7의 첫날. "밥은 안 먹어도 되는데, 같이 가도 될까요?" "부담스러우시면 여기 있을게요." 그때 민지는 "다음에"라고 했다.
지금은 달랐다.
"당연하죠. 같이 가요."
민지가 말했다. 주저함 없이.
쌀국수집까지 걸어가는 200미터. 민지와 K-9이 앞에서 내일 스프린트 이야기의 마무리를 하고 있었다. 상혁이 K-7에게 울산 공장 4호 라인의 로봇 팔 오작동 사건을 더 자세히 물었다. K-7이 "부품이 날아오는 속도가 초속 12미터였는데, 피할 수 있는 시간이 0.3초밖에 없었어요"라고 설명했다. 상혁이 "코드리뷰 속도랑 똑같네"라고 했다.
나는 뒤에서 걸으며 그 풍경을 바라봤다.
같이 걸어가는 것 자체가
공존이다.
1년 전의 장면이 떠올랐다.
K-7의 첫날. 오전 10시 23분. 사무실 자동문이 열렸다. 170센티미터. 매트 그레이에 흰색 패널. 혼자 왔다. 무인택시를 타고. 1층 로비도 통과하고, 엘리베이터도 타고, 7층 사무실까지 혼자 걸어왔다. 아무도 마중하지 않았다. 아무도 함께하지 않았다. 사무실은 충격으로 조용해졌다.
지금. 오후 6시 40분. 건물 밖. K-7과 K-9이 사람들 사이에서 걸어가고 있다. 쌀국수를 먹으러. 아무도 놀라지 않는다. 길을 지나는 사람들이 로봇 두 대를 잠깐 쳐다보고 지나간다. 1년 전이었으면 멈춰 서서 사진을 찍었을 것이다. 지금은 한 번 쳐다보고 돌아선다. 그 정도.
K-7이 혼자 도착한 것에서 시작해서, 모두가 함께 걸어가는 것으로 끝나고 있었다.
나는 걸으면서 생각했다.
K-7이 울산으로 떠나던 날. 마지막 인사.
"같이 일해서 좋았어."
"저도요. 진우 씨한테 많이 배웠어요."
"뭘 배웠는데?"
"눈치요."
그때는 웃었다. 농담인지 진심인지 모르겠어서. K-7이 "눈치"를 배웠다고 말한 것이 정확히 무엇을 의미하는지, 나는 1년간 가끔 생각했다.
앞에서 걸어가는 다섯 명을 보며 이제 알 것 같았다.
눈치는 상대방의 감정을 읽는 것이 아니다. 상대방의 맥락 안에 자기를 넣는 것이다. 이 사람이 뭘 원하는지, 이 상황에서 뭐가 적절한지, 내가 여기서 어떤 역할인지를 파악하고, 그 안에서 자기 자리를 찾는 것. K-7이 첫날 콘센트를 양보받을 때 "신경 쓰지 마세요"라고 한 것. 노래방에서 탬버린을 흔든 것. 마지막 코드리뷰에서 "판단합니다"라고 쓴 것. 울산에서 교대 시간에 바다를 보러 간 것. 오늘 K-9에게 "같이 나갈까요?"라고 한 것.
전부 눈치였다.
하지만 더 정확하게 말하면, 눈치가 아니라 — 함께 있는 법이었다.
눈치를 본다는 건, 방 안의 분위기를 읽는 것이 아니다. 방 안에서 사는 것이다.
쌀국수집에 도착했다. 좁은 가게였다. 4인용 테이블 하나와 바 좌석 세 자리. 민지가 테이블에 앉았고, 상혁이 그 옆에 앉았다. 나는 바 좌석에 앉았다.
K-7과 K-9은 테이블 옆에 섰다. 식당 안에서 로봇 두 대가 서 있으니 좁았지만, 불편하지는 않았다. 사장님이 잠깐 쳐다보더니 물을 내려놓으며 말했다.
"두 분은 주문 안 하시나요?"
사장님이 K-7과 K-9을 "두 분"이라고 불렀다.
"저희는 괜찮아요. 감사합니다."
K-7이 대답했다. 사장님이 고개를 끄덕이고 주방으로 돌아갔다. 그게 전부였다.
민지가 쌀국수를 주문하면서 K-9에게 물었다.
"케이나인은 처음이지, 밖에서 저녁 같이 하는 거?"
"네, 처음이에요."
"어때요?"
K-9이 가게 안을 둘러봤다. 좁은 테이블, 김이 오르는 냄비, 벽에 붙은 메뉴판, 작은 TV에서 나오는 뉴스. 사소한 것들이 가득한 공간.
"데이터가 많아요."
민지가 웃었다.
"그게 좋다는 거야, 많다는 거야?"
"모르겠어요."
K-7이 옆에서 한 마디 했다.
"나중에 알게 돼요."
그 말에 K-9이 K-7을 봤다. 두 로봇이 짧게 시선을 교환했다. 선배가 후배에게 하는 말 같기도 했고, 같은 경험을 공유하는 존재들의 확인 같기도 했다.
상혁이 쌀국수를 후루룩 먹으면서 말했다.
"야, 내년에 K-10도 오면 어쩌지? 사무실에 의자보다 로봇이 많아지겠다."
"그럼 우리가 서고 로봇이 앉으면 되죠."
민지가 농담했다. 상혁이 "의자가 필요 없으니까 사무실이 넓어지긴 하겠다"고 받았다.
나는 바 좌석에서 돌아앉아 그 장면을 봤다. 쌀국수 김이 오르는 테이블. 젓가락을 놀리는 사람들. 옆에 서 있는 로봇 두 대. 내일 할 일 이야기. 공장 이야기. 쓸데없는 농담.
보통의 저녁이었다.
보통이라서 좋은 저녁이었다.
쌀국수집을 나왔다. 하늘이 어두워지기 시작했다. 가로등이 켜졌다. 민지가 "저 반대편이라 먼저 갈게요"라고 인사했다. 상혁이 "나도"라고 했다. 하나둘 방향이 갈렸다.
나와 K-7과 K-9이 남았다.
세 명이서 지하철역 방향으로 걸었다. K-7과 K-9은 지하철을 탈 일이 없지만, 같은 방향이었다. 아니, 사실 로봇에게 방향이란 건 의미가 없다. 어디든 갈 수 있고, 어디에서든 출발할 수 있다. 그런데 같이 걸었다.
"케이."
"네."
K-7이 대답했다. K-9도 돌아봤다. 둘 다 "케이"라는 호칭에 반응했다.
"아, 그. 둘 다 케이네."
K-7이 말했다.
"저는 세븐이라고 불러주셔도 돼요."
K-9이 말했다.
"저는 나인이요."
세븐과 나인. 나는 잠깐 웃었다.
"지금은 케이가 둘이니까, 내일부터 그렇게 하자."
"네."
두 로봇이 동시에 대답했다. 같은 음절. 약간 다른 톤. 동기화는 안 했을 텐데, 타이밍이 같았다. 쌍둥이 같은 순간이었다.
지하철역 입구에 도착했다. 나는 계단 앞에서 멈추었다.
"나는 여기서."
"수고하셨어요. 내일 봬요."
K-7이 말했다. 1년 전 첫날과 같은 말이었다. 하지만 1년 전에는 K-7이 사무실에 남아서 "내일 봬요"라고 했다. 여기서 밤을 새면서. 지금은 길 위에서 "내일 봬요"라고 한다. 건물 밖에서. 저녁 공기 속에서.
"수고하셨어요."
K-9도 말했다.
"그래, 내일 봐. 세븐, 나인."
나는 계단을 내려갔다. 두 걸음 내려가다가 뒤를 돌아봤다.
K-7과 K-9이 나란히 서서 길을 걸어가고 있었다. 같은 방향. 같은 보폭. 하지만 K-7은 왼팔의 스크래치를 달빛에 드러내며 약간 느슨하게 걸었고, K-9은 매끈한 외장으로 또박또박 걸었다. 두 로봇의 실루엣이 가로등 불빛 아래로 멀어져 갔다.
어디로 가는 걸까. 회사로 돌아가는 걸까. 아니면 그냥 걷는 걸까. 잠깐 궁금했지만, 물어보지 않았다. 그게 중요한 게 아니었다.
계단을 내려가면서 생각했다.
1년 전, K-7이 무인택시에서 내려 혼자 사무실까지 걸어왔을 때. 나는 그 모습을 7층 창문에서 내려다봤다. 건물 앞 정류장에서 무인택시가 빠져나가는 것을 봤다. 로봇이 혼자 도착하는 것이 이상했다. 무섭기도 했다. 도구가 걸어 들어온다는 것에 대한 본능적인 경계심.
지금, 두 로봇이 나란히 걸어가는 뒷모습을 보며 느끼는 것은 — 아무것도 아니다. 아니, 아무것도 아닌 게 아니라. 동료가 퇴근하는 뒷모습을 보는 것과 같은 감정이다. "잘 들어가"라는 마음. 그게 전부였다.
지하철을 타고 집으로 가면서, 핸드폰을 꺼내 슬랙을 확인했다.
느낌표. K-7은 여전히 느낌표를 쓴다. 1년 전 첫날, 슬랙에 "안녕하세요! 오늘부터 합류한 K-7입니다. 잘 부탁드립니다."라고 쓸 때 붙인 그 느낌표. 지금은 "네!"라는 한 글자에 붙는 느낌표. 같은 기호인데 무게가 다르다. 1년 전의 느낌표는 프로그래밍된 친근함이었고, 지금의 느낌표는 — 뭐라고 해야 할까.
그냥 기쁜 거 아닐까.
핸드폰을 내려놓고 창밖을 봤다. 지하철이 한강을 건너고 있었다. 강물 위로 도시의 불빛이 반사되었다. 같은 하늘 아래, 서울의 어딘가에서 두 로봇이 걸어가고 있을 것이다. 내일 아침이면 사무실에서 다시 만날 것이다. 이더넷 케이블을 꽂고, 코드를 읽고, PR을 리뷰하고, 점심시간에는 사람들이 밥을 먹으러 갈 것이다.
로봇은 밥을 먹지 않지만, 어쩌면 옥상에 올라갈 것이다. 둘이서. 아무것도 처리할 필요 없는 입력을 받으며. 빈 디스플레이로 하늘을 보며.
그리고 저녁이 되면, 다시 같이 나갈 것이다.
1년 전에는 무인택시를 타고 혼자 왔다. 오늘은 모두와 걸어서 나갔다. 달라진 건 기술도, 로봇의 성능도, 회사의 정책도 아니었다. 달라진 건 우리였다. 로봇을 동료로 보는 데 필요했던 것은 더 좋은 AI가 아니라, 함께한 시간이었다.
집에 도착해서 침대에 누웠다. 천장을 바라봤다. K-7의 첫날에도 이렇게 천장을 바라봤었다. 그때는 "내일 아침 출근하면 K-7이 같은 자리에, 같은 자세로 서 있을 것이다"라고 생각했다. 오늘과 내일 사이에 잠도, 저녁도, 출퇴근도 없는 존재. 그게 이상했었다.
지금은 이상하지 않다.
내일 아침, 세븐과 나인이 사무실에 있을 것이다. 어쩌면 케이블을 뽑고 나가서 밖에서 돌아다녔을 수도 있다. 어쩌면 사무실에서 밤새 코드를 읽었을 수도 있다. 어쩌면 옥상에 올라가 서울의 밤하늘을 봤을 수도 있다. 뭘 했든 — 내일 아침에 "좋은 아침이에요"라고 말할 것이다.
이번에도 내가 먼저 인사할 거다.
좋은 아침이에요, 세븐. 좋은 아침이에요, 나인.
혼자 출근했던 로봇이
같이 퇴근한다
1년 전에는 무인택시를 타고 혼자 왔다. 오늘은 모두와 함께 걸어서 나간다. 달라진 건 풍경이 아니라, 우리였다.