개발자의 하루를 바꾸는 코파일럿 & 챗GPT - AI 코딩 도구와 페어 프로그래밍하기
마이클 D. 캘러핸 지음, 정원창 옮김 / 한빛미디어 / 2023년 9월
평점 :
장바구니담기


이 책을 궁금해 하시고, 관심이 있는 독자분은 개발자일 확율이 높습니다. 챗GPT는 범용적으로 사용되는 AI도구이지만, 코파일럿은 개발을 하는 코드적인 부분이 많기 때문입니다. 처음 copilot이 나왔을때 코드에 대한 어시스턴트를 제공하는 것을 보고 매우 놀랐습니다.

벌써 출시된지 1년이 넘어가고 있습니다. 그만큼 기술은 더 안정적이고 많은 요즘은 살펴보지 못했지만, 많은 변화가 있을것 같습니다.

 

책에서는 한가지 Copilot만 사용하지 않고 챗GPT도 함께 개발적인 입장에서 바라보고, 내용을 설명하고 있습니다.

코파일럿과 챗GPT는 소프트웨어 개발자의 작업을 돕도록 설계된 AI기반 도구입니다. 두 도구 모두 머신러닝 알고리즘을 사용해 지능적인 제안과 지원을 제공하지만, 각각 개발 과정에의 서로 다른 측면을 위해 만들어졌습니다. 주요 차이점 한가지는 코파일럿은 코드완성과 제안에, 챗GPT는 자연어 처리에 초점을 둡니다.코파일럿을 사용하면 주요 코드 스내펫을 생성할수 있고, 챗GPT를 사용하면 텍스트 응답이나 코드를 생성할수 있습니다. (p.27)

 

 

코파일럿은 우리가 많이 사용하는 github에서 제공하고 있습니다. github를 MS에 인수했기 때문에 결국 MS가 생성하는 AI라고 볼수도 있습니다. 우리고 공개 저장소에 저장하고 있는 다양한 github의 소스를 기반으로 학습한 데이터를 제공한다는 것은 너무 좋은 데이터를 이용한 인공지능 학습이 가능할 것입니다. 하지만 public 저장소에 있는 소스 코드는 어느 누구나 접근할수 있기 때문에, 어느 기업이나 받아다가 사용할수 있는 데이터 이기도 합니다.

책에서 사용하는 prompt명령어는 아래에서 다운로드 가능합니다.

https://walkingriver.gumroad.com/l/pair-programming-bonus

 

■ copilot 관련 비용 관련

·  무료 trial을 제공합니다. 다만 유료로 이제 상용화 서비스로 변경이 되었습니다.

·  https://docs.github.com/ko/copilot/overview-of-github-copilot/about-github-copilot-for-individuals

 

· 다양한 IDE를 제공하고 있습니다.

https://docs.github.com/ko/copilot/getting-started-with-github-copilot?tool=jetbrains

· 테스트 환경은 VSCode를 활용하여서 구성합니다.

 

■ 책에서 다루는 사항

· 여러가지 AI분야가 있지만, 아래의 2가지 사항에 대해서 설명하고 있습니다.

· 책에서는 AI찬양을 하지 않습니다. AI도구의 한계를 설명하고, 라이센스 문제, 윤리적인 사항등을 사전에 언급해주는 것이 단순히 무조건 좋다라는 것을 설명하는 책이 아닌것 같아서 막연하게 좋다 라고 생각하는 관점에 대해서 우선적으로 주의점을 잘 인지 할수 있게 구성되어 있습니다. 

· 책의 구성에 재미있는 부분이 있습니다. 코파일럿과 ChatGPT 한가지만 이용하는 것이 아니고, 2개를 적절히 사용하고 같은 주제에 대해서 검색을 통해서 하나하나 좋은점, 차이점을 알아보고 비교해보고 각 AI툴에 대해서 장단점을 파악할수 있습니다.

아래 그림처럼 코파일럿에 조회한 내용도 실습해보고, ChatGPT의 내용도 함께 사용하면서, 같이 경험하는 것은 추후 활용시에 도움이 됩니다. 기존에 알고 있던 코드나 경험이 있는것은 상대적으로 코파일럿이 직관적으로 코드를 제공하니 더 편하게 느낄수 있고 약간의 설명이나 서술형으로 개념을 다시 잡고 싶은 경우는 ChatGT가 더 도움이 될수 있을것이고 개개인 마다 느끼는 것이 다르지만 사용해보면서 상황에 맞게 사용할수 있는 경험을 노하우가 늘어날 것으로 생각됩니다.

· 책에서 소개되는 주제는 아래와 같습니다.

언뜻 보면 java, python등 언어에 대한 실제 코드에 대한 부분은 없지만, 책의 주제를 실습하다 보면, 어떻게 AI툴을 사용할지 어떻게 활용할지 경험하는 예제로 충분한 내용이 제공됩니다. 보통 많이 어려워하는 정규표헌식의 경우도 재미있게 우리가 원하는 결과물을 도출하는 과정으로 구성되어 있습니다. 샘플 데이터 생성 같은 부분은 우리가 어떻게 쉽게 테스트 할수 있는 dummy파일을 생성하고 머신러닝등에도 활용할수 있는 부분으로 활용을 할수도 있습니다. 프로젝트 관리등에 대한 부분은 개발적인 부분은 아니지만 추후 다른 방향으로 어떻게 AI툴을 활용할수 있는지 알게 됩니다.

2장 셸 스크립팅 명령
3장 깃 명령
4장 일반적인 알고리즘
_4.2 배열 조작
_4.3 문자열 조작
5장 RxJS 학습하기
6장 앵귤러 httpClient
7장 정규 표현식
8장 데이터 생성
_8.1 로렘 입숨 텍스트
_8.2 미국 대학교 리스트
_8.3 임의의 고객 리스트
_8.4 색상
_8.5 영화 제목
_8.6 자동차 제조사와 모델
_8.7 개 품종
_8.8 카드 덱
_8.9 우노 카드 덱
_8.10 식료품 리스트
_8.11 주식 기호 리스트
_8.12 주식 가격 흐름
_8.13 정리


9장 애자일 프로젝트 관리
_9.1 프로젝트 콘셉트


10장 애플리케이션 만들기
_10.1 아이오닉 앱 개발 시작하기


11장 유닛 테스트
_11.1 대상 서비스
_11.2 서비스 API
_11.3 테스트 프레임워크
_11.4 코파일럿 테스트
_11.5 챗GPT 테스트
_11.6 HTTP 호출 테스트
_11.7 정리

이 책의 가장 큰 장점은 Copilot, ChatGPT 2개를 한꺼번에 경험하면서 조금 더 활용도를 높이기 위한 비교 기법과 각 AI도구의 다른 결과물을 통해서 나에게 맞는 방식으로 AI툴의 활용도를 높이는 방법을 제공합니다. 


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo