brunch

AI가 잘 하는 것, 사람이 잘 하는 것

AI가 내 직업을 차지할것인가, 내가 AI를 잘 활용할 것인가

by Uncle Lee

AI때문에 프로그래머나 일부 직업이 필요 없어질거다라는 과격한 표현도 인터넷에서 종종 볼 수 있습니다. 개인적인 생각으로는 너무 섣부른 판단이라고 느껴집니다. AI뿐 아니라 새로운 도구나 기술이 등장하면 늘 있어왔던 이슈이기도 하죠. 실제로 개발 현장에서는 사람의 손이 아니면 해결하기 힘든 것들이 너무나 많습니다.


저도 업무에 AI를 활용하고 있습니다만 아주 작은 부분에서만 도움을 받고 있습니다. ChatGPT, Github copilot등 다양한 AI툴이 있지만 아직 게임 개발 현장에서는 AI보다는 사람이 대부분의 일을 처리합니다.

AI를 쓰면서 정말 똑똑한 조수 한명이 생긴 느낌이 들 때도 있고,

어떨때는 몇 번 말해도 못 알아 먹어서 그냥 내가 하고 말지 하는 때도 있습니다.

개인적으로 또는 회사 업무로 AI를 사용하면서 느낀점은 다음과 같습니다.


AI가 잘 하는 것

- 널리 알려진 특정 기능을 구현하는 함수 작성

- 로그를 찍는 코드처럼 단순하지만 귀찮은 코딩 작업

- 이전에 만든 클래스와 비슷한 일을 하는 새로운 클래스를 작성하는 작업


AI가 잘 못하는 것

- 기존 코드 베이스를 뒤져서 특정 기능을 수행하는 함수를 찾아 내는 것

- 간헐적으로 발생하는 버그의 원인을 찾아내는 일

- 인터넷으로 찾기 힘든 회사 내부 시스템만의 특정 문제를 해결하는 일

- 단순히 새로운 기능을 작성하는게 아닌 기존 시스템을 전체적으로 이해하고 풀어야 하는 문제들

- 기획자나 아티스트의 작업 효율성을 고려해서 지금 상황에 적합한 해결책을 만들어 내야 하는 경우

- 여러 서버에서 다수의 로그 파일을 가져와 분석하고 소스코드에서 관련 부분을 찾아 문제를 파악하는등의 복잡한 과정이 포함된 작업



AI, Good job!

작업 목표가 단순하고 명확할 수록 AI가 좋은 결과를 내어줬습니다. 작은 기능을 하는 함수를 만들거나 C++에서 문자열이나 시간을 다루는등의 코딩은 실제 사람보다 훨씬 더 빠르게 결과물을 만들어 줬습니다. 기존에는 구글링을 하고 복사해 와서 내 코드에 붙여넣고 오류를 수정하고 했던 작업이었는데 이걸 1초만에 만들어 줍니다.

또한 기존에 존재하는 함수와 비슷한 함수를 새로 구현한다던가 하는 일은 정말 잘 합니다. 한글 주석도 기존의 다른 주석의 문맥을 파악해서 적절한 문장을 제시해 줍니다. 변수명도 잘 지어주고요. 배열을 선언하고 for까지만 타이핑 하면 알아서 짧은 코드를 짜 주고 컨테이너에서 가져와 기본적인 연산을 하는 코드까지 작성 해 줍니다.

내 마음을 읽고 있는건가 하는 생각이 들 때도 있습니다. 이렇게 국소적인 부분은 실제 사람 프로그래머보다 훨씬 더 나은 효율성을 보여주는걸 경험했습니다.



AI, You fired!

하지만 AI가 사람 프로그래머의 자리를 위협할거란 생각까지는 들지 않았습니다. 분야에 따라 다르겠지만 적어도 라이브 게임을 유지보수 하는 일에는 아직 사람의 손을 더 필요로 합니다. 물론 앞으로 기술이 발전하면서 갑자기 확 위기감이 생기는 날이 올수도 있습니다. 기술 발전은 항상 제가 생각하는것 이상으로 빠르고 거대하게 이루어져 왔기 때문입니다. 미래는 알 수 없지만 현재로서는 그렇다는 얘기입니다.


위에 적은것 처럼 AI는 특정 부분에 있어서는 신속한 결과를 내어 줍니다. 목표가 선명할 수록 더 좋은 결과물을 만들어 줍니다. 하지만 기존의 코드 베이스에서 무언가를 찾아야 하거나 디버깅을 해야 하는 작업에는 큰 도움이 되지 못했습니다. 라이브팀에서 프로그래머가 하는 업무 대부분이 기존에 작성되어 있는 시스템이나 함수를 분석해서 새로운 요구사항에 적용하는 일 입니다. 새로 만드는 것 보다 기존 시스템을 분석하는데 더 많은 시간이 필요한 일이죠.


또한 코드만으로는 작업 결과를 예측할 수 없는 것들이 많습니다. 데이터에 따라서 결과가 달라지기도 하고 구동 환경에 따라 로컬에서는 발생하지 않던 문제가 생기기도 하죠. 이럴 경우 기획자가 작성한 데이터 파일도 열어봐야 하고 서버가 구동되는 머신의 설정 파일도 열어봐야 알 수 있습니다. 그리고 나서도 실제 게임을 돌려봐야 정확한 작동방식을 파악할 수 있는 경우도 있죠.


