메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

[도서리뷰] 개발자의 하루를 바꾸는 코파일럿 & 챗GPT

moon***

|

2023-09-23

개발자의 하루를 바꾸는 코파일럿 & 챗GPT

코드 설명부터 제안, 자동 완성, 테스트 작성까지 든든한 AI 조수와 페어 프로그래밍하기

  • 저자 : 마이클 D. 캘러핸
  • 번역 : 정원창
  • 출간 : 2023-09-08

챗GPT는 근래에 가장 핫 한 단어로 생성형 AI 도구를 활용하면 다양한 분야에 큰 도움을 받을 수 있다고 알려지고 있다. 특히 개발자에게도 다양한 언어에 개발적 스킬을 손쉽게 제공을 해줄 수 있다는 측면에서 개발의 효율성이 크게 증대될 것이라 생각한다. 

 

이 책에는 생성형 AI가 페어 프로그래밍 상대가 되어 깃허브 코파일럿과 챗GPT를 조수로 두고 코드를 제안하고, 질문에 답하고, 간단한 애플리케이션을 만들어준다. 다양한 실습을 진행하면서 업무 효율성 향상을 위한 인사이트를 제공받는다. 이 책에 포함된 주제는 아래와 같다. 

 

소프트웨어 개발에서 AI 활용하기

쉘 스크립팅 명령

깃 명령

일반적인 알고리즘

PxJS 학습하기

앵귤러 HttpClient

정규 표현식

데이터 생성

애자일 프로젝트 관리

유닛 테스트

다른 고려사항들  

 

이 책에서는 깃허브 코파일럿과 챗GPT를 사용하여 각각의 입력문과 출력문에 대해 표기해 준다. 

코파일럿의 개념과 깃허브 코파일럿이 무엇인지를 아는게 중요하다.

 

깃허브 코파일럿(Github Copilot) 이란?

깃허브 코파일럿은 OpenAI Codex를 이용하여 개발자에게 실시간으로 코드를 제안하는 프로그램입니다. 깃허브가 보유한 수억 라인의 public 코드로 인공지능을 훈련시켜서 만들었는데요. 개발 속도를 높여줄 뿐 아니라 마치 AI와 페어 프로그래밍하듯이 실시간 코드를 제안해주기 때문에 향후 개발 생산성에 큰 영향을 미칠 것으로 보여집니다. GitHub Copilot은 공개 저장소에 나타나는 모든 언어로 훈련되었습니다. 각 언어에 대한 제안의 품질은 해당 언어에 대한 훈련 데이터의 양과 다양성에 따라 다를 수 있습니다. 예를 들어, JavaScript는 공개 저장소에서 잘 나타나 있으며, GitHub Copilot에서 가장 잘 지원되는 언어 중 하나입니다. 공개 저장소에서 대표성이 덜한 언어는 덜 정확하거나 덜 견고한 제안을 생산할 수 있습니다.

 

깃허브 코파일럿 신청 및 가격

깃허브 코파일럿을 신청하려면 우선 깃허브(GitHub.com) 계정이 있어야 합니다. 깃허브 계정이 학생 또는 유명 오픈소스의 관리자로 확인되면, 깃허브 코파일럿을 무료로 이용할 수 있습니다. 학생 또는 오픈소스 관리자가 아닌 분들은 무료 트라이얼을 이용하여 첫 60일동안은 무료로 사용할 수 있습니다. 다만, 무료 트라이얼 기간이 끝난 후에는 비용을 지불해야 합니다. 깃허브 코파일럿 가격은 월 10 달러 또는 연 100달러 인데요. 월 또는 연 단위 지불 방식은 아무때나 변경할 수 있습니다. 

 

깃허브 코파일럿 설치 및 사용법

현재 깃허브 코파일럿을 사용할 수 있는 IDE로는 VS Code, Visual Studio, JetBrains, Neovim이 있습니다. 각 IDE에서 깃허브 코파일럿 Extension을 설치하고, Github 계정을 연결하면 됩니다. 

설치와 계정 연결이 끝나고 IDE를 한번 재부팅 해주면 바로 깃허브 코파일럿을 사용할 수 있습니다. 

 

Github Copilot 사용 방법

Github Copilot 사용 방법은 간단합니다. IDE를 열고, 파일을 만든 후 (ex. js파일) 주석을 작성하거나, function 이름(또는 method명)을 작성하면 그에 맞는 코드를 AI가 제시해줍니다. 만약 제시해준 코드가 마음에 들면 Tab(탭)을 누르면 됩니다.

 

챗 GPT

Open AI 회사가 제공하는 대화형 인공지능 서비스이다. 현재 GPT 4 버전까지 공개되었고 채팅을 하듯이 사람과 대화하듯 답을 주는 시스템입니다. 여기서 입력하는 대화문을 '프롬프트(Prompt)'라고 하며, 이에 대한 AI의 답변을 '응답(Response)' 생성된다고 표현한다. 각 대화방의 이름은 대화를 하자마자 첫 질문과 답변에 맞게 생성되지만, 언제든지 변경할 수 있다.

 

AI 도구의 활용사례

코드 생성 : 일련의 입력과 요구사항을 기반으로 코드를 생성합니다. 이는 개발 과정의 속도를 높이고 오류를 줄일 수 있습니다. 

