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

한빛출판네트워크

IT/모바일

개발자를 위한 코딩 파트너, 효과적인 AI 페어 프로그래밍 도구 6종

한빛미디어

|

2024-09-06

|

by 톰 타울리

2,008

AI 어시스턴트 프로그래밍 도구는 개발자의 훌륭한 개발 협업 상대입니다. AI 프로그래밍 도구인 깃허브 코파일럿을 사용한 개발자의 90% 이상이 더 빠른 속도로 개발 작업을 완료할 수 있었다는 사실이 마이크로소프트의 연구에서 입증되기도 했죠.  

 

마이크로소프트 외에, 맥킨지 앤 컴퍼니에서도 유사한 연구를 진행했는데요. 미국과 아시아 전역에서 경력과 배경이 다양한 40여 명의 개발자가 참여한 이 연구는 몇 주에 걸쳐 코드, 생성, 리팩터링, 문서화라는 일반적인 소프트웨어 작업 세 가지를 완료했습니다. 그 결과, 코드를 깔끔하게 유지하기 위한 문서화 작업에서는 AI 어시스턴트가 소요 시간을 절반으로 줄였고, 새 코드의 초안 작성과 리팩터링 작업에서도 사람의 속도와 AI 도구의 성능이 거의 동일했습니다. 

 

생성형 AI는 개발자의 작업 속도를 높이는 데 도움이 된다. (출처: 맥킨지 앤 컴퍼니)

 

이 연구에 따르면 코드의 전체적인 품질, 예를 들어 버그, 가독성, 유지보수성에 부정적 영향을 주지 않으면서도 소요 시간을 줄이는 것이 가능했습니다. AI 어시스턴트는 품질을 개선하는 효과도 있었는데, 이는 많은 개발자가 어시스턴트를 통해 반복 작업하며 더 나은 방법을 찾았기 때문이었습니다.

 

이 외에도 코드 함수 자동 채우기, 실시간 코드 완성 지원 등의 일상적인 작업을 간소화시킬 수 있고, 보다 원활한 코드 초안 작성이 가능하며 수월한 기존 코드 개선이 가능하다고 합니다. 또한 개발자에게 익숙하지 않은 코딩 환경이나 언어도 활용할 수 있어 새로운 시도를 늘릴 수 있기도 합니다.

 

이때, AI와 보다 효율적으로 협업하기 위해선 여러 도구를 함께 사용하는 것이 좋습니다. 연구를 통해 확인한 결과, 개발 프로세스에 있는 다양한 과정들을 각기 다른 특성을 지닌 도구에게 동시에 요청하기 때문에 시간 효율성이 1.2배에서 2.5배까지 급증했기 때문입니다. 

 

이번 시간에는 AI 페어 프로그래밍을 도와줄 여러 도구를 소개합니다. 단, 챗GPT와 깃허브 코파일럿처럼 많은 사람들이 알고 있는 도구가 아닌 아마존 같은 대기업의 도구부터 스타트업에서 개발한 흥미로운 도구까지 살펴보고자 합니다. 분명 주목할 가치가 있습니다. 

 

* AI 어시스턴트 프로그래밍 도구명 혹은 로고를 누르면 각 사이트로 이동하실 수 있습니다.

 

1. 커서Cursor 

 

앞으로 몇 년 안에, 우리는 세상에서 가장 유용하고 기쁨이 되며 재미있는 코드 에디터를 만들고자 합니다.
커서는 버그를 작성할 수 없는 곳이어야 합니다. 50줄의 의사코드(pseudocode)로 2000줄 이상의 대규모 코드 변경을 포함하는 풀 리퀘스트를 작성할 수 있는 편집기입니다. 어떤 코드베이스에 대한 질문이라도 즉시 답변을 얻을 수 있는 도구가 되어야 합니다. 어쩌면 코드 자체가 사라지기 시작하는 인터페이스가 될 수도 있습니다. _ 애니스피어 (커서의 개발사)

 

커서는 강력한 성능을 자랑합니다. 오픈AI와 같은 투자자들의 관심도 받고 있습니다. 2023년 10월에는 800만 달러의 투자 유치에 성공하여 총 자본금이 1100만 달러에 이르렀죠.


GPT-4o와 GPT-4 모델을 선택할 수 있지만, 기능을 강화한 독점 모델도 제공합니다. 커서는 14억 개의 벡터와 15만 개의 코드베이스를 인덱싱했습니다. 또한 머클 트리 Merkle-tree 와 같은 고급 AI 기술을 통합하여 그 효율성을 한층 높였습니다.


커서는 VS 코드의 코드베이스 전체를 복사해와서 fork 개발되었으며 윈도우, 맥OS, 리눅스와 호환됩니다. 새로운 IDE를 배워야 하는 수고를 덜어줍니다. 커서를 다운로드하면 기존 VS 코드 확장 프로그램을 편리하게 가져올 수 있습니다. 명령줄 인터페이스에서 바로 AI 기능을 활용할수 있어 익숙한 개발 환경에서 벗어나지 않고도 코드 작업에 고급 기능을 원활하게 통합할 수 있습니다.


아래와 같이 채팅 영역에서 문서를 쉽게 불러와서 질문할 수 있습니다. 

 

 

또는 @를 사용해 특정 파일로 작업할 수 있습니다. 

 

 

커서는 터미널에서 직접 디버깅할 수 있는 기능을 제공합니다. AI가 파일을 분석하여 논리적 과정을 통해 문제를 찾아내고 해결하려 시도하면서 문제 해결 경험을 간소화합니다. 커서의 사용자들은 다음과 같이 사용 소감을 말합니다.

 

한 번의 키 입력으로 앱 컨텍스트를 AI에 빠르게 로드할 수 있다는 점이 정말 마음에 듭니다. 질문에 답하고, 구문을 기억하고, 코드의 작은 부분을 리팩터링하고, 반복되는 코드(boilerplate code)를 작성하는 데 유용합니다. 하지만 여러 파일에 분산된 대규모 데이터 모델을 이해해야 할 때는 한계에 부딪힙니다. 그러나 이는 컨텍스트 창이 커지는 등 모델이 개선되면서 더 나아질 것입니다._제프리 바일스 (커서의 초기 사용자, 풀스택 웹 개발자)

 

[Command] + [L] 단축키로 코드에 대해 질문할 수 있는 기능을 제일 좋아합니다. 익숙하지 않은 백엔드 언어로 작성된 새로운 코드베이스에서 작업할 때 속도가 빨라집니다. 또 다른 장점은 자체 API 키를 가져와서 비용을 절감하고 GPT -4o와 GPT -4 사이를 전환할 수 있다는 점입니다._토시 벨라가 (소프트웨어 엔지니어이자 AI 회사 설립자)

 

2. 탭나인tabnine

 

 

탭나인은 AI 어시스턴트 프로그래밍 도구의 길을 연 도구입니다. 2013년 회사를 설립한 드로어 와이스 Dror Weiss 와 에란 야하브 Eran Yahav 는 1990년대부터 소프트웨어 개발 분야에서 코드를 분석 하고 시뮬레이션하며 겪은 복잡한 문제들을 AI로 해결할 수 있을지 고민했습니다.

 

실제로 AI는 도움이 되었습니다. 다만 트랜스포머 모델이 등장하기 이전이었기에 독자적인 모델을 구축해야만 했습니다. 이는 소프트웨어 개발에서 AI의 역할을 깊이 이해하는 자양분이 되었죠. 그리고 몇 년이 흐른 지금, 탭나인은 트랜스포머 모델을 도입했습니다.


탭나인은 보안 시스템에 막대한 투자를 해왔습니다. 클라우드 기반 또는 사내 탭나인의 추론 서버로 전송되기 이전에 코드의 각 문자는 토큰화되고 암호화됩니다. 탭나인은 사용자 데이터를 저장하지 않으며, 직원들도 데이터를 읽을 수 없습니다. 또한 SOC-2 규정을 준수합니다.

 

