놀라움에서 두려움으로, 그리고 그 너머: Chat GPT 로 코딩 해본 경험 #1

Moon Works·2023년 3월 4일
5

ChatGPT로 개발하기

목록 보기
1/2
post-thumbnail

Chat GPT 로 코딩한 계기

최근 직장 동료가 Chat GPT 로 작성한 코딩 예시를 보게 되었다. 처음에는 그냥 간단한 예시정도로 생각했지만, 실제로 작성된 코드를 보니 굉장히 놀라웠다. 이 정도면 앞으로 개발자가 할 일이 없어지겠구나. 모든 것이 AI 로 대체 될 것이란 걱정까지 들었다.

그러면서 나도 한번 시도해 볼까 하는 생각이 들었다. 그래서 만들고자 하는 것을 생각해보았다. 생일 메시지를 애니메이션으로 만들어서 공유하는 것을 찾아본 적이 있는데 외국 사이트에서는 한글을 지원하지 못했고 결국 원하는 것을 찾지 못했던 기억이 있었다. 그래서 생일 때 특별한 메시지를 보낼 수 있는 애니메이션 되는 생일카드를 만들고 싶었다.

만드는 과정 (to be continue)

만드는 과정은 놀라움에서 두려움으로, 그리고 그 너머: Chat GPT 로 코딩 해본 경험 #2 -Chat GPT 를 이용해 개발하는 과정을 참고 바란다. 짧은 시간 만들어낸 심플한 결과물은 UI 나 디자인은 마음에 들지 않았지만 초기에 기대했던 수준의 결과물이 나왔다.

입력창에 highlight 를 주고 gif 까지 만드는 것을 포함하여 작업하고 싶었으나, 이렇게 센세이션 한 것을 다른 사람들도 알고 적용해보고 인사이트를 함께 공유하길 바라는 마음에 최소한의 내용으로 빨리 공유하기로 했다.

Chat GPT 를 이용한 개발의 어려움

결과를 얻기 까지 순조로웠던 것만은 아니었다. Chat GPT 가 어떤 녀석인지 파악하는데 어려움이 있었다. 혹시나 하는 마음으로 두루뭉실하게 질문을 하면 정말 원하는 결과를 얻기 힘들었다. 신이 아닌 이상, 나의 명확한 의도를 어떻게 파악하겠는가. 그래서 chat api 프롬프트에는 너무 많은 내용을 주저리 주저리 작성하게 된다. 그렇다고 그 결과에 맞는 결과를 한번에 주는 것도 아니다. 동작시켜보고 또 코드를 확인해본 후 내 의도대로 동작하지 않는 원인을 찾아 다시 Chat GPT 에게 문의하는 상황을 몇 번 반복해보니 차라리 개발하는 게 낫겠다는 생각이 들었다.

Chat GPT 로 개발하는 것의 이점

그럼에도 불구하고, Chat GPT 를 사용하며 우리에게 얻을 수 있는 이점도 있었다. 예를 들어, Chat GPT 를 사용하면 코딩 가이드라인을 제공할 수 있다. 어떤 라이브러리를 사용해야 할지, 어떤 흐름으로 코드를 작성해야 할지 등을 제시해줄 수 있기 때문이다. 또한 Chat GPT 가 제공하는 결과물은, 명확한 요구사항이 제시되면 꽤 만족스러운 결과를 얻을 수 있었다. 특히 사람과 다르게 꺾이지 않는 집중력으로 동일한 퀄리티를 줄 수 있다는 점은 매우 큰 강점이다.

Chat GPT 로 개발하는 것의 우려

하지만 Chat GPT 를 사용함에 있어서 우려되는 부분도 생겼다. 마치 구글 신과 stackoverflow 에 의존한 것처럼 Chat GPT 에 의존하는 일이 점점 많아지지 않을까라는 걱정이 든다. 검색하지 않고 고민하면서 복사 붙여넣기 없이 직접 코딩해야 실력이 늘어난다는 연구 결과가 있는 것처럼, Chat GPT 의 의존은 개발자의 역량을 키우는 데 방해가 되는 요소가 되지 않을까하는 우려가 들었다. 머지 않아 꽤 많은 개발자 수요를 대체할 수 있을 거 같다는 불안감도 생겼다.

개발자의 미래가 있을까? (우리가 대처해야할 것은?)

과연 우리 개발자들은 정말 살길이 있을까? 아직은 있다고 본다. 아직 Chat GPT 는 명확히 원하는 요구 사항에 대한 답을 해줄 수 있는 능력은 있지만 요구 사항의 이상의 것을 해주기 힘들어 보인다. 따라서 명확한 요구사항이 필요하며 범위가 넓을수록 원하는 결과를 얻기 힘들다.

좀 더 큰 시스템 설계 능력

이런 관점에서 개발자들은 좀더 큰 관점에서 개발을 생각할 수 있는 능력이 필요하다는 생각이 들었다. 작은 function 조각들을 조합하여 큰 시스템을 만드는 능력을 향상시킬 필요가 있다는 말이다. 아직 AI 는 작은 부분 부분을 만드는 것에는 매우 훌륭한 능력을 보여주지만, 좀 거대한 시스템을 만드는 것을 대신하기에는 좀 더 많은 시간이 필요할 것 같다. 그래서 전체 시스템에 대한 설계를 하고 각 모듈 간의 연관 관계를 이해하는 것이 더 중요해지지 않을까?

코딩에 대한 기본적인 역량

이를 위해 기본적으로는 AI 가 제시해준 코드를 이해하고 파악하는 능력이 필요하다. AI 에서는 여러 가지 안을 제시해주지만, 어떤 것이 내 상황에 더 맞는 것인지는 개발자가 파악해야한다. 그 이후의 요구사항에 대해서 좀더 명확하게 요구할 수 있어야 할 수 있어야 한다.

그리고 인간적인 더 많은 아이디어

더불어 시간이 지날수록 기획 능력이나 아이디어가 풍부한 사람들에게 더 많은 기회가 되지 않을까라는 생각도 들었다. 과연 어느 정도 깊이 있게 코딩을 이해하는 것이 필요할까라는 의문과 향후 코딩을 배우려고 하는 사람들이 어떻게 학습해야하는게 좋은 방향인지를 고민하게 만드는 계기가 되었다.

결론

Chat GPT 가 지금 어느 정도 수준까지 왔는지를 보면서 놀라웠고 향후 더 빨라질 인공지능의 발전속도를 생각하며 두려움을 느꼈다. 그럼에도 불구하고 Chat GPT 가 아직은 개발자를 대체할 수 있는 수준은 아니다라는 판단이다. 원하는 결과인지는 결국 사람의 판단과 결정이 필요기 때문이다. 이를 위해 Chat GPT 가 만들어내는 결과에 대해 판단할 수 있는 능력을 키우고 피할 수 없는 AI 의 조류를 활용하여 더 훌륭한 개발자로 성장할 수 있겠다는 생각을 해본다.

profile
계속 성장하고 싶은 개발자. 사이드프로젝트(https://www.month2k.com)

0개의 댓글