테스트 자동화 : 테스트 케이스와 테스트 스크립트를 자동으로 생성합니다. 이는 시간을 절약하고 소프트웨어 품질을 높일 수 있습니다. 

품질 보장 : 코드 품질을 자동으로 평가합니다. 이는 잠재적인 문제를 미리 검출하는 데 도움이 됩니다. 

UI/UX : UI/UX를 생성합니다. 이는 시간을 절약하고 전체 사용자 경험을 향상할 수 있습니다. 

언어 처리 : 자연어 처리에 사용해 자연어 인터페이스 소프트웨어 개발에 활용할 수 있습니다. 

예측 분석 : 미래의 트랜드, 버그, 주의가 필요한 영역을 예측합니다. 

AI 기반 검색 : 관련성 있는 코드 스페닛, 라이브러리, 도구를 검색해 개발자에게 추천합니다. 

 

AI 도구의 한계

문맥에 대한 이해 부족

창의성 부족

복잡도 처리 능력 부족

산업 표준과 모범 사례에 대한 이해 부족

유연성 부족

비정형 데이터 처리 능력 부족

일반화 능력 부족

데이터 편향

대량의 데이터에 대한 의존성

설명 가능성 부족

 

AI 도구 사용에 관한 논란

라이선스 문제 : 적절한 허가 나 라이선스 없이 코드를 사용하면 법적인 문제로 연결됩니다. 

윤리적 고려사항

 

책에서 사용하는 AI 도구 

수많은 AI 도구 중 깃허브 코파일럿과 오픈AI의 챗GPT가 가장 영향력과 시장 점유율이 높습니다. 

코파일럿은 깃허브에서 개발한 AI 기반 코딩 어시스턴트입니다. 개발자가 코드를 입력할 때 코파일럿이 나머지 부분을 제안해 더 효율적이고 효과적으로 프로그래밍하도록 돕습니다. 코파일럿은 머신러닝을 사용해 개발자의 코드를 이해하고 저장소의 구조와 작업 내용을 고려해 문맥을 기반으로 코드의 완성형태를 제안합니다. 이 책에서는 VS코드에 코파일럿을 적용해서 사용합니다. 

 

챗GPT

오픈AI에서 개발한 언어 모델로 GPT 4.0까지 개발된 상태로 대량의 인터넷 텍스트 데이터로 훈련해 사람이 만드는 것과 비슷한 텍스트를 생성합니다. GPT 모델은 언어 번역, 텍스트 요약, 대화 같은 특정 작업을 위해 튜닝합니다. 자연어 입력을 이해하고 응답하는 능력을 지닌 챗GPT는 챗봇, 가상 어시스턴트, 언어 기반 게임 같은 다양한 애플리케이션에 사용할 수 있습니다. 

코파일럿과 챗GPT 모두 소프트웨어 개발자의 작업을 돕도록 설계된 AI 기반 도구로 머신러닝 알고리즘을 사용해 지능적인 제안과 지원을 제공하지만 각각 개발 과정의 서로 다른 측면을 위해 만들어졌습니다. 둘의 차이점은 ‘어디에 초점을 두는가’입니다. 코파일럿은 코드 완성과 제안에, 챗GPT는 자연어 처리에 초점을 둡니다. 

 

쉘 스크립팅 명령 

쉘 스크립팅은 컴퓨터에서 작업을 효율적으로 관리하고 자동화하려면 반드시 갖춰야 할 기본 스킬입니다. 코파일럿과 챗GPT가 쉘 스크립팅을 어떻게 처리하는지 살펴볼수 있습니다. 

 

깃 명령

깃 로그와 관련한 문제를 제외하면 코파일럿은 요청받은 모든 것을 처리가 가능합니다. 어떤 깃 명령을 사용할지 정확히 기억이 나지 않을 경우 사용하면 유용합니다.  

 

일반적인 알고리즘

주로 배열과 문자열 조작에 중점을 두고 대부분 주로 사용하는 알고리즘과는 다를 수 있겠지만 많은 경우에 챗GPT와 코파일럿을 사용하면 타이핑하는 시간을 크게 줄여줍니다. 이때 기억할 점은 사용을 요청할 프로그래밍 언어만큼 프롬프트가 중요하다는 것입니다.

 

 

이제는 생성형 AI 시대입니다. 개발자가 단순히 개발을 하기 위해서 필요한 것이 아니라 AI를 잘 활용하는 개발자가 필요합니다. 주어진 업무에 맞는 AI 도구를 적절히 골라 사용하고 싶다면, 단순 질의응답에서 한발 나아간 진짜 실무 활용법이 궁금하다면 바로 이 책입니다. 

이 책에 깃허브 코파일럿과 챗GPT의 시너지로 프로그래밍 효율성을 확 높여줄 인사이트를 모았습니다. 셸 스크립팅 명령부터 데이터 생성, 간단한 애플리케이션 및 유닛 테스트 작성 등 다양한 사례를 통해 AI 도구의 잠재력을 테스트 해볼 수 있습니다. 가장 중요한 것은 스스로 해보는 것이 제일 중요한 거 같습니다. 책에 있는 프롬프트 예시를 통해서 프로그래밍 업무를 효율적으로 진행해보시기 바랍니다. 

 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?