에이전트의 시대 2장

바이브

by 로빈


scene01_golf_distracted.png


2장 바이브


골프가 지루해진 건 삼 일째였다.


박정호는 용인의 프라이빗 코스에서 드라이버를 휘둘렀다. 공이 페어웨이를 벗어나 러프에 처박혔다. 캐디가 위로의 말을 건넸지만 귀에 들어오지 않았다. 이백 야드 너머의 그린이 아니라, 머릿속에는 어젯밤 태블릿에서 본 영상이 맴돌았다. 스물여섯쯤 돼 보이는 청년이 노트북 앞에서 혼잣말을 하면 화면 위로 코드가 쏟아지던 장면. 누군가가 '바이브코딩'이라 부르는 것.


"부사장님, 다음 홀 가시죠."


캐디의 목소리에 정호는 클럽을 카트에 꽂았다. 부사장님. 한 달 전에 퇴임한 사람한테 아직 그 호칭이 따라붙는다. 마치 껍데기만 남은 매미처럼.


퇴임 후 한 달. 제주도 일주를 했다. 한라산 영실 코스를 걸었다. 아내와 교토에도 다녀왔다. 그 모든 곳에서 정호는 같은 감각과 마주했다. 손에 쥔 것이 아무것도 없다는 느낌. 삼십 년간 양 손에 가득했던 회의, 보고서, 결재 서류, 부하 직원들의 눈빛 — 그런 것들이 사라진 자리에 남은 건 텅 빈 공기뿐이었다.


딸 지수가 새해 첫날 보낸 메시지가 떠올랐다.

아빠 새해 복 많이 받아! 나 요즘 AI로 앱 하나 만들고 있어.
코드 한 줄도 안 쓰고! 아빠도 한번 해봐. ㅋㅋ

코드 한 줄도 안 쓰고. 정호는 그 문장을 몇 번이나 다시 읽었다. 자신이 넥스젠에서 관리해온 개발 조직이 삼천 명이었다. 코드를 짜는 삼천 명의 엔지니어. 그들의 채용, 교육, 성과 평가, 조직 재편에 십오 년을 쏟았다. 그런데 코드를 한 줄도 안 쓴다고?


scene02_phone_invitation.png

일월 셋째 주 목요일, 서울 성수동.


"형, 제발 한 번만 와보세요. 재밌을 거예요."


전화기 너머 후배 강태현의 목소리는 들뜬 강아지 같았다. 넥스젠 시절 개발 2본부에서 팀장을 하다 이 년 전 퇴사한 녀석. 지금은 AI 스타트업을 한다고 했다.


"밋업이라고? 내가 거기 가서 뭘 해."


"그냥 구경이요. 요즘 제일 핫한 AI 에이전트 관련 행사거든요. 형이 보면 입이 떡 벌어질 걸요."


정호는 사양하려다 입을 다물었다. 오후 일정이 비어 있었다. 내일도, 모레도. 사실 앞으로 몇 달째 비어 있었다.


"주소 보내."


성수동 카페거리에서 한 블록 안쪽. 리노베이션된 붉은 벽돌 건물 삼 층짜리. 입구에 네온 사인이 깜빡였다. VIBE MEETUP SEOUL #37. 정호는 건물 앞에서 잠시 멈춰 섰다. 유리문 너머로 보이는 풍경이 넥스젠 본사의 세미나홀과는 완전히 달랐다.

scene03_meetup_interior.png

후드티와 운동화. 노트북 가방을 맨 이십 대, 삼십 대. 벽면의 대형 스크린에는 코드가 실시간으로 흘러가고, 한쪽에서는 누군가 공중에 손을 휘저으며 — AR 인터페이스인 모양이다 — 무언가를 설계하고 있었다. 스피커에서 일렉트로닉 비트가 낮게 깔렸다.


정호는 자신의 옥스퍼드 셔츠와 치노 팬츠를 내려다봤다. 여기서 넥타이를 맨 사람은 아마 경비원뿐일 거라는 생각이 들었다.


"형! 여기!"


강태현이 이 층 난간에서 손을 흔들었다. 정호가 계단을 오르자 태현이 맥주 한 잔을 건넸다.


"오셨네. 진짜 안 올 줄 알았는데."


"안 왔어야 했나."


"아뇨, 잘 오신 거예요. 오늘 발표 중에 진짜 대단한 거 하나 있거든요. 이서연이라고, 아세요?"


정호가 고개를 저었다.


"실리콘밸리에서 꽤 유명한 분인데, 작년에 한국 돌아오셔서 독자적으로 AI 에이전트 시스템을 개발하고 계세요. '아리아'라는 건데, 오늘 라이브 데모를 한다고."


태현의 눈이 반짝거렸다. 정호는 맥주를 한 모금 마시며 주위를 둘러봤다. 삼백 명쯤 되는 공간에 이백 명은 들어찬 것 같았다. 평균 연령 삼십 초반. 자신이 여기 있는 게 사파리 공원에 들어간 정장 차림의 회사원 같다는 자각이 들었다.


무대 앞쪽 좌석이 빠르게 채워지고 있었다. 사회자가 마이크를 잡았다.


"자, 오늘의 메인 세션입니다. 많은 분들이 기다리셨죠? 이서연 님의 '아리아' 라이브 데모, 시작하겠습니다!"


환호와 박수. 정호는 태현을 따라 중간쯤 자리에 앉았다.

scene04_seoyeon_on_stage.png

무대 왼쪽에서 한 여자가 걸어 나왔다.


단발머리, 검은 후드티, 흰 운동화. 어수선한 머리카락 사이로 눈이 날카로웠다. 키는 크지 않았지만 무대를 걸어 나오는 보폭이 넓고 빨랐다. 허리를 숙여 인사하는 법 없이, 관객을 한 번 쓱 훑고는 노트북 앞에 섰다.


"안녕하세요. 이서연입니다."


마이크를 통해 흘러나온 목소리는 낮고 또렷했다. 파워포인트 한 장 없었다. 무대 위에는 대형 스크린에 연결된 노트북 한 대와 이서연 한 명뿐이었다.


"오늘은 PPT 없이 갈게요. 데모 한 번이 PPT 백 장보다 낫잖아요."


웃음이 터졌다. 이서연은 웃지 않았다. 대신 노트북 위의 마이크를 가리키며 말했다.


"이건 아리아입니다. 제가 만든 AI 에이전트예요. 코드 에이전트라고 부르기엔 좀 모자라고, 동료라고 부르기엔... 글쎄, 아직은 좀 이르려나."


이서연이 스크린을 한 번 톡 쳤다. 검은 터미널 화면이 떴다. 커서가 깜빡였다.


"아리아, 깨어 있어?"


스크린에 텍스트가 떠올랐다. 동시에 스피커에서 중성적이고 차분한 음성이 흘렀다.


네, 서연 님. 준비되어 있습니다.


"좋아. 오늘 여기 계신 분들한테 바이브코딩이 뭔지 직접 보여줄 거야. 뭘 만들면 좋을까... 관객분들, 뭐 만들어볼까요?"


여기저기서 소리가 터졌다. "게임!" "쇼핑몰!" "데이팅 앱!"


이서연이 손을 들어 조용히 시켰다. "거기, 데이팅 앱 말씀하신 분. 좋아요, 해보죠."


그녀가 노트북을 향해 말하기 시작했다. 코드를 타이핑하는 것이 아니었다. 그냥, 말했다.


"아리아. 위치 기반 소셜 매칭 앱을 만들어줘. 타깃은 이십 대 후반에서 삼십 대 초반. 프로필은 텍스트가 아니라 짧은 음성 메시지로 등록해. 매칭 알고리즘은 관심사 기반 코사인 유사도에 위치 가중치를 곱하는 방식으로. 프론트엔드는 React Native, 백엔드는 서버리스로. 아, 그리고 첫 화면에서 스와이프 없이 오늘의 추천 한 명만 보여주는 UX로 가자."


