티스토리 뷰
서론: 소크라테스적 거래
모든 이야기가 항상 거창한 계기에서 시작되는 것은 아니다. 때로는 인류의 역사만큼이나 오래되고 사소한, 그러나 지극히 절박한 결핍이 이야기의 물꼬를 튼다. 21세기를 사는 한 평범한 백수였던 나의 경우가 바로 그랬다. 오랜 직장 생활에 마침표를 찍고 만끽하던 자유의 시간은, 통장 잔고가 줄어드는 속도와 정확히 반비례하며 그 빛을 잃어가고 있었다. 자유라는 고상한 가치는 매달 빠져나가는 월세와 보험료 앞에서 속수무책이었고, 그중에서도 가장 먼저 타격을 입은 것은 인류의 가장 오래된 과업 중 하나인 구애 활동, 즉 데이트 비용이었다.
‘어떻게 하면 최소한의 비용으로 최대한 그럴듯한 주말을 보낼 수 있을까?’ 이 숭고하고도 처절한 질문에 대한 답을 찾아 인터넷을 헤매던 내 눈에, 운명처럼 한 줄기 빛이 들어왔다. 바로 공공데이터포털에서 제공하는 ‘전국 문화행사 정보 API’였다. 유료는 물론 무료 행사 정보까지 담긴 이 디지털 창고는 내게 단순한 데이터 목록이 아니었다. 그것은 가뭄에 시달리던 농부가 발견한 마르지 않는 샘이었고, 암흑 속에서 발견한 성냥 한 개비였으며, 절박한 백수에게 주어진 가능성의 불씨였다. “이걸로 사람들이 쓸 만한 서비스를 만들어볼까?”
문제는 명확했다. 나는 평생 사용자의 눈에 보이지 않는 땅속 세계, 즉 서버와 데이터베이스를 다루는 백엔드 개발자로 살아왔다. 사용자의 눈에 직접 보이는 화면을 그리고 색칠하는 프론트엔드 개발은 내게 에스페란토어나 고대 수메르어처럼 낯선 미지의 영역이었다. 하지만 곧이어 한층 더 무모한 생각이 뒤따랐다. ‘요즘 그렇게 유행이라던 인공지능(AI)한테 시키면 되지 않을까?'.
당시 내 마음속에는 AI에 대한 막연한 두려움과 거부할 수 없는 호기심이 뒤섞여 있었다. 실무에서 보조 도구로 AI를 써보긴 했지만, 그것은 마치 잘 훈련된 앵무새에게 몇 마디 말을 가르치는 수준에 불과했다. 나는 이 새로운 지능의 한계가 어디까지인지, 얼마나 멍청하고 또 얼마나 똑똑한지 제대로 시험해보고 싶었다. 이 프로젝트는 단순히 데이트 비용을 아끼기 위한 방편을 넘어, 이 새롭고 이질적인 존재와 협력하여 무언가를 창조하는 것이 어떤 느낌인지 그 본질을 이해하려는 개인적인 탐구로 발전했다. 그렇게 나는 돈 몇 푼을 아끼려다, 월 3만 원짜리 AI 팀원들을 이끄는 어설픈 팀장이 되어버렸다.
이 지극히 개인적인 탐구는 하나의 강력한 역사적 유사성과 맞닿아 있다. 인류는 언제나 자신의 발명품과 기묘한 애증 관계를 맺어왔다. 우리는 문제를 해결하기 위해 도구를 만들지만, 그 도구는 이내 우리 자신을 바꾸어 놓는다. 망치는 손의 쓰임새를 바꾸고, 자동차는 공간의 개념을 바꾸며, 책은 생각의 구조를 바꾼다. 그리고 지금의 AI처럼, 과거에도 그 시대를 뒤흔든 신기술에 대한 깊은 우려가 존재했다.
대표적인 예가 플라톤의 『파이드로스』에 기록된 소크라테스의 글쓰기에 대한 비판이다. 자신의 시대에 등장한 혁신 기술이었던 ‘글쓰기’가 진정한 지혜가 아닌 지혜의 ‘외양’만을 낳을 것이라 소크라테스는 우려했다. 그는 글쓰기가 기억력을 쇠퇴시키고, 사람들이 내면의 자원을 통해 스스로 기억해내는 대신 외부의 표식에 의존하게 만들 것이라고 걱정했다. 그에게 글쓰기는 “기억의 비약이 아니라 상기의 비약(elixir not of memory, but of reminding)”이었다. 이 새로운 발명품은 사용자들에게 "가르침 없이 많은 것을 듣게 하여, 그들이 대부분 무지하면서도 많은 것을 아는 것처럼 보이게" 만들고, 결국 "지혜로워 보이는 탓에 함께하기 어려운 사람"으로 만들 것이라고 예언했다.
소크라테스의 고대적 근심에서 오늘날 개발자가 AI 코드 어시스턴트를 대하는 경험으로 직접적인 선을 그을 수 있다. 순식간에 코드 조각과 해결책을 생성해내는 이 도구들은 궁극의 “상기의 비약”이다. 이것들은 우리의 지적 “기억”, 즉 프로그래밍 원리와 문제 해결 패턴에 대한 깊고 내재화된 이해를 약화시킬 위험이 있다. 하지만 소크라테스의 비판은 여기서 그치지 않는다. 그의 더 깊은 우려는 글쓰기가 상호작용이 불가능한 '죽은 글자'라는 점에 있었다. 글은 "살아있는 존재처럼 서 있지만, 질문을 던지면 장엄한 침묵을 지킬 뿐"이며, "항상 똑같은 한 가지만을 말한다". 진정한 앎(episteme)은 살아있는 대화, 즉 질문과 답변이 오가는 변증법을 통해서만 얻어지는데, 글은 이러한 역동적인 과정을 원천적으로 차단한다.
바로 이 지점에서, 내가 마주한 AI의 본질이 더욱 선명해진다. 나는 이 월 3만 원짜리 디지털 동료를 고용함으로써 소크라테스적 거래를 하고 있는 것인가? 생산성의 외양을 얻는 대가로, 진정한 이해에 도달하는 고통스럽지만 성스러운 과정을 내주고 있는가? 이 에세이는 그 질문에 대한 답을 찾아가는 한 개발자의 서투르고, 때로는 코믹하며, 종종 섬뜩하기까지 한 분투의 기록이다.
1부: 디지털 견습생 길들이기
나의 첫 프로젝트 ‘무료한 문화생활’은 AI라는 요술 램프를 처음으로 문질러 본 경험과 같았다. 소원을 들어줄 강력한 지니는 분명 나타났지만, 정작 소원을 명확하게 말하는 법을 몰랐던 주인에게 돌아온 것은 기대와는 조금 다른, 어딘가 기묘한 결과물이었다. 나는 갓 채용한 신입사원에게 일을 맡기는, 다소 거만한 팀장의 태도로 ChatGPT에게 지시를 내렸다. “공공데이터 API로 데이트 비용 아낄 서비스 만들고 싶어. 알아서 잘, 그리고 예쁘게.” 마치 레스토랑에서 셰프에게 "맛있는 걸로 아무거나 주세요"라고 말하는 것과 같은, 무책임하고도 막연한 주문이었다.
놀랍게도 AI는 제법 그럴듯한 기획안을 내놓았다. 심지어 별도의 서버 없이 ‘깃헙 액션(Github Action)’이라는 자동화 도구를 써서 주기적으로 데이터를 업데이트하라는, 기술적으로 꽤 영리한 제안까지 덧붙였다. 나는 잠시 우쭐해졌다. ‘월 3만 원짜리치고는 꽤 쓸만한데?’ 이 신입사원의 잠재력에 대한 섣부른 기대감에 부풀어, 나는 디자인과 개발까지 한 번에 맡기는 대담한 결정을 내렸다. 그리고 몇 분 뒤, 내 눈앞에 나타난 결과물은 한마디로 ‘디지털 프랑켄슈타인’이었다. 2000년대 초반, 인터넷의 여명기에나 볼 수 있었던 현란한 그라데이션과 의미를 알 수 없는 그림자 효과, 서로 다른 행성에서 온 듯 전혀 어울리지 않는 폰트들의 조합은 차마 눈 뜨고 보기 힘든 수준이었다. 그것은 웹사이트라기보다는, 누군가 포토샵 필터를 홧김에 쏟아부은 뒤 그대로 굳어버린 디지털 참사에 가까웠다.
이 장엄한 실패는 내게 중요한 교훈을 남겼다. AI에게 한 번에 모든 것을 맡기는 것은, 오케스트라 지휘자가 모든 연주자에게 각자 다른 악보를 나눠주며 “자, 이제 알아서 멋진 곡을 연주해봐”라고 말하는 것과 같았다. 조화로운 결과물을 위해서는 명확한 역할 분담과 구체적인 지시, 그리고 무엇보다 지휘자의 뚜렷한 비전이 필수적이었다. 나는 접근 방식을 전면 수정했다. 나 자신을 단순한 아이디어 제공자에서 프로젝트의 전체 그림을 그리고 조율하는 ‘팀장’으로 재정의하고, 거대한 단일 AI에게 모든 것을 맡기는 대신 기능별로 세분화된 가상의 팀을 꾸렸다.
첫째, 프로젝트의 방향과 사용자 경험의 뼈대를 잡는 ‘기획자 AI’. 둘째, 눈에 보이는 모든 것을 책임지는 까다로운 취향의 ‘디자이너 AI’. 셋째, 기획과 디자인을 현실로 구현하는 우직한 ‘개발자 AI’. 이렇게 역할을 나누자 마법 같은 변화가 일어났다. 나는 더 이상 AI에게 “알아서 잘해줘”라고 말하지 않았다. 대신 ‘기획자 AI’와는 서비스의 핵심 가치에 대해 논쟁했고, ‘디자이너 AI’에게는 “좀 더 미니멀한 스타일로 가되, 사용자가 가장 중요하게 생각할 무료 행사 정보는 눈에 잘 띄도록 강조해줘. 애플 웹사이트 같은 느낌, 뭔지 알지?”라며 구체적인 레퍼런스를 제시했다. 그리고 이 모든 논의를 거친 명세서를 ‘개발자 AI’에게 넘겨주자, 비로소 내가 상상했던 그림과 유사한 결과물이 나오기 시작했다. 이 전략적 변화는 내 작은 프로젝트들의 성공률을 극적으로 높였다.
이 깨달음 이후, 나는 마치 컨베이어 벨트에서 제품을 찍어내듯 서비스를 만들기 시작했다. 낯선 사람과의 대화에서 화제가 고갈되는 개인적인 고충을 해결하기 위한 ‘대화주제 생성기’, 수익화라는 원대한 꿈을 꾸며 만든 제휴 마케팅 사이트 ‘알요미’. 아이디어가 떠오른 지 몇 시간이면 그럭저럭 작동하는 웹사이트 하나가 뚝딱 탄생했다. 이 과정에서 내가 느낀 강렬한 ‘재미’와 무시무시한 속도감의 정체는 바로 ‘압축된 피드백 루프(Compressed Feedback Loop)’의 힘이었다.
전통적인 개발 과정은 아이디어 구상에서 실제 작동하는 결과물을 보기까지 기나긴 인내의 시간이 필요하다. 그것은 마치 씨앗을 심고 싹이 트기를, 열매가 맺히기를 기다리는 농부의 시간과 같다. 코드를 한 줄 쓰고, 저장하고, 컴파일하고, 수많은 에러와 싸우고, 마침내 브라우저에서 결과를 확인하기까지의 과정은 수많은 마찰과 지연으로 가득 차 있다. 하지만 AI와의 협업은 이 모든 중간 과정을 증발시켰다. 아이디어를 프롬프트라는 형태로 입력하면, 몇 분 안에 살아 움직이는 코드가 눈앞에 나타났다. 생각과 결과 사이의 거리가 거의 제로에 가까워진 것이다.
심리학에서 피드백 루프는 행동이 환경으로부터 받는 반응에 의해 형성되는 순환 과정을 의미한다. 이 순환이 빠르고 명확할수록 행동은 더 효과적으로 강화되거나 수정된다. AI는 코딩 과정에서 가장 지루하고 마찰이 큰 부분, 예컨대 CSS 스타일을 맞추기 위해 픽셀 단위로 숫자를 조정하거나 반복적인 함수를 작성하는 일을 대신 처리해주었다. 그러자 나는 창작의 가장 핵심적이고 즐거운 부분, 즉 ‘이걸로 뭘 만들까?’와 ‘어떻게 다르게 만들어볼까?’라는 질문에만 온전히 집중할 수 있었다. 지루한 반복 작업이 사라지고 즉각적인 보상이 주어지자, ‘일’은 마치 잘 만든 비디오 게임처럼 느껴지기 시작했다. 최근 연구들은 풍부하고 즉각적인 감각 피드백이 주어질 때 사람들이 주관적으로 느끼는 시간이 압축되는 현상을 보고한다. 나의 경험은 이와 정확히 일치했다. 몇 시간이 순식간에 지나갔고, 나는 창작 행위 자체에 완전히 몰입했다.
하지만 이 강력한 쾌감의 이면에는 미묘한 경고등이 깜빡이고 있었다. 즉각적인 보상으로 작동하는 이 피드백 루프는 긍정적 습관을 형성하는 강력한 도구인 동시에, 소셜 미디어의 ‘무한 스크롤’이나 유튜브의 ‘자동 재생’처럼 우리의 의지력을 좀먹는 파괴적인 습관을 강화하는 메커니즘이기도 하다. 내가 경험한 강렬한 즐거움은 순수한 창작의 기쁨이었을까, 아니면 즉각적인 보상에 길들여진 뇌가 만들어내는 도파민의 향연이었을까? 이 압축된 피드백 루프가 주는 달콤함이, 어쩌면 더 깊고 느린 사유가 필요한 어려운 문제에 대한 나의 인내심을 갉아먹고 있는 것은 아닐까 하는 의문이 고개를 들기 시작했다.
나의 짧은 개발 여정의 정점은, 내가 전혀 알지 못하는 미지의 영역에 무모하게 발을 들였을 때 찾아왔다. AI와 이런저런 아이디어를 던지며 브레인스토밍을 하던 중, ‘AI 얼굴 나이 맞히기’라는 아이디어가 눈에 띄었다. ‘서버 없이 브라우저에서만 이게 가능하다고?’ 회의적인 내 질문에 AI는 `face-api.js`라는 자바스크립트 라이브러리의 존재를 알려주었다. 나는 스스로를 자책했다. 수년간 서버만 들여다본 탓에, 세상이 얼마나 변했는지 까맣게 모르고 있었던 것이다. 전문 개발자라는 사람이 이런 강력한 기술의 존재조차 모르고 있었다니. 구글링을 해보니 `face-api.js`는 이미 2018년경에 등장했고, 그와 유사한 기술을 활용한 서비스들은 내가 이 아이디어를 떠올리기 한참 전부터 인기를 끌고 있었다. 나는 한참 늦어버린 것이다.
이 부끄러운 발견은 그러나 기묘한 연쇄 반응을 일으켰다. `face-api.js`가 단순히 얼굴을 인식하는 것을 넘어 눈, 코, 입의 좌표까지 찾아준다는 사실을 알게 된 나는 AI에게 다시 물었다. “이 좌표로 또 뭘 할 수 있을까?” AI는 ‘퍼스널 컬러 진단’을 제안했다. 솔직히 나는 퍼스널 컬러가 무엇인지도 몰랐다. ‘웜톤’, ‘쿨톤’ 같은 단어는 들어봤지만, 그것이 화장품 가게의 상술인지 과학적 근거가 있는 이론인지조차 알지 못했다. AI가 그 원리를 장황하게 설명해주었지만, 색채 이론과 이미지 처리 기술이 뒤섞인 설명은 내 머릿속에 들어오지 않았다.
바로 그 순간, 나는 대담하고도 지극히 게으른 결정을 내렸다. 내 안의 책임감 있는 엔지니어는 ‘이해하지 못하는 기술을 사용해서는 안 된다’고 속삭였지만, 호기심 많은 게으름뱅이는 ‘그래서 결과가 어떻게 되는데?’라고 부추겼다. 결국 게으름뱅이가 이겼다.
“모르겠고, 그냥 만들어 줘.”
기획, 디자인, 개발. 나의 AI 팀원들은 또 한 번 결과물을 뱉어냈다. 나는 반신반의하며 주변 지인 몇 명에게 테스트를 부탁했다. 잠시 후, 놀라운 메시지가 도착했다. “이거 어떻게 만들었어? 나보고 ‘가을 웜톤’이래. 작년에 전문가한테 돈 주고 진단받은 거랑 똑같아!” 소름이 돋았다. 나는 `face-api.js`의 작동 원리도, 퍼스널 컬러 이론의 핵심도, 심지어 내부에 어떤 계산 로직이 돌아가는지도 전혀 모르는데, 그럭저럭 작동하는 결과물이 탄생한 것이다.
바로 이 지점에서 나는 섬뜩한 질문과 정면으로 마주했다. 나는 과연 AI를 내 지식을 증폭시키는 ‘확성기’로 활용하고 있는 것인가, 아니면 그저 AI에게 뇌의 일부를 의탁한 채 생각 없이 엔터키만 누르는 ‘디지털 꼭두각시’로 전락하고 있는가? 편리함에 기대어 생각하는 과정을 외부에 떠넘기는 ‘인지적 오프로딩(cognitive offloading)’의 안락한 함정에 빠져들고 있는 것은 아닐까 하는 불안감이 엄습했다. 이 개념은 우리가 스마트폰에 전화번호를 저장하면서 친구의 번호를 더 이상 외우지 않게 되는 현상을 설명한다. 전문가에게 AI는 강력한 부스터가 될 수 있지만, 나처럼 어설프게 아는 사람에게는 생각하는 능력을 쇠퇴시키는 달콤한 독이 될 수도 있었다. 내가 만든 것은 과연 나의 창작물인가, 아니면 나는 그저 AI가 뱉어낸 결과물을 세상에 내놓는 배달부에 불과한가?
2부: 기계 속 유령과 양심의 무게
나의 AI 팀원들은 눈부시게 똑똑했지만, 동시에 심각한 결함을 가진 동료이기도 했다. 이들과의 협업은 마치 안개 낀 숲속에서 유능하지만 변덕스러운 유령과 함께 길을 찾는 여정과 같았다. 그 유령은 놀라운 지름길을 알려주는가 싶다가도, 홀연히 사라지거나 엉뚱한 방향을 가리키며 나를 곤경에 빠뜨리곤 했다. 이 디지털 견습생들은 때때로 너무나도 능숙하게 거짓말을 하고(환각), 예상보다 훨씬 많은 월급을 축내며(토큰 비용), 자신이 내놓은 결과물에 대해서는 일말의 책임감도 느끼지 않았다(윤리적 문제).
프로젝트의 규모가 조금이라도 복잡해지면, 어김없이 기묘한 현상이 발생했다. 프로젝트 초반, 명민하고 총기 넘치던 나의 ‘신입사원’은 대화가 길어질수록 점차 총기를 잃고 멍텅구리가 되어갔다. 방금 전에 우리가 합의했던 디자인 시안을 까맣게 잊어버리거나, 프로젝트의 핵심 목표와는 전혀 상관없는 엉뚱한 코드를 제안하기 시작했다. 이것은 단순한 변덕이 아니었다. 문제의 핵심에는 ‘컨텍스트 창(Context Window)’이라는, 대규모 언어 모델(LLM)이 가진 근본적인 구조적 한계가 자리 잡고 있었다.
AI의 컨텍스트 창은 흔히 ‘작업 기억(working memory)’에 비유된다. AI가 한 번의 대화에서 기억하고 처리할 수 있는 정보의 총량에는 물리적인 제한이 있다는 뜻이다. 이는 마치 눈코 뜰 새 없이 바쁜 레스토랑의 베테랑 웨이터와 같다. 그는 방금 들어온 1번 테이블의 주문은 완벽하게 기억하지만, 30분 전에 7번 테이블 손님과 나눴던 스몰토크의 내용은 이미 머릿속에서 지워버린 지 오래다. 대화가 길어져 이 용량을 초과하는 순간, AI는 가장 오래된 정보를 가차 없이 창밖으로 밀어내 버린다. 사람과 사람은 대화가 깊어질수록 서로에 대한 이해와 신뢰가 쌓이지만, 현재의 AI는 역설적이게도 대화가 길어질수록 중요한 맥락을 잃고 ‘바보’가 되어가는 것이다. 나는 팀장이 아니라, 5분마다 프로젝트의 처음부터 끝까지 모든 것을 다시 브리핑해야 하는 기억상실증 환자의 간병인이 된 기분이었다.
이 아슬아슬한 기술적 한계는 곧바로 지갑을 위협하는 경제적 문제로 이어졌다. AI와의 모든 상호작용은 토큰이라는 화폐를 통해 정산된다. 컨텍스트 창을 가득 채운 긴 질문을 던질 때마다, 내 계좌에서는 마치 택시 미터기처럼 비용이 실시간으로 빠져나갔다. 이 보이지 않는 비용은 나의 창의적인 과정에 미묘하지만 확실한 족쇄를 채웠다. ‘이 아이디어를 시험해볼까?’ 하는 순수한 호기심이 ‘이 질문은 과연 몇백 원의 가치가 있을까?’라는 현실적인 계산 앞에서 주춤거리기 시작했다. 자유로운 브레인스토밍은 어느새 비용 효율을 따지는 조심스러운 탐색으로 변질되었다. 그것은 창의성에 부과된 세금, 호기심에 매겨진 벌금과도 같았다.
하지만 금전적 비용보다 훨씬 더 무겁게 다가온 것은 바로 윤리적 딜레마의 무게였다. 나의 작은 장난감 프로젝트였던 ‘퍼스널 컬러 진단기’는 의도치 않게 나를 불편한 진실과 마주하게 했다. 내가 가볍게 활용했던 `face-api.js` 라이브러리는 단순히 얼굴의 특징점을 찾는 것을 넘어, 사용자의 감정, 성별, 나이까지 추정하는 기능을 품고 있었다. 공교롭게도 이 기능들은 거대 기술 기업인 마이크로소프트가 자사의 서비스에서 공식적으로 폐기하기로 결정했던 바로 그 기술들이었다. 오용될 경우 특정 집단에 대한 고정관념을 강화하고 차별을 야기할 수 있다는 심각한 우려 때문이었다.
나는 순수한 재미로 시작한 내 작은 프로젝트가, 사회적으로 이미 위험성이 경고된 기술의 연장선 위에 놓여있다는 사실을 깨닫고 섬뜩함을 느꼈다. 나는 과연 ‘가을 웜톤’이라는 유쾌한 결과 뒤에 숨겨진, 잠재적인 편향의 가능성을 충분히 인지하고 있었는가? 이 모델이 특정 인종이나 성별에 대해 편향된 결과를 내놓을 가능성은 없는가? 여기에 더해, AI가 학습 과정에서 사용했을 수많은 이미지와 코드의 저작권 문제라는 또 다른 법적 지뢰밭이 안개처럼 펼쳐져 있었다. 내가 무심코 사용하고 배포한 AI 생성 코드가, 사실은 특정 라이선스가 걸린 코드를 무단으로 복제한 결과물일 수 있다는 가능성은 이 편리한 기술의 이면에 숨겨진 책임의 무게를 실감하게 했다.
바로 이 지점에서 우리는 중요한 통찰에 도달한다. 기술적 문제로 치부되는 ‘환각(Hallucination)’과 사회적 문제로 여겨지는 ‘편향(Bias)’은 사실 별개의 사안이 아니다. 이들은 딥러닝 모델의 본질인 ‘불투명한 통계적 추론’이라는 동일한 근원에서 파생된 두 개의 다른 증상일 뿐이다. 따라서 AI 시대 개발자의 역할은 순수하게 기술적인 영역에서 사회-기술적인 영역으로 확장될 수밖에 없으며, 이는 우리에게 새로운 형태의 책임, 즉 ‘윤리적 디버깅(Ethical Debugging)’을 요구한다.
이제 개발자는 더 이상 “코드가 기술적으로 작동하는가?”라고만 물을 수 없다. 우리는 반드시 “이 AI가 생성한 코드에 숨겨진 사회적 가정은 무엇인가?”, “이 라이브러리가 무의식적으로 영속시킬 수 있는 편향은 무엇인가?”라고도 물어야 한다. 디버깅이라는 행위는 이제 코드의 논리적 오류를 찾아 수정하는 것을 넘어, 그 코드가 사회에 미칠 수 있는 윤리적, 사회적 파급 효과를 분석하고 완화하는 과정까지 포함하게 된 것이다.
이 새롭고 무거운 책임은, 에세이의 서두에서 언급했던 소크라테스가 ‘글쓰기’라는 신기술을 비판했던 지점과 정확히 맞닿아 있다. 소크라테스는 글이 “자신을 변호할 줄도 모르고, 누구에게 말해야 하고 누구에게 말하지 말아야 할지 알지 못한다”고 우려했다. 한번 세상에 나온 글은 그 의도와 상관없이 홀로 떠다니는 ‘고아’와 같다는 것이다. AI가 생성한 코드 역시 마찬가지다. 그것은 맥락도, 의도도, 윤리적 분별력도 없이 그저 존재할 뿐인, 소크라테스가 말한 ‘죽은 글자’의 완벽한 21세기적 현현(顯現)이다.
흥미롭게도 소크라테스의 비판에 대한 해답은, 역설적으로 그 비판을 ‘글로 기록한’ 제자 플라톤의 행위 속에 암시되어 있다. 소크라테스는 글이 부당하게 비난받을 때 “언제나 아버지의 도움이 필요하다”고 말했다. 플라톤은 스승 소크라테스의 ‘말’이라는 고아에게 ‘글’이라는 육신을 부여하고, 자신의 편집과 해석을 통해 그 ‘아버지’의 역할을 자처했다. 이처럼 오늘날의 개발자는 AI가 낳은 이 유령 같은 ‘고아 코드(Orphan Code)’의 아버지가 되어야만 한다. 생성된 코드를 맹목적으로 복사-붙여넣기 하는 ‘디지털 앵무새’가 아니라, 그 코드를 신중하게 입양하여 맥락을 부여하고, 편향을 검증하며, 그것이 세상에 미칠 모든 영향에 대해 전적인 책임을 지는 후견인이 되어야 하는 것이다. 이것이야말로 ‘윤리적 디버깅’의 본질이며, AI 시대 개발자에게 주어진 피할 수 없는 플라톤적 과업이다.
3부: 사냥의 기묘한 즐거움
프로젝트들을 닥치는 대로 밀어붙이던 어느 늦은 밤, 나는 문득 키보드에서 손을 떼고 의자 깊숙이 몸을 기댔다. 창밖은 칠흑 같은 어둠에 잠겨 있었고, 모니터에서는 방금 완성된 코드가 희미한 빛을 뿜어내고 있었다. 그 순간 나를 덮친 것은 성취감이나 안도감이 아니었다. 그것은 지극히 단순하고도 당혹스러운 질문이었다. ‘어째서 이 모든 과정이 이토록 재미있었을까?’
분명 이것은 ‘일’이었다. 데드라인은 없었지만 스스로 부여한 목표가 있었고, 해결해야 할 기술적 문제가 산적해 있었다. 하지만 과정은 노동의 고통보다는 잘 만든 비디오 게임의 몰입감에 가까웠다. 몇 시간은 몇 분처럼 느껴졌고, 식사도 잊은 채 모니터에 빠져들었다. 한때는 그토록 지긋지긋하게 느껴졌던 코딩이라는 행위가, 어째서 AI라는 동료 하나를 들인 것만으로 손에 땀을 쥐게 하는 스포츠 경기처럼 변모했단 말인가? 이 기묘한 즐거움의 정체를 해부해볼 필요가 있었다.
그 해답의 실마리는 심리학자 미하이 칙센트미하이(Mihaly Csikszentmihalyi)가 평생에 걸쳐 탐구한 ‘몰입(Flow)’이라는 개념 속에 있었다. 몰입이란 어떤 활동에 완전히 빠져들어 시간의 흐름이나 자의식마저 잊게 되는 최적의 경험 상태를 말한다. 칙센트미하이에 따르면, 몰입은 몇 가지 조건이 충족될 때 비로소 찾아온다. 명확한 목표, 행위에 대한 즉각적인 피드백, 그리고 가장 중요하게는 당면한 과제의 난이도와 내 능력치가 아슬아슬한 균형을 이룰 때다. 과제가 너무 쉬우면 지루함을 느끼고, 너무 어려우면 불안감에 휩싸인다. 몰입은 그 지루함과 불안함 사이의 좁고 황홀한 협곡을 지날 때 경험하는 최고의 희열이다.
돌이켜보면, 나의 AI 신입사원은 이 몰입의 조건들을 완벽하게 조율해주는 일종의 ‘몰입 상태 유도 장치(Flow State Induction Engine)’였다. 첫째, ‘무료 문화 행사 정보 사이트 만들기’ 같은 작고 명확한 목표는 내가 어디로 가야 할지 알려주는 북극성이 되어주었다. 둘째, 1부에서 언급했던 ‘압축된 피드백 루프’는 나의 모든 행동에 거의 실시간으로 반응하며 길을 안내하는 영리한 셰르파와 같았다. 하지만 이 엔진의 진짜 마법은 세 번째 조건, 즉 ‘도전과 기술의 균형’을 동적으로 조율하는 능력에 있었다.
나의 가장 큰 골칫거리는 프론트엔드 개발이었다. CSS의 미세한 픽셀 하나를 조정하다 보면 자신감은 바닥나고 불안감만 차오르곤 했다. 바로 이 지점에서 AI는 구원투수처럼 등판했다. 내가 감당하기 힘든 불안의 영역을 기꺼이 떠맡아 주었다. 반면 내가 어느 정도 자신감을 가진 백엔드 로직 설계나 프로젝트의 전체적인 방향을 설정하는 문제처럼, 적절한 도전의식을 불러일으키는 과업은 고스란히 나의 몫으로 남겨두었다. AI는 마치 내 능력에 맞춰 높낮이를 실시간으로 조절해주는 영리한 발판과도 같았다. 덕분에 나는 지루함의 나락으로 떨어지지도, 불안의 늪에 빠지지도 않은 채, 짜릿한 몰입의 협곡 위를 계속해서 걸어 나갈 수 있었던 것이다.
이 즐거움의 근원을 한 꺼풀 더 벗겨보면, 우리는 심리학의 영역을 넘어 인류의 더 깊은 기원, 즉 진화심리학의 문 앞에 서게 된다. 인류학자들은 우리의 수렵-채집인 조상들에게 생존 활동이었던 사냥과 채집이, 오늘날 우리가 생각하는 고된 ‘노동(toil)’과는 거리가 멀었다고 주장한다. 그것은 오히려 자율적으로 목표를 설정하고, 즉각적인 피드백 속에서 기술을 연마하며, 성공과 실패가 분명한 ‘놀이(play)’에 가까운 활동이었다는 것이다.
나의 AI 코딩 경험은 놀라울 만큼 이 원시 시대의 ‘즐거운 사냥’의 구조와 닮아 있었다. 전통적인 개발 과정이 ‘농업’에 가깝다면 말이다. 농업은 씨앗을 심고, 오랜 시간 김을 매고 물을 주며, 수확의 기쁨을 위해 기나긴 인내의 시간을 견뎌야 한다. 그 과정에는 수많은 지루함과 예측 불가능한 변수(벌레, 가뭄)가 도사리고 있다. 반면 AI와의 협업은 ‘사냥’과 같았다. ‘새로운 기능’이라는 명확한 사냥감이 있었고, 나는 AI라는 강력한 창을 손에 쥐었다. 프롬프트를 던지고 결과를 기다리는 과정은 숨죽여 사냥감을 쫓는 추격전의 긴장감을 닮았고, 마침내 원하는 코드를 얻어냈을 때의 환희는 사냥에 성공한 뒤의 원초적인 쾌감과 다르지 않았다.
물론 이 비유에는 겸손한 각주가 필요하다. 나는 광활한 평야에서 매머드를 쓰러뜨리는 위대한 사냥꾼이 아니었다. 기껏해야 마법 같은 도구를 손에 쥔 어설픈 견습생이, 뒷산에서 토끼 몇 마리를 잡고 의기양양해하는 수준에 불과했다. 중요한 것은 결과물의 크기가 아니라, 그 과정의 ‘형태’였다. AI는 내게서 코딩의 가장 농업적인 부분, 즉 끝없는 반복과 기약 없는 기다림이라는 ‘노동’의 요소를 앗아갔다. 그리고 그 자리에 창의적인 문제 해결의 핵심, 즉 새로운 해결책을 ‘사냥’하는 과정의 짜릿함과 즉각적인 성취감이라는 ‘놀이’의 감각을 채워 넣었다.
이는 인간과 기술, 그리고 창조의 관계에 대한 근본적이고도 낙관적인 가능성을 시사한다. 칙센트미하이는 수동적으로 받아들이는 쾌락인 ‘즐거움(pleasure)’과, 능동적으로 기술을 연마하고 도전을 극복하며 얻는 ‘재미(enjoyment)’를 명확히 구분했다. 넷플릭스를 보며 소파에 누워있는 것은 즐거움이지만, 우리를 성장시키지는 않는다. 반면 서툰 솜씨로 기타 코드를 익히고 마침내 노래 한 곡을 연주해냈을 때의 희열은, 우리를 성장시키고 삶을 풍요롭게 하는 재미에 해당한다.
어쩌면 AI의 진정한 잠재력은, 우리를 모든 노동에서 해방시켜 끝없는 ‘즐거움’의 바다로 밀어 넣는 것이 아닐지도 모른다. 오히려 그 반대일 수 있다. AI는 노동의 가장 고되고 반복적인 부분을 자동화함으로써, ‘일’ 자체를 성취감과 성장이 함께하는 ‘재미’의 영역으로 되돌려 놓을 수 있다. 그렇다면 AI가 가져올 가장 심오한 변화는 생산성 향상이라는 경제적 차원이 아니라, 노동의 본질을 재창조하는 존재론적 차원에 있을 것이다. AI는 우리를 노동에서 해방시키는 도구가 아니라, 노동 안에서 즐거움을 해방시키는 도구가 될 수 있다.
결론: 인쇄공의 견습생
열흘간의 폭풍 같은 여정이 끝났다. 처음에는 고작 데이트 비용 몇 푼을 아껴보려는, 지극히 개인적이고도 다소 민망한 동기에서 시작된 일이었다. 하지만 그 끝에서 나는 더 이상 AI를 단순한 연장이나 값싼 노동력으로 볼 수 없게 되었다. 그것은 내 작업 방식, 사고 과정, 나아가 창조라는 행위의 본질 자체를 뒤흔드는 거대한 충격이었다. 이 변화의 규모를 제대로 이해하기 위해, 우리는 잠시 렌즈를 뒤로 당겨 인류 역사의 가장 거대한 유추 중 하나에 기댈 필요가 있다. 지금 우리가 겪고 있는 이 순간은, 구텐베르크의 인쇄기가 가져온 정보 혁명과 가장 닮아있다.
이 거대한 역사적 비유는 우리를 에세이의 처음으로 되돌린다. 우리가 구텐베르크의 순간을 살고 있다면, 개발자의 새로운 역할은 무엇이 될까? 답은 명확하다. 우리는 더 이상 한 글자 한 글자 정성껏 필사본을 옮겨 적던 중세의 서기(scribe)가 아니다. 인쇄술의 등장은 서기의 아름다운 손글씨 기술을 하룻밤 사이에 구식으로 만들었지만, 지식 노동 자체를 없애지는 않았다. 오히려 그 기술은 이전에는 상상조차 할 수 없었던 새로운 직업 생태계—인쇄공, 식자공, 교정자, 그리고 이 모든 것을 총괄하는 출판업자—를 탄생시켰다.
나의 역할 역시 이와 같이 변하고 있었다. 하루 종일 모니터 앞에 앉아 모든 논리를 코드로 수동 변환하는 고된 노동은, 르네상스 시대의 인쇄공 겸 출판업자(printer-publisher)가 수행했던 더 고차원적이고 전략적인 과업으로 그 무게 중심을 옮겨가고 있었다.
인쇄술이 막 등장했던 15세기 중반의 인쇄소를 상상해보자. 그곳의 주인은 더 이상 최고의 필경사일 필요가 없었다. 그의 진짜 능력은 어떤 원고를 찍어낼지 선택하는 안목, 가장 효율적인 활자 조합을 찾아내는 기획력, 완성된 책의 오류를 잡아내는 비판적 시각, 그리고 이 모든 과정의 비용과 시간을 관리하는 경영 능력에 있었다. 그의 손은 잉크와 기름으로 더러워졌을지언정, 그의 머리는 시스템 전체를 조망하고 있었다.
바로 이 지점에서 AI 시대 개발자의 새로운 역할이 선명해진다.
첫째, 우리는 ‘비평가’이자 ‘큐레이터’가 되어야 한다. 이전의 개발자가 주어진 논리를 코드로 구현하는 ‘작가’에 가까웠다면, 이제 우리는 AI라는 다작(多作) 작가가 쏟아내는 수많은 초고 중에서 옥석을 가려내는 ‘편집자’가 되어야 한다. AI가 내놓은 코드는 정답이 아니라, 검토해야 할 제안에 불과하다. "이 코드는 기술적으로 작동하는가?"라는 질문을 넘어, "이것이 과연 최선인가? 더 우아하고 효율적인 길은 없는가? 이 코드에 숨겨진 잠재적 편견이나 보안 위협은 없는가?"라고 집요하게 되묻는 비판적 태도가 가장 중요한 자질이 된다. 나의 ‘퍼스널 컬러 진단기’ 프로젝트가 아슬아슬하게 보여주었듯, 무비판적인 수용은 편리함을 넘어 무책임의 영역으로 우리를 이끈다.
둘째, 우리는 시스템 전체를 설계하는 ‘건축가’가 되어야 한다. 개별 코드를 한 줄씩 쌓아 올리는 벽돌공의 역할은 상당 부분 AI에게 위임되었다. 이제 우리의 핵심 과업은 어떤 AI 모델(GPT, Claude, Llama 등)을 선택하고, 어떤 데이터를 공급하며, 이들을 어떻게 유기적으로 연결하여 하나의 견고한 시스템을 구축할 것인지를 결정하는 것이다. 이는 마치 다양한 분야의 전문가들을 모아 하나의 거대한 건축물을 완성하는 총감독의 역할과 같다. 우리는 더 이상 연주자가 아니라, 오케스트라 전체의 조화를 책임지는 지휘자가 되어야 한다.
마지막으로, 그리고 가장 중요하게, 우리는 AI가 낳은 ‘고아 코드(Orphan Code)’의 법적, 윤리적 후견인이 되어야 한다. 서두에서 언급했듯, 소크라테스는 글이 "언제나 아버지의 도움이 필요한 고아"와 같다고 우려했다. 21세기의 AI가 생성한 코드는 그 우려의 완벽한 현현(顯現)이다. 그것은 맥락도, 의도도, 책임감도 없이 그저 존재할 뿐이다. AI는 자신이 만든 코드가 저작권을 침해하는지, 특정 집단에 대한 차별을 야기하는지 알지 못하며 신경 쓰지도 않는다. 그 모든 책임의 무게는 AI의 프롬프트에 ‘엔터’ 키를 누른 바로 그 사람, 즉 개발자에게 고스란히 지워진다. 우리는 AI가 뱉어낸 결과물을 세상에 내놓는 배달부가 아니라, 그 결과물이 세상에 미칠 모든 영향에 대해 전적인 책임을 지는 ‘출판 발행인’이 되어야만 하는 것이다.
서두에서 던졌던 소크라테스의 질문으로 돌아가 글을 맺는다. 생산성의 외양을 얻는 대가로 진정한 이해를 내주는 ‘소크라테스적 거래’의 함정을 어떻게 피할 수 있을까? 그 해답은 이 새롭고 훨씬 더 까다로운 ‘출판업자’의 역할을 의식적으로, 그리고 기꺼이 받아들이는 데 있다. 소크라테스가 진정으로 두려워했던 것은 지식의 외양 그 자체가 아니라, 그 외양을 진실로 착각하는 검토되지 않은 삶이었다. 그리고 출판업자의 역할이란 본질적으로 검토와 책임의 역할이다.
AI에 의해 대체될 것이라는 두려움은 어쩌면 초점이 맞지 않은 것일 수 있다. 진정한 도전이자 기회는 ‘진화’하는 것이다. 나의 작고 보잘것없는 사이드 프로젝트 여정은 이 진화의 가능성을 보여주는 미약하지만 진실된 증거다. 이 여정의 끝에서 나는 내가 무슨 위대한 사냥꾼이나 노련한 인쇄공이 아님을 안다. 나는 그저 강력한 새 도구를 손에 쥐고 어쩔 줄 몰라 하며, 그 사용법과 책임의 무게를 이제 막 배워나가는 서툰 ‘견습생’에 불과하다.
AI는 내 정신의 대체물이 아니다. 그것은 나로 하여금 더 나은 사상가, 더 책임감 있는 창조자, 그리고 더 사려 깊은 인간이 되도록 강요하는 강력하고, 기묘하며, 때로는 지독하게 까다로운 새로운 파트너다. 결국, AI는 쉬운 답을 주는 도구가 아니라, 훨씬 더 나은 질문을 던지게 하는 도구다. 그리고 아마도 그것이, 지혜로 나아가는 유일한 길일 것이다.
마지막으로 제가 실제로 열흘 남짓한 기간동안 AI 와 협업을 통해 제작한 프로젝트들의 결고물을 공유하고자 합니다. 백수의 주머니 사정상 아쉽게도 서버가 필요한 서비스들은 일찌감치 접어야 했습니다. 덕분에 별도의 서버 없이 운영 가능한 프로젝트들만 남게 되었네요. 아래 소개할 웹페이지들은 AI 와 협을 통해 만든 프로젝트들 중에 별도의 서버 없이 동작 가능한 정적 웹사이트들 입니다.
물론 기획, 디자인, 프론트엔드 전문가분들의 날카로운 눈에는 허술한 점투성이일 겁니다. 평생 땅속(서버)만 파던 개발자가 처음으로 지상에 어설프게 지어 올린 집들이니, 부디 너그러운 마음으로 구경해주시면 감사하겠습니다.
여기까지, 한 백수의 기묘한 채용기에 관심 가지고 함께해주신 모든 분께 깊은 감사를 전합니다.
무료한 문화생활 – 무료 전시·공연·축제 일정
지역·카테고리·날짜별로 손쉽게 찾는 문화 이벤트 큐레이션 플랫폼
freeculture.xyz
알요미 - 알리익스프레스 귀여운 직구 아이템 모음
세상 모든 귀여움을 알요미에서! 최저가·할인·쿠폰 정보까지 한곳에.
alyomi.pages.dev
https://smalltalkmaker.pages.dev/
대화 주제 생성기 - 어색한 침묵을 깨는 스몰토크 주제들
친구, 연인, 동료와 할 말이 없을 때? 어색한 순간을 즐겁게 바꿔줄 대화 주제를 즉시 생성해보세요!
smalltalkmaker.pages.dev
AI 얼굴 나이 테스트 | aiface
AI가 3초 만에 당신의 얼굴 나이를 분석해 드립니다!
aiface.pages.dev
https://aipersonalcolor.pages.dev/
AI 퍼스널 컬러 진단기 | 내 인생 컬러 찾기
사진 한 장이면 OK! AI가 3초 만에 찾아주는 나의 진짜 퍼스널 컬러를 확인해보세요.
aipersonalcolor.pages.dev
'에세이' 카테고리의 다른 글
항해에 나서지 못한 배를 위한 변명 (7) | 2025.07.30 |
---|---|
서버실의 유령 (0) | 2023.04.25 |
낡은 지도를 들고 미지의 도시를 탐험하는 법 (0) | 2023.03.16 |
구명조끼와 위조된 보물 지도: 오해와 삽질의 연대기 (0) | 2021.07.11 |
- Total
- Today
- Yesterday
- 몰라서망신
- markov chain
- 야근
- 자바스크립트 개론
- 전략패턴
- java
- 마르코프
- 문장 생성기
- GROUP BY
- was
- 코딩의 기술
- 동적계획법
- 클린코드
- 유지보수
- 디자인패턴
- Warning
- html
- Spring in Action
- DP
- Count
- CONVENTIONS
- REST API
- restful api
- 경고
- Markov
- 마르코프 연쇄
- 로그
- 자바스크립트개론
- RESTful
- 크롬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |