인공지능을 활용한 학습 경험
이초록
2024-04-24 21:26
전체공개
최근 새로운 개발 언어를 사용하는 프로젝트에 참여하게 되었다. 차근차근 학습할 생각으로 온라인 강의를 구매했는데, 개발 일정이 예상보다 2주 정도 앞당겨지면서 강의의 절반도 끝내지 못한 채 개발을 시작해야 했다. 간단한 코드 작성에도 어려움을 느꼈던 나는 개발의 많은 부분에서 GPT의 도움을 받았다. GPT는 적재적소에 필요한 기능을 알려주는 똑똑한 선배였을 뿐만 아니라, 직접 코드를 작성하거나 작성된 코드를 검토해 주는 성실한 후배이자 동료의 역할을 훌륭하게 해냈다. 결과적으로 GPT 덕분에 기한 내에 모든 기능을 구현해 낼 수 있었다.
이번 프로젝트는 책이나 강의를 통해 학습했던 기존의 방식과 GPT를 활용해 학습하는 방식이 어떻게 다른지 비교해 볼 기회가 되었다. 기존의 방식은 ‘학습 순서’가 정해져 있다. 대부분은 문자열 출력부터 조건문, 반복문과 같은 쉬운 코드에서 시작해 복잡한 코드로 확장하며 학습한다. GPT를 활용한 학습은 순서가 존재하지 않는다. 기능을 서술하면 GPT가 최적의 코드를 작성하고, 개발자는 작성된 코드를 분석하며 학습한다. 불필요한 학습을 줄이고, 필요한 기능만 선택적으로 학습하므로 개발 속도는 전과 비교할 수 없을 정도로 월등히 빨라진다. 또 다른 장점으로는 개발자의 숙련도와 상관없이 누구나 비슷한 품질의 코드를 작성할 수 있다는 점이다. 숙련도와 상관없이 같은 결과를 얻을 수 있다면, 신입개발자가 경력개발자를 대체하거나 비개발자가 개발자를 대체할 수 있다. 이러한 변화는 개발 비용 절감에 큰 영향을 미칠 거라 생각한다. 이처럼 GPT가 제공하는 이점도 있지만, 분명한 단점도 존재한다. GPT가 작성한 코드는 약속된 명명규칙이나 코딩스타일을 따르지 않기 때문에 일관성이 없고, 가독성을 고려하지 않는다. 따라서 원활한 협업을 위해서는 후작업이 필수적이다. 또한, 현재의 기술로는 연결된 질문에 대한 이해가 충분하지 않아 잦은 오류를 낸다는 점도 있다. 그러나 내가 생각하기에 가장 큰 단점은 GPT에 의존성이 높아진 나머지 스스로 학습을 하기보다, GPT에게 재질문해 문제를 해결하려는 태도를 가질 수 있다는 점이다. GPT를 활용한 학습은 자신의 지식이나 경험과 결합해 자기 것으로 만드는 과정이 반드시 필요하다. 지나치게 결과(기능의 정상적인 동작)에만 치중하면 이런 과정을 건너뛰는 선택을 하게 된다. 프로젝트 종료 후에도 여전히 새로운 개발 언어가 친숙하게 느껴지지 않는 건 내가 이 부분에 경계심을 갖지 않았기 때문이다.
책을 읽은 덕분에 인공지능을 활용한 개발 경험은 이전과 어떻게 다른지, 앞으로 개발자의 역할은 어떻게 변화할지에 대해 깊이 생각할 수 있었다. 검색 엔진이 나오기 전에는 책에서 모든 정보를 얻어야 했던 것처럼, 앞으로는 코드 작성 보다 업무 프로세스를 정의하는 일이 개발자의 주된 일이 되지 않을까 하는 생각도 든다. 그럼에도 아직 GPT를 통한 학습이 ‘미완성 학습’처럼 느껴져서 다시 책을 뒤적거리게 되는 건 어쩔 수 없는 것 같다. 앞으로 10년 뒤 인공지능이 정착된 개발 환경은 어떤 모습이 될지 궁금하다. 가능하다면 인공지능에 의존하는 개발자가 되기보다 잘 활용하는 개발자가 되어 있었으면 좋겠다.
댓글
첫 번째 댓글을 남겨주세요