“AI가 다 해주는데, 왜 배워야 하나요?”
주변 사람들에게 코딩 공부를 한다고 하면 돌아오는 반응이 대체로 비슷하다. '요즘 AI가 다 해주는데 굳이 왜?' 이 질문을 처음엔 그냥 흘려들을 수 있었다. 그런데 이게 반복되다 보니 슬슬 신경이 쓰이기 시작했다. 과연 틀린 말일까? 틀린 말은 아니고 반만 맞다. AI는 실제로 코드를 짜주고 버그도 잡아준다. 원하는 기능을 말로 설명하면 그럴듯한 코드를 뚝딱 만들어 준다. 이건 과장이 아니라 지금 당장 일어나고 있는 현실이다. 하버드 대학교 CS50 수업에서 데이빗 말란 교수는 첫 강의 첫 마디를 AI 이야기로 시작했다. AI가 프로그래밍의 판 자체를 완전히 뒤집을 거라고들 말하는데 그 말이 100% 사실이라고 했다. 이미 판을 뒤집고 있고 앞으로는 더욱 심화할 거라고도 했다. 이 말을 꺼낸 사람은 AI를 두려워하는 누군가가 아닌 컴퓨터 과학 강의를 20년 넘게 가르쳐 온 사람이다. 그 정도 위치에서 그렇게 말했다면, 한번은 진지하게 들어볼 필요가 있다.
그럼에도 기초를 배워야 한다.
‘AI가 다해주는데 왜요?’ 말란 교수가 꺼낸 비유가 인상적이었다. 계산기가 처음 세상에 나왔을 때 이제 암산은 필요 없다고 사람들은 말했다. 계산기가 세상에 나온 지 수십 년이 지났음에도 우리는 지금도 덧셈과 뺄셈을 배운다. 계산기가 있어도 계산의 원리를 모르면, 계산기가 내놓은 답이 맞는지조차 판단할 수 없기 때문이다. 틀린 숫자 앞에서 아무것도 모른 채 고개를 끄덕이는 사람이 되지 않으려면 그 원리 정도는 알고 있어야 한다. 미적분도 마찬가지다. 교수는 대학 시절 적분 푸는 방법을 여섯 가지씩 배울 때를 떠올렸다. 원리는 알겠는데 이걸 다 외워야 하나 싶었다고 했다. 그러다 깨달았다. 원리를 이해하고 나면 그다음부터는 도구에 기대도 된다는 것이다. 순서가 중요한데, 먼저 이해하고 그다음에 맡기는 것이다.
[하버드의 컴퓨터 과학자이자 교수, 데이빗 J 말란]
코딩도 똑같다. AI가 코드를 짜준다고 해서 코드를 읽을 줄 모르면 어떻게 될까. AI가 만든 결과물이 맞았는지 틀렸는지 알 방법이 없다. 뭔가 이상하다 싶어도 어디가 문제인지 설명조차 못 한다. 그냥 다시 시켜보고 또 실패하고 결국 포기하게 된다. 그 상황이 반복되면 AI가 편한 도구가 아니라 믿을 수 없는 존재가 된다. 도구를 모르는 사람에게 도구는 언제나 위험하다.
그는 이걸 아주 직설적으로 표현했다. AI는 조수 이기 때문에 핸들은 여러분이 잡아야 한다고. AI는 훌륭한 부조종사다. 하지만 기장이 없는 비행기는 결국 어딘가로 추락한다. 조수가 아무리 유능해도 판단을 내리는 건 결국 조종석에 앉은 사람의 몫이다. 여러분은 기계에 끌려다니는 승객이 아니라 이 시스템을 장악한 설계자여야 한다고 했다.
CS50 강의에서는 실제로 열 줄짜리 파이썬 코드로 나만의 챗봇을 만드는 장면이 등장한다. OpenAI API를 불러오고 질문을 입력받고 응답을 출력하는 단순한 코드이다. 거기다 시스템 프롬프트라는 개념을 추가해 챗봇에 특정 방식으로 대답하라고 미리 지시를 내린다. 심지어 '고양이인 척 해봐'라는 명령을 집어넣자, AI가 CS50을 설명한 뒤 '야옹'이라고 덧붙이는 장면도 나와 청중들이 웃었다. 그런데 이걸 보면서 필자는 묘한 감각을 느꼈다. 이 결과물을 설계한 건 AI가 아니라 교수가 한 거였다. 어떤 재료를 어디에 쓸지, 어떤 결과를 만들어 낼지를 결정한 건 인간이었고 AI는 재료였다. 열 줄짜리 코드가 강력했던 이유는 그 열 줄의 의도를 설계한 사람이 있었기 때문이다.
이 수업의 핵심이 코딩 자체가 아니라는 말도 했다. 코딩할 줄 안다는 건 이 수업을 듣다 보면 생기는 일종의 부작용이고 진짜 목표는 생각하는 방법을 가르치는 것이다. 입력을 받아서 올바른 출력을 만들어 내는 논리, 문제를 쪼개고 순서를 정하고 효율적인 경로를 찾아내는 사고방식, 이 수업의 이름이 코딩 수업이 아니라 컴퓨터 사이언스 수업인 이유가 바로 여기에 있다. AI가 대신해 줄 수 없는 영역이기 때문이다. AI는 코드를 짜줄 수는 있어도 무엇을 만들어야 하는지는 알려주지 않는다.
전화번호부 이야기가 특히 기억에 남는다. 40억 개의 이름이 적힌 전화번호부에서 한 사람을 찾는다고 가정해 보자. 한 장씩 차례로 넘기는 방법이 있다. 정확하고 틀릴 일이 없다. 하지만 최악의 경우 40억 번을 봐야 한다. 평생이 걸릴 수도 있다. 반면 책을 딱 절반으로 펴서 원하는 이름이 앞쪽에 있는지 뒤쪽에 있는지 확인하고, 필요 없는 절반은 던져버리는 방법이 있다. 이걸 반복하면 40억 명 중에서 단 32번 만에 찾을 수 있다. 40억 대 32. 이건 속도의 차이가 아닌 접근 방식 자체가 다른 거다. 더 좋은 컴퓨터를 가져와도 멍청한 방법을 쓰면 낡은 노트북에 좋은 방법을 쓰는 상대를 절대 이길 수 없다. 이것이 알고리즘이다. 그리고 이걸 이해하는 것이 컴퓨터 과학의 핵심이다.
이 차이를 이해하는 사람과 이해하지 못하는 사람은 AI를 쓰는 방식 자체가 달라진다. AI에 뭘 물어야 할지, 어떻게 물어야 할지, 나온 답이 쓸만한 건지 판단하는 능력이 있는 사람과 없는 사람이 같은 AI 앞에 앉았을 때 나오는 결과는 완전히 다르다. AI는 답을 찾아주지만 무엇을 물어야 하는지는 인간이 알아야 한다. 그리고 그 질문을 제대로 만들려면 문제가 무엇인지 이해하고 있어야 한다.
필자도 처음엔 비슷한 생각을 했다. AI가 이미 다 해주는데 기초부터 공부하는 게 맞는 것일까? 그런데 공부를 시작하고 나서 느낀 건 오히려 정반대였다. 기초를 알수록 AI와의 대화 자체가 달라졌다. 무엇을 시킬지 더 명확해졌고, AI가 틀렸을 때 왜 틀렸는지 무엇이 잘못되었는지 보이기 시작했다. 잘못된 결과를 보고 고개만 끄덕이던 사람이 어디서 무엇이 잘못됐는지 짚을 수 있게 되는 것. 그 차이가 생각보다 훨씬 크다.
AI는 확대경이다. 있는 실력을 증폭시킨다. 실력이 없으면 아무것도 증폭되지 않는다. 실력이 없으면 오히려 잘못된 방향을 더 빠르게 달려가게 된다. 이전에도 비슷한 이야기를 한 적이 있다. AI, 잘 쓰면 약이고 못 쓰면 독이라고. 하버드 경영대학원의 연구를 보면, AI를 열심히 쓴 저성과 사업자들의 매출이 오히려 10% 줄고 고성과 사업자들의 매출은 올랐다. 같은 도구, 같은 플랫폼이었는데 말이다. 도구가 문제가 아니라 그 도구를 쥔 사람의 판단력이 문제였다. 챗GPT든 클로드든 제미나이든 더 좋은 모델을 써도 결과는 똑같을 것이다. 문제는 도구가 아니라 도구를 쥔 사람이다.
컴퓨터 사이언스를 배우는 건 단지 취업을 위한 스펙이 아니다. 특정 프로그래밍 언어를 익히는 것도 아니다. 이 세상이 어떻게 돌아가는지를 이해하는 방법이다. 우리가 매일 보는 화면 속 이미지, 주고받는 문자, 유튜브 영상과 같은 것들은 결국 수십억 개의 0과 1이 만들어 낸 거대한 숫자 덩어리다. 그 구조를 이해하는 사람과 이해하지 못하는 사람은 AI를 대하는 태도부터 달라진다. 무엇이든 원리를 아는 사람은 흔들리지 않는다.
그러니 AI가 다 해주는 시대일수록 기초가 더 중요하다. AI를 쓸 수 있는 사람과 AI에 쓰이는 사람의 차이는 결국 여기서 갈린다. 무엇을 어떻게 시켜야 하는지를 아는 것, 결과를 보고 맞고 틀렸는지 판단하는 것, 더 나은 방법을 떠올리는 것. 이 판단력이 지금 이 시대가 요구하는 진짜 역량이다. 도구가 아무리 좋아져도 그것을 제대로 쓰는 사람을 이길 수는 없다. 한마디로 AI한테 핸들을 넘기지 말라는 것이다.
> comments
댓글
댓글 쓰기