탭나인은 답변을 복사하여 코드의 해당 위치에 바로 붙여넣기 할 수 있습니다. (출처: Tabnine Docs)


모델 학습을 위해 MIT, Apache, BSD 같은 허용적 permissive 라이선스가 있는 오픈소스 코드를 사용합니다. 또한 학습에 사용하는 코드의 투명성을 중요하게 생각합니다. 심지어 개발자가 자신의 리포지터리를 탭나인의 학습 데이터에 사용되지 않도록 설정하는 방법도 제공합니다. 생성 모델의 학습과 관련하여 라이선스에 신중하게 접근하고 있음을 보여줍니다. 현재 탭나인은 아래와 같이 세 가지 요금제 중에서 선택해 사용할 수 있습니다.

 

요금제가격사용 대상주요 기능
베이직무료개인 사용자짧은 코드 자동 완성, 커뮤니티 지원
프로12달러(월)개발자, 소규모 팀개인화된 AI 채팅 에이전트, IDE 내 코드, 테스트, 문서 생성
엔터프라이즈39달러(월/1년 약정시)대규모 조직무제한 사용자, 맞춤형 AI 모델, 비공식 배포 옵션, 프리미엄 지원

 

탭나인은 매월 백만 명 이상의 사용자가 이용하며, 특히 구글, 아마존, 넷플릭스, 아틀라시안 등의 빅테크 기업들이 많이 사용하고 있습니다.

 

3. 워프Warp


 

워프 Warp는 선도적인 스타트업입니다. 2020년 회사를 설립한 잭 로이드 Zach Lloyd 는 구글에서 구글 스프레드시트의 수석 엔지니어로 근무했죠. 그는 ‘20여 년 개발자로 일하면서 사용한 명령줄 인터페이스 command-line interface (CLI )는 강력하고 매우 유용하지만, 개선의 여지가 많다’고 말합니다.

 

워프는 빠르고 효율적이라고 알려진 프로그래밍 언어인 러스트로 개발되었습니다. 일반적인 자바스크립트를 고수하는 대신 러스트의 강점을 활용하여 기본적으로 데스크톱 애플리케이션으로 실행되지만, 필요할 경우 웹 브라우저에서도 실행되어 터미널 세션을 공유하고 원격으로 협업이 가능합니다. 러스트를 활용한 기발한 전환 덕분에 모든 사용자에게 더 부드럽고 빠른 경험을 제공하며 애플리케이션과의 상호작용을 크게 개선합니다.

 

Agent Mode makes a suggestion to run a command.
워프의 Agent Mode (출처: Warp Docs)


 

워프는 업그레이드된 터미널과 같습니다. 선택, 커서 위치 지정, 완성 메뉴 같은 고급 텍스트 입력 기능을 제공하여 사용자가 명령어 히스토리를 원활하게 탐색할 수 있습니다. 따라서 긴 텍스트를 스크롤 해야 하는 번거로움이 사라집니다. 또한 간단한 클릭 한 번으로 출력을 복사할 수 있습니다.


워프에서 모든 명령과 그 출력은 개별 블록으로 구성됩니다. 블록 위로 마우스를 가져가면 과거 명령을 다시 확인할 수 있습니다. 블록을 선택하면 오른쪽 클릭 메뉴를 통해 워프 AI를 사용할 수 있어 오류에 대한 설명과 해결책을 제공받습니다. 이는 제한적인 안내만 제공하고 오류 메시지를 해석하고 문제를 해결하기 위해 사용자의 전문 지식에 크게 의존했던 기존 명령줄 인터페이스와는 완전히 대조적입니다.

 

직장에서 매일 워프를 사용하는데 가장 마음에 드는 점은 속도입니다. 작동 속도도 빠르지만 사용하며 경험하는 반응 속도가 뛰어납니다. 특히 입력하거나 검색할 때 만족스럽습니다. 워프는 터미널을 현대화했고, 앞으로 워프가 어떤 방향으로 나아갈지 기대됩니다._마이크 크리거 (인스타그램 공동 창립자)

 

워프는 맥OS, 리눅스, 윈도우는 물론 웹에서도 사용할 수 있습니다. 요금제는 아래와 같이 세 가지 등급으로 나뉩니다.

 

요금제가격사용 대상주요 기능
무료무료개인 사용자월 최대 40회의 워프 AI 요청 제공
팀 에디션25달러 (월)개발자, 소규모 팀최대 750회의 워프 AI 요청 기능 제공
엔터프라이즈협의대규모 조직특정 요구사항이 있는 대규모 조직에 적합

 

 

4. 리플릿replit

 

 

리플릿은 다양한 프로그래밍 언어를 지원하고 애플리케이션을 호스팅할 수 있는(이른바 리플 Repl) 다재다능한 웹 기반 IDE입니다. 구글 문서와 유사한 풍부한 협업 기능을 갖췄습니다. 리플릿은 맥OS, 윈도우, 리눅스, 안드로이드, iOS용 데스크톱 버전을 개발하여 사용 범위를 넓혔습니다. 플랫폼은 약 2300만 명의 개발자로 구성된 탄탄한 커뮤니티를 자랑합니다.


리플릿은 2016년 암자드 마사드 Amjad Masad, 파리스 마사드 Faris Masad, 하야 오데 Haya Odeh 가 설립했습니다. 암자드는 리플릿 설립 10년 전부터 그 개념을 구상해왔으며, 야후와 페이스북에서 엔지니어로 일하며 개발 도구를 구축하기 위한 기술을 갈고 닦았습니다. 또한 코드 아카데미 설립에도 주도적으로 참여해 코딩 분야의 혁신적인 기술과 교육에 대한 헌신을 보여주었습니다. 리플릿은 세 가지 요금제를 운영합니다.

 

요금제가격주요 기능
스타무료기본 작업 공간, 일부 리플릿 AI 기능, 커뮤니티 지원
리플릿 코어월 20달러, 연 220달러무제한 AI 채팅 응답, 고급 리플릿 AI 기능, 무제한 프로젝트 생성, 실시간 전문 지원
사용자당 월 40달러

동적 대시보드, 코드 리뷰 및 병합 속도 향상, 팀 협업 지원

(현재는 베타 버전으로 출시되었으며 6월 초 기준 대기자 명단에 등록한 일부 고객에게 제공)

 

리플릿의 LLM은 무려 1조 개의 토큰으로 학습해 30개의 프로그래밍 언어를 이해할 수 있습니다. 리플릿에서 작업할 때 공개 리플에 작성한 코드를 포함한 모든 키보드 입력 내용은 리플릿 AI를 추가로 학습시키는 데 사용될 수 있습니다. 물론 작업 내용을 비공개로 유지하고 학습 데이터 에서 제외하고 싶다면 리플을 비공개로 설정할 수 있습니다. 리플릿 AI를 사용할 때도 여러분이 작성한 코드에 대한 권리는 보장됩니다. 공개 리플의 코드는 리플릿의 라이선스 정보에 명시된 대로 자동으로 MIT 라이선스가 적용됩니다.

 

리플릿 도구는 사용자 친화성과 강력한 기능을 보여주는데, 이와 관련된 흥미로운 사례 2가지를 함께 소개합니다.

 

  • 당뇨병 앱

런던의 iOS 개발자 마르완 엘와라키 Marwan Elwaraki 는 남동생이 당뇨병을 진단받자 아내와 함께 혈당 수치를 모니터링하는 앱을 만들기로 결심했습니다. 

 

비행기 안에서 위젯 앱과 혈당 추적기의 API를 연결하는 잠금 화면 위젯을 프로토타입으로 간편하게 만들었습니다. 동생의 혈당 수치를 바로 확인할 수 있고, 실시간으로 기록하기 위해 앱을 열 필요가 없어졌습니다.


또한 메시지 전송 버튼을 추가하고, 메시지 기능을 개선했죠. 그런 다음 iOS 앱스토어에 앱을 출시했습니다.


마르완은 모바일 프런트엔드 개발자로 파이썬이나 백엔드 개발에는 경험이 거의 없었고, 아내는 코딩 경험이 전무한 제품 관리자였습니다. 처음에는 챗GPT를 사용했지만 리플릿 AI가 엄청난 차이를 만들었습니다. ‘리플릿 AI는 앱의 거의 모든 백엔드를 구축했고 최소한 재검토하는 데 도움이 되었습니다. 개발자의 생산성이 향상된다는 이야기는 제게는 분명한 사실입니다’라고 마르완은 사용 소감을 전했습니다.

 

Sweet Dreams App

 

  • 해커톤에서 스타트업으로

마이크로소프트, 스냅챗, 웨이모에서 제품 관리자로 인상적인 경력을 쌓은 프리야 칼리아 나라만 Priyaa Kalyanaraman 은 크래프트 벤처스 AI 해커톤에 참가했습니다. 리플릿 AI를 활용해 콘텐츠 제작을 단순화하고 재미를 더하는 앱을 개발하여 1만 달러의 상금을 거머쥐면서 대상을 수상했습니다. 프리야는 제품 관리 전문가로서의 경험을 살려 세부 사양을 꼼꼼하게 준비하고 앱을 논리적으로 구조화했습니다. 앱은 그녀의 스타트업 리카의 기반이 되었고, 이후 프리 시드 투자를 성공적으로 유치하였죠.

 

5. 아마존 Q 디벨로퍼Amazon Q Developer

 

 

2024년 4월 30일 아마존 Q 디벨로퍼 Amazon Q Developer 가 정식 출시되었습니다. 이전까지 아마존의 프로그래밍 전용 AI 어시스턴트였던 코드위스퍼러의 다양한 프로그래밍 언어와 IDE 통합 등 모든 기능이 이전되었고 커스터마이징 및 비즈니스 사용 사례에 맞춘 기능이 추가되었습니다. 무엇보다 코드를 생성하고 변환하며 소프트웨어 업데이트와 코드 문서화 등의 작업을 자동 처리하는 AI 에이전트를 호출할 수 있게 되었습니다.


명령줄 인터페이스와 IDE, AWS 관리 콘솔 등 다양한 플랫폼에서 사용할 수 있습니다. 확장 프로그램을 다운로드하여 설치하고 AWS 빌더 ID로 로그인하여 사용을 시작할 수 있습니다. 아마존 Q 디벨로퍼는 두 가지 요금제를 제공합니다.

 

요금제가격주요 기능
무료무료

• 코드 제안을 제공하고 참조 추적기 기능으로 오픈소스 코드의 출처를 추적하며, 보안 검사를 수행

• 월 5회 한도로 소프트웨어 개발 작업을 가속화하고, 월 1000줄의 코드 변환이 가능

프로월 19달러

• 접근 권한 및 그룹 전체 정책을 관리할 수 있으며 조직 내 분석 대시보드 제공

• 월 4000줄의 코드 변환을 지원하며, 내부 코드베이스에 맞게 아마존 Q를 커스터마이징하여

• 더 관련성 높은 코드 추천을 생성하는 기능을 프리뷰로 제공 중

 

아마존 Q는 프로그래밍과 관련된 개념과 코드 스니펫을 설명하고, 코드와 단위 테스트를 생성 하며, 디버깅 또는 리팩터링을 포함하여 코드를 개선할 수 있습니다. 먼저 IDE에서 코드 파일의 섹션을 드래그하고, 마우스 오른쪽 버튼을 클릭하여 컨텍스트 창을 엽니다. 아마존 Q를 선택하면 설명, 리팩터링, 수정, 최적화 또는 프롬프트로 보내기 중 하나를 선택할 수 있습니다.


프롬프트로 보내기를 선택하면, 아마존 Q가 선택된 코드를 채팅 패널로 복사하고, 코드에 대한 질문을 입력할 수 있습니다.
 

아마존 Q와 대화하며 AWS에 대해 질문하고 소프트웨어 개발과 관련한 지원을 받을 수 있습니다. 개발자는 AWS 서비스 선택, AWS 명령줄 인터페이스 사용 방법, 문서, 모범 사례, AWS 리소스 등에 관련하여 질문할 수 있습니다. 다음은 프롬프트 예시입니다.

 

출처: 책 <AI 시대의 프로그래머>

 

아마존 Q 디벨로퍼는 전체 소프트웨어 수명 주기를 지원하는 어시스턴트입니다. 실제로, 아마존 Q 디벨로퍼는 여러 줄의 코드를 제안하는 AI 어시스턴트 중에서 가장 높은 수준의 코드 수용률을 자랑합니다. BT 그룹은 아마존 Q가 제안한 코드의 37%를, 호주 중앙은행은 50%를 수용했다고 보고했습니다.


또 다른 사용 예시로, 글로벌 인슈어테크 기업인 볼트테크가 있습니다. 볼트테크는 소프트웨어 개발 과정에서 중복되는 작업을 제거해 시장 진출 시간을 단축하고자 했고,아마존 Q가 코드를 생성하고 문서화하는 과정을 간소화해 개발 워크플로를 혁신적으로 개선할 수 있었습니다. 코드 문서화 시간이 75% 줄었고 특히 파이썬 독스트링의 경우 작성하는 시간이 90%까지 절감되면서, 개발자의 생산성이 높아지고 코드 품질도 개선되었습니다.

 

6.제미나이 코드 어시스트 Gemini Code Assist

 

 

2024년 4월 9일 구글은 연례 콘퍼런스 ‘구글 클라우드 넥스트 2024’에서 AI 코딩 어시스턴트인 듀엣 AI 포 디벨로퍼 Duet AI for Developer제미나이 코드 어시스트 Gemini Code Assist 로 변경한다고 발표했습니다. 제미나이 1.5 프로 모델을 활용하며 코드를 생성하고 완성하며 그 과정에 대화 기능을 제공합니다. 제미나이 1.5는 최대 백만 개의 토큰을 처리하는 큰 컨텍스트 창으로 코드를 이해하는 성능이 향상됐으며 3만 줄 이상의 코드 또는 70만 단어 이상의 코드베이스를 처리할 수 있습니다.


제미나이 코드 어시스트를 활용하면 코드를 작성하는 동안 코드 자동 완성을 사용할 수 있고, 주석으로 함수나 코드 블록을 생성하며 단위 테스트도 생성할 수 있습니다. 이외에도 디버깅, 코드 이해, 코드 문서화 등 다양한 도움을 받습니다. 넥스트 2024에서 소개한 제미나이 코드 어시스트의 신규 기능은 다음과 같습니다.

 

  • 전체 코드베이스 인식: 새로운 기능 추가, 파일 간 종속성 업데이트, 버전 업그레이드 지원, 포괄적인 코드 리뷰 등 전체 코드베이스에 걸친 대규모 변경 작업이 가능해졌습니다.
  • 코드 맞춤 설정: 기업은 제미나이 코드 어시스트를 자사의 비공개 코드베이스에 연결하여 맞춤 설정할 수 있어, 개발자들에게 컨텍스트 인식 코드 생성 기능을 제공할 수 있습니다. 아울러 깃랩과 깃허브, 비트버킷 등 다양한 소스코드 저장소에도 접근이 가능하도록 연결성을 확대했습니다.

위 콘텐츠는 『AI 시대의 프로그래머』에서 내용을 발췌하여 작성하였습니다.

 

AI 어시스턴트 프로그래밍 도구는 소프트웨어 제작을 위한 여러 도구와 환경적 측면에서 큰 주목을 받는 신생 분야입니다. 기술이 계속 발전함에 따라 관련 시스템은 효율성을 높이고 지루한 작업을 손쉽게 처리하며, 개발자가 고차원적인 문제를 해결하는 고부가 작업에 집중할 수 있게 해 줄 것입니다. 유용한 개발 비서, AI 프로그래밍 도구들과 함께 보다 효율적인 개발을 진행해 보시는 건 어떨까요?

 

댓글 입력
자료실

최근 본 책0