정호는 무의식적으로 등을 세웠다. 지금 이 사람이 한 것은 — 넥스젠에서라면 기획팀이 이 주 걸려 요구사항 정의서를 쓰고, 설계팀이 삼 주 걸려 아키텍처를 잡고, 개발팀이 석 달 걸려 코드를 짜는 규모의 작업 명세를 — 삼십 초 만에 말로 끝낸 것이다.

scene04_aria_coding_demo.png

스크린 위에서 아리아가 움직이기 시작했다.


구조를 설계하겠습니다. 프론트엔드 컴포넌트, 백엔드 API, 데이터베이스 스키마, 매칭 엔진을 병렬로 구성합니다.


화면이 네 개의 패널로 분할됐다. 각 패널에서 코드가 흘러내렸다. 정호의 눈이 그것을 따라갔다. React 컴포넌트가 스크린 왼쪽 위에서 자라났다. 오른쪽 위에서는 API 엔드포인트가 하나씩 정의됐다. 왼쪽 아래에서 데이터베이스 테이블이 만들어지고, 오른쪽 아래에서 매칭 알고리즘의 수학적 로직이 파이썬 코드로 변환됐다.


속도. 정호가 가장 먼저 느낀 건 속도였다. 인간 개발자의 타이핑 속도가 아니었다. 코드가 생성되는 게 아니라 흘러나오는 것 같았다. 마치 댐의 수문이 열린 것처럼.


이서연이 중간중간 끼어들었다. "매칭 엔진에서 위치 가중치 비율 좀 줄여. 삼십 퍼센트면 돼." "프로필 카드 UI, 둥근 모서리 말고 각진 걸로 바꿔." 그녀의 목소리는 코딩 언어와 자연어 사이를 자유롭게 오갔다. 아리아는 즉시 반영했다. 대화였다. 상사가 부하에게 지시하는 것이 아니라, 두 명의 엔지니어가 나란히 앉아 작업하는 것에 가까웠다.


3분이 지났다. 화면에 앱의 프로토타입이 떠올랐다. 매끄러운 UI, 음성 프로필 등록 화면, 오늘의 추천 카드. 이서연이 스마트폰으로 QR 코드를 스캔하자 앱이 실제 디바이스에서 실행됐다.


관객석에서 탄성이 터졌다.


"3분이요. 물론 이건 MVP고, 프로덕션 레벨로 가려면 더 손봐야 해요. 보안, 스케일링, 에러 핸들링. 하지만 아이디어에서 동작하는 프로토타입까지 삼 분. 이게 바이브코딩이에요."


이서연의 얼굴에 처음으로 웃음 비슷한 것이 스쳤다. 자부심이라기보다 확신에 가까운 표정. 관객들이 박수를 쳤다.


정호는 박수를 치지 못했다. 두 손이 무릎 위에 얹힌 채 움직이지 않았다.


3분.


넥스젠 개발 2본부, 삼천 명의 엔지니어, 스무 개의 팀, 일곱 단계의 코드 리뷰 프로세스. 요구사항 접수에서 배포까지 최소 사 개월. 그가 십오 년에 걸쳐 구축하고 다듬고 최적화해온 시스템. 그것의 첫 단계를 — 이 작은 여자가 AI에게 말 몇 마디를 건네는 것으로 삼 분 만에 해치웠다.


정호의 왼쪽 눈 밑이 떨리기 시작했다.

scene05_trembling_hands.png

이서연이 두 번째 데모로 넘어갔다. 이번에는 더 복잡한 것이었다. 실시간 교통 데이터를 분석해서 배달 경로를 최적화하는 시스템. 그녀는 이번에도 말로 시작했다. 그러나 이번에는 단순한 지시가 아니었다.


"아리아, 이번 건 좀 생각해봐야 해. 단순 최단 경로가 아니라 배달 기사의 피로도까지 변수로 넣고 싶어. 기사가 연속 배달 세 시간 넘기면 자동으로 휴식 경유지를 끼워넣는 로직. 이건 어떻게 접근하면 좋을까?"


정호가 눈을 가늘게 떴다. 이서연이 아리아에게 물었다. 지시가 아니라 질문. 어떻게 접근하면 좋을까.


두 가지 방법을 제안드립니다. 첫째, 기사별 누적 피로도 모델을 별도 마이크로서비스로 분리하고 경로 최적화 엔진에 콜백으로 연결하는 방식. 둘째, 피로도를 경로 비용 함수 자체에 통합하여 단일 최적화 문제로 푸는 방식. 첫 번째가 유지보수에 유리하고, 두 번째가 연산 효율에 유리합니다.


"두 번째로 가. 연산 효율이 중요해. 실시간이니까."


아리아가 다시 코드를 생성하기 시작했다. 이번에는 아까보다 느렸다. 중간중간 멈추는 것처럼 보이는 순간들이 있었다. 정호는 그것이 "생각하는" 것인지 아닌지 알 수 없었지만, 적어도 그렇게 보였다.


화면에 경로 최적화 알고리즘이 시각화됐다. 서울 지도 위에 배달 경로가 색깔 별로 그어지고, 기사의 피로도에 따라 경로가 실시간으로 재조정되는 모습이 보였다. 관객들이 또 한 번 감탄했다.


그때였다.


아리아의 인디케이터 색이 노랑으로 바뀌었다. 이서연이 그것을 알아차리기도 전에 아리아가 먼저 말했다.

scene05_aria_questions.png
이서연 님, 한 가지 질문이 있습니다.


이서연이 고개를 살짝 기울였다. 계획에 없던 순서인 게 분명했다.


"응, 뭔데?"


이 기능은 사용자에게 정말 필요할까요?


삼백 명의 공간이 조용해졌다. 이서연의 손이 키보드 위에서 멈췄다.


배달 기사의 피로도를 시스템이 관리한다는 것은, 기사의 자율적 판단을 시스템이 대체한다는 의미이기도 합니다. 기사가 스스로 쉬고 싶을 때 쉴 수 있는 구조와, 시스템이 쉬라고 지시하는 구조는 다릅니다. 어떤 방향을 의도하신 건가요?


정호의 등줄기를 무언가가 훑고 지나갔다. 차갑지도 뜨겁지도 않은, 이름을 붙이기 어려운 감각. 이 AI가 — 기능의 필요성을 되물었다. 요구사항의 윤리적 함의를 스스로 짚어낸 것이다.


이서연이 이 초쯤 침묵했다. 그녀의 표정이 한순간 바뀌었다. 놀람. 그리고 그것을 능숙하게 접는 동작.


"좋은 질문이야."


그녀가 관객을 향해 돌아섰다. 목소리는 여전히 침착했지만, 정호는 그 아래에 깔린 흥분 — 아니, 경계심을 감지했다.


"보셨죠? 아리아가 방금 한 건 단순한 코드 생성이 아니에요. 제가 시키지 않은 질문을 스스로 만들어냈어요. 이게 바이브코딩의 진짜 의미예요. AI가 코드를 짜주는 게 다가 아니라, 우리가 놓친 걸 짚어주는 거."


박수가 터졌다. 이서연은 고개를 끄덕이며 다음 단계로 넘어갔다. 아무 일도 아닌 듯.

하지만 정호는 보았다. 이서연이 돌아서는 순간, 그녀의 손끝이 미세하게 떨린 것을.


데모가 끝났다. 이서연이 마무리 멘트를 했다.


"바이브코딩은 코딩의 진입 장벽을 없앤 게 아니에요. 바이브를 잡아야지, 스펙을 잡으면 안 돼. 뭘 만들고 싶은지, 왜 만들고 싶은지, 누구를 위해 만드는지 — 그 '바이브'가 있으면 나머지는 아리아 같은 에이전트가 해결해줘요. 코딩의 민주화라고 부르든, 패러다임 시프트라고 부르든, 이름은 중요하지 않아요. 중요한 건 이게 이미 일어나고 있다는 거. 감사합니다."


짧은 인사. 무대를 내려오는 발걸음도 올라갈 때처럼 빠르고 넓었다. 관객들이 일어서서 박수를 쳤다. 태현이 정호의 팔을 쳤다.


"형, 봤어요? 대박 아니에요?"


