brunch

AI 시대 코딩을 공부해야할까?

AI 환각에 질릴 정도

by 팟캐김

'바이브 코딩'이 코딩의 대세가 될 것 같다. 그냥 원하는 형태를 언어로 표현하면 자동으로 만들어주는 식이다. 그것까지 안 가더라도 챗GPT 등 생성형 AI를 통하면 기본적인 코드를 만들어주니 예전처럼 일일이 코드를 외울 필요는 없어 보인다. 그렇다고 해서 코딩에 대한 지식이 없어도 될까?


(사실 생성형 AI 나오기 전에도 개발자들은 여러 코드 뭉치를 갖고 돌려 쓰곤 했다. 18년 전 자바를 배울 때도 '이클립스' 같은 툴에서는 다음에 나올 코드를 자동으로 보여주고, 오류가 난 부분을 표시해주곤 했다. 결국에는 인간의 경험과 결정, 노하우가 각 코드를 연결해서 하나의 '성과물'로 만들어준다.)


AI도 인간의 경험과 지식에 따라서 학습하다 보니 인간이 하는 실수를 그대로 따라갈 때가 있다. 이를 제때 잡아주지 못하면 큰 실수를 범할 수 있다.


이렇게 생각하면 쉽다. AI가 기억력 좋고 명석하면서 피로를 전혀 호소하지 않는 부하 직원이라고. 유능하지만 그도 실수를 할 때가 있다. 이걸 인간의 눈으로 잡아내지 못하면 큰 오류를 낸다. 전적으로 AI가 내는 성과물을 믿지 말아야 한다는 얘기다.


최근 들어 이를 절실히 느꼈다. '내가 무언가를 잘 모를 때'와 '그렇지 않을 때'의 확연한 차이를 느꼈기 때문이다. 무슨 일일까.


최근 논문을 준비하면서 STATA 등을 통한 데이터 분석을 하고 있다. 처음에는 STATA 패키지가 내놓는 결과물을 해석하지 못했다. 한 예로 P값과 각 변수의 계수 값 등의 의미를 이해하지 못했던 것. 그 부분은 화면을 캡처해서 AI에게 물어봤다.


통계 패키지에 들어가는 명령어 코딩도 챗GPT에 물어가면서 했다. 덕분에 예전 10년 전이었으면 감히 엄두조차 못 냈을 데이터 분석을 할 수 있었다. 지금 생각해도 챗GPT를 통해 알게 된 결과물의 90% 이상은 다 맞을 것이라고 봤다.


그러다 최근 들어 알게 된 게 하나 있는데, 챗GPT의 해석이 틀린 게 있다는 점이다. 나도 계량경제학, 자료 분석 등의 수업을 듣고 시험 공부를 하면서 통계 데이터를 어느 정도 읽을 수 있게 됐다. 그 자료가 갖는 의미 등에 대해서 생각해볼 수 있게 됐다는 얘기다.


지금은 STATA에서 나온 결과치를 한 번 눈으로 보고, 혹시 내가 놓치는 부분이 없을까 싶어 챗GPT에 해석을 물어본다. 그런데 한 번은 전혀 이상하게 해석하는 것을 봤다. P값(P-value)이 분명 유의수준 안으로 나왔는데, 바깥으로 나왔다고 하며 자기 멋대로 얘기하는 것을 발견한 것이다.


문득 초반 내가 했던 결정 과정이 생각났다. 챗GPT의 결과치를 전적으로 믿고 조사·통계 방향을 돌렸는데, 그게 실수였을 것이라는 점이다. 파산과 개인회생에 대한 데이터였는데, 초반에는 파산에서 유의미한 결과치를 얻을 수 없는 것으로 봤다. 챗GPT가 해석해주는 그대로 인식했던 것. 그래서 개인회생으로 방향을 돌렸다.


물론 개인회생 데이터에서도 유의미한 결과를 얻을 수 있었다. 하지만 파산 데이터에서 더 중요한 사실을 찾을 수 있다는 것을 묵과할 수밖에 없었다. 뭔가 골이 띵해 오는 느낌을 받았다.


얼마 지나지 않아 정말 엉뚱한 해석을 또 보게 됐다. 종속변수와 독립변수의 관계에 대한 부분이었다. STATA 결과치에 나온 변수의 계수가 양수가 나왔다. 챗GPT는 이것만 보고 변수가 '늘었다'고 해석했다.


그러나 답은 달랐다. 계수의 플러스 혹은 마이너스는 단순하게 '늘었다', '줄었다'가 아니라 '정의 관계'냐 '역의 관계'냐를 가리키는 것이다. 다시 말해 '플러스'라고 하면 독립변수와 종속변수가 정의 관계(양의 관계)이고, 늘어날 때 같이 늘고 줄어들 때 같이 줄어든다. 미시경제학을 공부하지 않았다면 나도 모르고 깜빡 속을 뻔했다.


gpt2.png


함수를 보는 기본적인 사항일 수 있는데 챗GPT는 이를 간과했다. 곧이곧대로 믿었다가는 또 한 번 방향을 잘못 설정할 수 있었다. 이를 논문에 반영했다면 큰 망신을 당할 뻔했다.


다시 돌아와보자. 생성형 AI가 물론 큰 도움이 되지만, 그것의 오류를 찾을 수 있는 힘은 인간이 갖고 있어야 한다. 주도권은 어디까지나 AI가 아닌 인간이 가져가야 한다는 것. 자료 요약도 마찬가지다. 은근슬쩍 AI가 자신이 조합한 것을 끼워 넣는다. 그게 맞을 수도 있지만 경우에 따라 치명적인 결과로 이어질 수 있다.


실제 꽤 이름이 알려진 매체가 국회예산정책처에 사과하는 일이 발생했다. 국회예정처가 배포한 자료를 요약해서 기사를 썼는데, 그곳 직원의 멘트가 아닌 게 기사에 들어가 있었다. 박스 기사 말미에 전문가 종합 논평이 들어가곤 하는데, AI가 제멋대로 그 구조를 만들어 넣었던 것. 국회예정처 쪽 사람들은 황당해 했고 그 기자와 매체는 사과할 수밖에 없었다.


지금도 이렇게 멘트를 AI가 제멋대로 짜깁기하는 것에 '분노의 감정'을 느낀다. 나조차도 여러 번 당했으니까. '기사의 구조'를 학습했을 뿐 '사실을 전한다'라는 저널리즘의 본질을 학습하지 못한 AI의 한계라고 생각한다.


코딩도 마찬가지 아닐까. 파이썬을 기초부터 공부하고 있는데, '지금 시대에 굳이 해야하나' 싶다가도, AI가 내놓는 엉뚱한 결과치에 부아가 치밀어 '당연히 공부해야지'라고 생각한다.


keyword
매거진의 이전글한 무명이의 전자책 출판 후기-2