현재의 AI가 약한 부분은 이런 부분 입니다. 실제로 프로그래머들은 새로운 코드를 작성하는데 쏟는 시간 보다 기존 코드를 분석하고, 기존 시스템을 파악하고, 기존 히스토리를 알아내는데 더 많은 시간을 필요로 합니다.

그런데 Copilot은 단지 현재 Visual Studio내의 코드 베이스에서만 작업을 할 수 있습니다. 엑셀 파일을 열어서 어떤 데이터가 어떤 값을 갖고 있는지 파악하고, 그 부분을 코드 내에서 찾은 뒤, 이러이러한 값이 들어오면 어떻게 작동할 것이다 라는 것을 AI가 스스로 알아내서 사람에게 제시해 주는것 까지는 하지 못합니다.


또한 게임 서버가 오류가 나서 에러 로그가 잔뜩 찍혀있다면 수십기가에 달하는 로그파일을 뒤져서 어떤 과정을 거쳐 에러가 발생한건지 조사해야 합니다. 그리고 왜 로그가 그렇게 찍혔는지 코드를 뒤져서 원인을 분석하죠. 그 과정속에서 다른 팀 사람들과 커뮤니케이션도 해야 하고 때로는 회사 외부 업체와 연락을 주고 받기도 합니다. 그 뒤 이미 틀어진 유저 데이터는 어떻게 복구 할 것이며 이전으로 롤백하는게 좋은지, 그냥 두고 CS로 처리하는게 좋은지도 고민해야 합니다. 다음에 같은 문제가 안생기게 하려면 코드는 어떤 식으로 수정해야 하는지 생각한 다음 또 다른 사이드 이펙트가 없을지도 판단할 필요가 있습니다.

이런 작업을 통째로 AI에게 맡기는건 현재 기술로는 불가능합니다. 하지만 사람 프로그래머는 매일 매일 이렇게 일하면서 문제를 해결해 나가고 있습니다.



AI, my friend!

하지만 여기서 생각이 그친다면 프로그래머로서 뒤쳐질 수 있겠죠. AI가 잘 하는 포인트를 파악하고 그걸 업무 중간 중간에 활용한다면 훨씬 더 나은 결과를 얻을 수 있을 것입니다. 1에서 10까지 해야할 일이 있다면 그중에 한두개는 AI의 도움을 받아 조금 더 빠르게 일을 진행할 수 있습니다.

AI가 문자열을 조립하고 쪼개는 짧은 함수를 잘 만든다면 그걸 AI한테 시키고 나는 빠르게 가져다 쓰는거죠. 검증하는 코드가 필요하면 AI에게 케이스별로 함수를 만들어 달라고 할 수도 있습니다. 그리고 사람은 더 큰 그림을 그리는데 에너지를 쓰는 겁니다.


AI가 내 일자리를 뺏는게 아닙니다. AI를 써서 더 잘 할 수 있는 일을 고집부려가며 사람이 해서 효율성이 안나오게 되면 위협으로 느낄 수도 있겠죠. 이런 이슈는 AI뿐만 아니라 새로운 기술이 등장하면 늘 있어왔던 주제입니다.

그리고 AI기술이 실제 현장에서 더 의미있는 결과를 내어 준다면 누구나 자연스럽게 AI를 활용하면서 일을 하게 될 거라고 생각합니다. 서서히 스며들여서 AI를 쓰고 있는건지 아닌건지도 구분이 안되는 날이 올 수도 있다고 봅니다. 지금 너무나 당연하게 인터넷을 하고 구글링을 해서 정보를 찾는것 처럼 말이죠.


어느 한 순간 AI를 안써왔던 사람들이 다 퇴출되고 그 자리를 AI가 대체하는 그런 일은 없을거라고 생각합니다. 지금으로서는 너무 과한 걱정이 아닌가 싶습니다. 위에서 말한대로 똑같은 일을 하는데 AI보다 더 효율이 안나온다면? 그 일은 사람이 할 필요가 없는 일인 겁니다. 딱 그 일만 하는 역할이 있었다면 그 사람은 AI한테 대체될 수 있겠죠. 하지만 프로그래머가 함수 하나만 짜는 사람도 아니고 특정 결과만 놓고 사람을 완전히 대체할 수 있다는 건 너무 섣부른 판단이라고 생각합니다.


예를들어 특정 문자열에서 정규식을 써서 유효성을 검증하는 함수를 작성해야 하는 일이 있다고 합시다. 기존에는 내가 가진 지식이나 구글링을 통해 코드를 작성하고 복사해 왔는데 이제는 AI한테 한마디 물어보면 더 빠르게 함수를 만들어 줍니다. 이걸 사람이 짜느라 몇 시간, 혹은 며칠 걸린다고 한다면 당연히 그걸 직접 할 사람은 없겠죠. 이 상황에서 기존 작업 방식을 고집한다면 효율이 안나오는 작업자가 될 것입니다. 하지만 AI가 발전하는 만큼 사람도 새로운 환경에 적응하는 능력이 있죠. 따라서 깊은 산골에서 혼자 인터넷도 연결 안하고 개발하는 경우가 아닌 이상 AI가 사람 프로그래머를 대체하는 일은 일어나기 힘들거라고 봅니다.

사람이 하는 역할이 바뀌는 것이고, 더 쓰기 쉽고 편리한 도구가 나오는 것이라고 생각합니다.


keyword
작가의 이전글모르는걸 마음놓고 물어볼 수 있는 환경