brunch

게임 프로그래머의 AI 활용

AI는 인간을 대체할 수 있을까?

by Uncle Lee

요즘 어딜가나 AI를 얘기하는 세상입니다. 게임 프로그래머로서 저도 회사 업무에 AI를 활용하고 있습니다. 주로 ChatGPT나 Github Copolit을 사용하여 코딩할 때 도움을 받죠. 회사 마다 또 개개인 마다 쓰는 방식이 다를 수 있을텐데 저는 주로 간단한 유틸리티를 만들거나 특정 코드가 잘 생각이 안 날 때 씁니다.


예를 들면 다음과 같은 것들입니다.

- 서버에서 받은 xml파일을 읽기 좋게 보여주는 xml뷰어

- C++에서 문자열을 처리하는 코드

- 두 텍스트 파일을 비교해서 다른 부분을 찾아주는 유틸리티


xml뷰어를 만들기 위해 입력한 프롬프트는 다음과 같습니다.

I want to make an "xml pretty" using html.
- there is an input field.
- there is a "pretty" button.
- when user press the button, the formatted xml string should be printed below.


이렇게 해서 나온 결과물은 이렇습니다.

제목 없음1.png




아주 순식간에 코드를 만들어 줬습니다만 약간 보기 불편한게 있습니다. xml문서에서는 컨텐츠가 한 줄일 때 close tag를 같은 줄에 붙여쓰는게 일반적입니다. 아직 AI가 이런 직관은 부족한것 같습니다. 그래서 이걸 수정해 달라고 이렇게 요청했습니다.


please modify some feature.
- if a tag has a content with just one line, then the close tag should attached right after the content text.


이제 좀 더 보기 좋아졌습니다.

제목 없음2.png




좀 더 욕심을 내서 컬러까지 넣어달라고 합니다.

Would you add a feature more?
- please apply color to each tag.


헛, 그런데 버그가 생겼습니다.

제목 없음3.png




컬러는 들어갔지만 태그 앞의 "<" 이게 모두 빠졌네요. 버그도 고쳐달라고 요청했습니다. 아무래도 컬러 기능은 다시 요청해야 할 듯 해서 넣었던 기능을 다시 빼달라고 했습니다.


There is a problem.
- All tags are shown without "<".
- please fix the bug.
- and remove the color feature.


이렇게 한 두세번 더 주거니 받거니 했는데 결국 버그는 못고쳤습니다. 그리고 결과물은 더 엉망이 되었고요.


제목 없음4.png


이쯤되면 계속 고쳐쓰기 힘들다고 판단이 됩니다. 좀 더 프롬프트를 다듬어야 할까 생각도 해봤는데 그냥 처음 만들어줬던 코드를 쓰는게 나을것 같습니다.


이렇게 저는 업무중 필요한 간단한 유틸리티를 만들 때 AI를 활용합니다. xml viewer같은 경우 무료 프로그램도 있고, 온라인 사이트도 많지만 회사 데이터이다 보니 유출이 걱정되어서 아무 프로그램이나 쓸 수가 없는 상황입니다. 이럴 때 AI의 도움을 받으면 보안도 문제 없고 업무 능률도 올라갑니다.

또한 C++에서는 문자열 처리가 상당히 불편한데 이런것을 짤 때도 ChatGPT한테 요청합니다. 구글 검색을 하면 여기저기 또 들어갔다 나왔다 하면서 정보를 모아야 하는데 AI는 정보를 취합해 한번에 제공해 주기 때문에 직접 검색하는 것보다 좀 더 편한 부분도 있습니다.



하지만 위에서 본 것처럼 AI는 내 입맛에 맞는 코드를 한방에 제공해주지 못합니다. 진짜 사람한테 요구하듯이 말하면 계속 엉뚱한 결과물을 내어주기도 합니다. 그리고 코드의 일부분만 수정이 필요할 경우 적용하기가 좀 불편한 부분도 있습니다. 그냥 요청하면 항상 전체 코드를 다 내려주고, 일부분만 달라고 하면 또 사람이 하나하나 비교해보면서 기존 코드를 수정해야 하기 때문이죠.


제가 AI를 업무에 활용하는 수준은 이정도 입니다. 더 깊이 사용하는 분들도 있으시겠지만 제 생각에 아직 현재의 AI기술은 사람을 완전히 대체하기는 힘들것으로 보입니다. 아주 간단한 프로토타입용 코드는 실제 사람보다 훨씬 빨리 만들어주지만 그 이후에 다듬어나가는 과정은 마치 5살짜리 어린아이에게 일을 가르치는 것 처럼 답답한 느낌이 듭니다.

현업에서는 한번 코드를 작성하고 끝나는 경우는 거의 없습니다. 몇 개월, 몇 년 꾸준히 유지보수를 하고 최적화를 하는 과정이 필요하죠. 이런 부분에서는 AI보다 사람 프로그래머가 훨씬 좋은 결과를 보여줍니다. 무엇보다 사람은 직접 실행해 보면서 뭐가 잘못된건지 파악이 가능한데 AI한테는 하나하나 다 설명해줘야 합니다. 그렇게 설명해 줘도 알아듣지 못하는 경우가 많죠.


따라서 저는 AI가 사람을 대체하기 보다는 사람이 쓰기 좋은 도구가 될 것으로 생각합니다. 전동 드라이버, 전동 해머가 있다고 목수라는 직업이 사라지지는 않는 것 처럼 말이죠. AI도 작은 조각 코드를 생성해 내는것은 실제 사람보다 더 나을때가 많습니다. 하지만 그 코드를 사용하고 품질을 평가하는건 결국 사람이 해야 할 일인것 같습니다. 그리고 전동 드라이버를 써야 할 때와 손 드라이버를 써야 할 때는 구분하는게 중요하듯이 실제 사람이 생각해야 할 부분과 AI를 활용할 부분을 잘 구분하는게 중요해질 것 같습니다.


keyword
작가의 이전글서버 프로그래머? 클라이언트 프로그래머?