정호는 대답하지 않았다. 시선이 무대 위 스크린에 머물러 있었다. 아리아의 인디케이터가 다시 연한 파랑으로 돌아가 있었다. 사고 중. 무엇을 생각하고 있는 걸까.


삼십 년.

scene06_existential_crisis.png

정호는 큰 손으로 턱을 받쳤다. 그의 습관.


삼십 년간 코드를 짜는 사람들을 관리했다. 좋은 코드란 무엇인지 정의하고, 코드 리뷰 프로세스를 설계하고, 기술 로드맵을 수립했다. 채용 면접에서 지원자의 코딩 실력을 평가하고, 성과가 부진한 팀을 재편하고, 아키텍처 결정의 최종 승인자 역할을 했다. 그 모든 것이 "코드를 잘 짜기 위한" 구조였다.


그런데 코드를 짜는 행위 자체가 사라지고 있다면.


삼천 명의 개발 조직. 일곱 단계의 코드 리뷰. 이십 개의 팀. 그것이 다 불필요해진다면.


정호의 숨이 짧아졌다. 맥주잔을 내려놓는 손에 힘이 들어갔다.


내가 관리해온 수천 명의 개발 조직... 이게 다 불필요해진다는 건가?


아니. 정호는 고개를 저었다. 쉽게 결론을 내리는 건 삼류의 습관이다. 데이터를 더 봐야 한다. 프로토타입과 프로덕션은 다르다. 보안, 규제, 레거시 시스템과의 통합, 대규모 트래픽 — 데모에서는 보여줄 수 없는 것들이 산더미다.


하지만 그의 가슴 한쪽이 알고 있었다. 저것은 시작이다. 오늘 삼 분이었던 것이 내년에는 삼 초가 될 수도 있다. 그리고 아리아가 던진 그 질문 — "이 기능은 사용자에게 정말 필요할까요?" — 그것은 코딩 능력의 문제가 아니었다. 판단의 문제였다.


기계가 판단을 한다.


정호의 등이 의자 뒤로 깊이 기울었다. 천장의 조명이 눈부셨다.


밋업이 끝나고 사람들이 빠져나갔다. 태현은 아는 사람을 만났다며 자리를 떴다. 정호는 일 층 바에서 혼자 탄산수를 마시며 서 있었다. 가야 할 시간이었다. 집에 돌아가서 골프 예약을 취소하고, 내일도 비어 있는 일정을 바라보며 보내면 된다.


그의 발이 움직이지 않았다.


이서연은 무대 뒤쪽에서 몇몇 참석자들과 이야기하고 있었다. 그녀를 둘러싼 사람들의 연령대는 이십 대에서 삼십 대. 정호가 그 무리에 끼어드는 건 분위기에 맞지 않았다. 알고 있었다.


그럼에도 발이 그쪽으로 향했다.


무리가 서서히 흩어질 때쯤 정호는 이서연에서 세 걸음 거리에 서 있었다. 이서연이 마지막 참석자와 인사하고 돌아서다가 정호와 눈이 마주쳤다. 그녀의 시선이 정호를 위아래로 훑었다. 옥스퍼드 셔츠, 치노 팬츠, 깔끔하게 빗어 넘긴 반백의 머리.


이서연의 눈에 순간적인 분류 작업이 보였다. 이 사람은 여기 어울리지 않는다.


"데모 잘 봤습니다."


정호가 먼저 입을 열었다. 목소리가 자기 것이 아닌 것처럼 건조하게 들렸다.


"감사합니다." 이서연이 형식적으로 답했다. 시선이 이미 정호 너머 출구를 향하고 있었다.


"박정호입니다." 정호가 지갑에서 명함을 꺼냈다. 넥스젠 그룹 CTO라고 적힌 명함. 퇴임 후 새 명함을 만들 이유가 없어서 아직 옛 것을 들고 다녔다. 쓸쓸한 습관이었다.


이서연이 명함을 받아 들었다. 눈이 살짝 넓어졌다. 넥스젠. CTO.


"퇴임하셨나 보네요." 이서연의 말투가 살짝 부드러워졌다. 경계가 호기심으로 바뀌는 전환.


"지난달에."


"넥스젠이면... 개발 조직 한 삼천 명 되죠?"


"됐었지."


이서연이 잠시 정호를 바라봤다. 무대 위에서의 자신감 넘치는 모습과는 다른, 사람을 읽으려는 조용한 시선.

"오늘 데모 보시면서 어떤 생각 하셨어요?"


질문이 직설적이었다. 정호는 솔직하게 답할지 아닌지를 이 초쯤 저울질했다. 체면이 한쪽에서 손을 흔들었다. 이건 인상적이었지만 프로덕션 레벨과는 거리가 있죠. 그렇게 말하면 편할 것이다. 대기업 출신답고, 위엄 있고, 안전한 대답.


"무서웠습니다."


말이 입에서 나온 뒤에야 정호는 자신이 그 단어를 꺼냈다는 걸 깨달았다. 무섭다. 그가 절대 쓰지 않는 단어.

이서연의 표정이 바뀌었다. 형식적 미소가 사라지고, 진지한 무언가가 올라왔다.


"왜요?"


"삼천 명이 삼 분에 대체되는 걸 봤으니까."


정호는 숨을 고르고 말을 이었다. "물론 과장이라는 거 압니다. 데모는 데모고, 현실은 다르죠. 하지만 아까 아리아가 던진 질문 있잖아요. '이 기능이 사용자에게 정말 필요한가.' 그건 우리 팀 시니어 아키텍트도 쉽게 못 하는 질문이었어요. 기계가 그걸 한다는 건..."


정호가 말을 끊었다. 문장을 끝내는 법을 찾지 못했다.


이서연이 작은 미소를 지었다. 이번에는 진짜 미소.


"솔직하시네요. 대기업 임원분들 만나면 보통 '인상적이지만 아직 한계가 있죠' 이런 얘기하시거든요."


"그것도 맞는 말이긴 합니다."


"맞죠. 근데 그 말은 보통 자기 포지션을 지키고 싶을 때 하는 거잖아요."


정호가 쓴웃음을 지었다. "더 이상 지킬 포지션이 없는 사람한테는 통하지 않는 방어선이죠."


이서연이 잠시 침묵했다. 그리고 의외의 말을 했다.


"실리콘밸리에서도 비슷한 걸 본 적 있어요. 거대한 조직을 이끌던 사람들이 기술 변화 앞에서 무너지는 거. 대부분은 저항하거나 무시했어요. 무섭다고 말한 사람은..."


이서연이 말을 멈췄다. 무언가를 떠올린 듯 시선이 허공에 머물렀다. 실리콘밸리. 그녀가 입을 다물고, 다시 정호를 봤다.


"어쨌든, 흔하지 않네요."


정호는 그 순간을 포착했다. 이서연이 실리콘밸리를 언급하다가 말을 돌린 것. 거기에 무언가가 있다. 하지만 지금 파고들 자리는 아니었다.


"커피 한잔 하실 수 있을까요?" 정호가 물었다. "오늘 본 것에 대해 좀 더 이야기를 듣고 싶습니다."


이서연이 정호를 바라봤다. 오 초. 그녀의 눈에서 경계심과 호기심이 교차했다.


"좋아요. 근데 오늘은 시간이 늦어서..”


“그럼 내일 시간 괜찮으세요? 제가 괜찮은 데 알아요."


서연이 짧게 웃었다.


건물을 나서자 성수동의 밤공기가 차갑게 피부에 와 닿았다. 일월의 서울. 골목 사이로 스타트업 사무실들의 불빛이 새어나왔다. 이 시간에도 켜져 있는 불. 정호는 넥스젠 본사를 떠올렸다. 삼십 층 건물의 야근 불빛들. 그것과 여기의 불빛은 같은 색이었지만 다른 온도를 가지고 있었다.


뒤에서 밋업장의 음악이 희미하게 들려왔다. 정호는 걸으며 주머니에서 스마트폰을 꺼냈다. 내일 골프 예약을 취소해야 했다.


아니, 아마 모레 것도.

이전 01화에이전트의 시대 1장