컨텐츠로 건너뛰기
검색
ITWorld 언론사 이미지

AI 코딩의 비전을 보여주는 젠코더 리뷰 “야심찬 시도, 부족한 성숙도”

ITWorld
원문보기

AI 코딩의 비전을 보여주는 젠코더 리뷰 “야심찬 시도, 부족한 성숙도”

서울맑음 / 1.0 °

젠코더(Zencoder)는 비주얼 스튜디오 코드 및 젯브레인 IDE에 대한 인터페이스를 갖춘 AI 코딩 어시스턴트다. 깃허브 코파일럿, 아마존 Q 디벨로퍼, 탭나인과 마찬가지로 개발자가 제품을 더 빠르게 완성하도록 돕기 위한 목적으로 설계됐다. 젠코더는 솔버, 깃허브 코파일럿 워크스페이스, 아마존 Q 디벨로퍼 에이전트와 비슷한 AI 코딩 에이전트도 제공한다. 탭나인도 에이전트를 제공하지만, 젠코더와 같이 에이전트에 별도의 이름을 붙여 핵심 제품과 구분하지는 않는다.


젠코더는 전체 리포지토리를 분석하고 이해하기 위한 “리포 그로킹”을 통해 코드 생성을 맞춤 설정하고 개선한다. 탭나인 엔터프라이즈, 그리고 앞에서 언급한 다른 대부분의 제품도 유사한 기능을 제공한다. 아마존 Q 디벨로퍼의 경우 아마존 Q 맞춤 설정 기능이 이와 비슷하다. 리포 그로킹은 탭나인 엔터프라이즈의 고급 맞춤 설정 기능인 모델 세부 조정과는 다르다. 젠코더는 리포지토리 전체를 살펴보고 임베딩을 생성하고 이를 검색 증강 생성(RAG)을 위한 벡터 데이터베이스에 저장하며, 리포지토리의 그래프 표현도 생성한다.


참고로, 필자가 젠코더를 테스트한 이후에 제품에 대한 세 가지 중요한 업데이트가 이뤄졌다. 개발사 젠코더에 따르면 이제 젠코더는 70개 이상의 프로그래밍 언어를 지원하고, 사용자가 GPT, 클로드 3.5 소넷 및 맞춤형 모델을 선택할 수 있도록 하며, 젠코더의 코딩 에이전트는 여러 파일을 추론하고 수정할 수 있다.


에이전트를 제공하는 AI 기반 코드 생성 제품이 난무한다는 인상을 받았다면 정확히 본 것이다. 그러나 각 제품마다 차이점은 있으므로 젠코더의 작동 방식을 살펴보고 다른 AI 코딩 어시스턴트와 비교해볼 가치는 있다.


젠코더의 주요 기능


코드 생성은 사용된 AI 모델, 모델이 참조를 위해 사용할 수 있는 컨텍스트, 사용자가 제시한 프롬프트에 따라 작동한다. 코드 리포지토리 전체에서 컨텍스트를 수집하고 인덱싱하는 기능(아래에 설명할 리포 그로킹 기능)은 코드 생성 품질을 개선하는 데 도움이 된다. 이는 젠코더 채팅 어시스턴트, 코드 완성, 문서 문자열(docstring) 생성, 단위 테스트 생성, 코드 복구에도 비슷하게 적용된다. 젠코더는 “업계 최고의 저작 속도”를 주장한다.


젠코더는 단순히 대규모 언어 모델(LLM)이 아니라 파이프라인(다이어그램과 스크린샷 참조)을 사용해 코드 생성 및 관련 기능을 수행한다.


젠코더는 코드를 전처리해서 LLM에 컨텍스트를 제공한다. 또한 사용자 코드를 파싱하고 분석해서 정확성과 품질을 개선한다.Zencoder

젠코더는 코드를 전처리해서 LLM에 컨텍스트를 제공한다. 또한 사용자 코드를 파싱하고 분석해서 정확성과 품질을 개선한다.Zencoder


젠코더는 리포지토리 스캔 없이 오른쪽 코드에 대한 설명을 왼쪽에 표시한다. 오른쪽에서는 코드 외에 젠코더의 컨텍스트 메뉴도 볼 수 있다.IDG

젠코더는 리포지토리 스캔 없이 오른쪽 코드에 대한 설명을 왼쪽에 표시한다. 오른쪽에서는 코드 외에 젠코더의 컨텍스트 메뉴도 볼 수 있다.IDG


젠코더 IDE 통합과 프로그래밍 언어 지원

젠코더는 현재 비주얼 스튜디오 코드 및 젯브레인 IDE와 통합되며, 파이썬, 자바, 자바스크립트, 타입스크립트, C#, 코틀린을 비롯한 “광범위한” 프로그래밍 언어를 지원한다. 젠코더에 따르면, C++와 고에 대한 완전한 지원도 곧 제공될 예정이다.


리포 그로킹

리포 그로킹은 기본적으로 자동으로 동작한다. 깃으로 관리되는 작업 공간을 열면 젠코더는 이를 코드베이스로 인식하고, 코드를 읽고 임베딩을 생성해서 RAG 쿼리에 사용하도록 클라우드의 벡터 데이터베이스에 저장한다. 또한 코드베이스의 구조를 나타내는 그래프도 생성한다. 코드 개인정보 보호를 위해 작업 공간은 복사하지 않는다.


리포지토리가 업데이트되면 젠코더는 벡터와 그래프를 업데이트한다. 리뷰 도중에 깃 없이 리포지토리를 인덱싱하는 기능이 추가됐는데, 아쉽게도 그때는 대부분의 테스트가 이미 완료된 시점이었다.


젠코더는 코드베이스를 이해한 다음에는 이 지식을 사용해서 코드 생성, 완성, 복구, 그리고 “코드베이스 지식” 설정이 활성화된 모든 채팅 요청을 도울 수 있다.


왼쪽 상단에서 스캔 이후 전체 헤이스택(Haystack) 리포지토리에 대한 젠코더의 설명을 볼 수 있다. 왼쪽 하단에서는 이 쿼리를 위해 제공된 컨텍스트에 전체 코드베이스가 포함되었음을 볼 수 있다. 오른쪽에서는 헤이스택 프로젝트의 README를 볼 수 있다. 젠코더 설명에는 README 파일에서 제공하지 않는 세부 정보가 포함된다.IDG

왼쪽 상단에서 스캔 이후 전체 헤이스택(Haystack) 리포지토리에 대한 젠코더의 설명을 볼 수 있다. 왼쪽 하단에서는 이 쿼리를 위해 제공된 컨텍스트에 전체 코드베이스가 포함되었음을 볼 수 있다. 오른쪽에서는 헤이스택 프로젝트의 README를 볼 수 있다. 젠코더 설명에는 README 파일에서 제공하지 않는 세부 정보가 포함된다.IDG


에이전트를 사용한 복구

젠코더는 사용자의 코드베이스에 대한 이해를 바탕으로 코드 복구와 완전한 단위 테스트 생성, 실시간 문제 해결을 돕는다. 현재 젠코더의 다단계 복구 에이전트는 간단한 버그만 수정할 수 있다고 한다. 솔버, 깃허브 코파일럿 워크스페이스와 같은 경쟁 제품은 더 나아가서 전체 리포지토리 수준에서 복잡한 버그도 수정할 수 있다. 일부 경쟁 제품은 여기서 더 나아가 단위 테스트뿐만 아니라 통합 테스트도 생성할 수 있다.


Zencoder: Custom Agents 명령(아래 스크린샷 참조)을 사용하면 왼쪽 탭에 표시되는 설정 대화상자에서 두 개의 사전 정의된 에이전트와 맞춤형 에이전트를 정의하기 위한 인터페이스를 볼 수 있다.


젠코더는 현재 단위 테스트 생성과 코딩을 위한 두 개의 기본 에이전트, 그리고 맞춤형 에이전트를 정의하기 위한 인터페이스를 제공한다. 맞춤형 에이전트는 본질적으로 대규모 언어 모델을 위한 저장된 명령어 프롬프트로, 특정 작업을 해결하는 것을 목표로 한다.IDG

젠코더는 현재 단위 테스트 생성과 코딩을 위한 두 개의 기본 에이전트, 그리고 맞춤형 에이전트를 정의하기 위한 인터페이스를 제공한다. 맞춤형 에이전트는 본질적으로 대규모 언어 모델을 위한 저장된 명령어 프롬프트로, 특정 작업을 해결하는 것을 목표로 한다.IDG


젠코더와 경쟁 제품 비교


개발사 젠코더는 젠코더와 8개 경쟁 제품의 비교 차트를 제공한다. 당연히 필자는 어느 개발사가 다른 개발사의 제품에 대해 하는 말을 믿지 않으므로(공정하고 균형 잡힌 비교를 시도했다 해도 마찬가지), 이런 비교 내용은 모두 젠코더를 홍보하기 위한 목적으로 만들어졌다고 생각한다. 일부 내용은 경쟁 제품을 깎아내리는 부정확한 정보를 담고 있으며, 기능이 떨어지는 과거 버전을 사용한 것으로 보이는 내용도 있다. 예를 들어 다음 스크린샷의 코파일럿은 젠코더가 자체 비교를 작성하는 데 사용한 것보다 더 최신 버전이다.


젠코더는 비교에서 솔버를 제외했다. 솔버가 새로운 툴임을 감안하면 납득할 만하다. 그러나 솔버는 리포지토리 전체를 읽을 뿐만 아니라 수정할 수도 있으므로 젠코더보다 더 장래가 촉망된다.


왼쪽에서는 젠코더의 C++ 정렬 함수에 대한 설명을 볼 수 있다. 오른쪽에서는 동일한 코드에 대해 o1-preview 모델을 사용한 깃허브 코파일럿의 설명을 볼 수 있다. 맨 위에서는 VS 코드에서 사용 가능한 젠코더 v0.5.1 플러그인의 기능을 볼 수 있다. 필자는 전체적으로 오른쪽 설명이 더 마음에 드는데, 이는 개인적으로 텍스트와 코드를 섞은 설명 스타일을 선호하기 때문일 수 있다.IDG

왼쪽에서는 젠코더의 C++ 정렬 함수에 대한 설명을 볼 수 있다. 오른쪽에서는 동일한 코드에 대해 o1-preview 모델을 사용한 깃허브 코파일럿의 설명을 볼 수 있다. 맨 위에서는 VS 코드에서 사용 가능한 젠코더 v0.5.1 플러그인의 기능을 볼 수 있다. 필자는 전체적으로 오른쪽 설명이 더 마음에 드는데, 이는 개인적으로 텍스트와 코드를 섞은 설명 스타일을 선호하기 때문일 수 있다.IDG


야심찬 시도


필자가 보기에 젠코더는 코드 생성 및 복구 시장에 진출하려는 야심찬 제품이지만 아직은 설익은 상태다. LLM을 사용해 직접적으로 코드를 생성하지 않고 환각을 피하기 위해 오류 수정 기능이 있는 파이프라인을 사용한다는 점은 그럴 듯하게 들리지만, 곧바로 정확한 코드를 생성하고 내부적으로 환각을 억제하는 모델보다 그것 만으로 더 낫다고 할 수는 없다. 마찬가지로, 리포지토리 전체를 “그로킹”한다면 편집기에서 현재 열려 있는 단순히 페이지를 보는 것보다 더 나은 컨텍스트를 제공하겠지만 대규모 리포지토리를 소화하는 데는 상당한 시간이 소요된다. 게다가 리포지토리를 리프레시할 때마다 젠코더는 이 프로세스를 처음부터 다시 수행하는 것으로 보인다.


현재 이 시장에서는 많은 융합이 이뤄지고 있다. 젠코더의 두 가지 혁신은 컨텍스트를 위해 전체 리포지토리를 그로킹하고 오류 수정 추론 파이프라인을 사용한다는 점이다. 아마존과 깃허브의 솔버와 에이전트는 전체 리포지토리를 수정할 수 있다. 각 제품이 서로의 방법에서 좋은 점을 골라 차용하는 가운데 앞으로 상황이 어떻게 전개될지 흥미롭다.


총평

젠코더는 코드 생성 및 복구 시장에 진출하려는 야심찬 제품이지만 아직은 설익은 상태다.


장점

  • - 7개 프로그래밍 언어로 코드 생성과 복구 수행
  • - 컨텍스트를 위해 전체 리포지토리를 읽고 인덱싱할 수 있음
  • - 환각을 줄이기 위한 오류 수정 인터페이스 파이프라인
  • - 지원되는 언어에서 젠코드가 생성하는 코드는 항상 컴파일된다고 주장

단점

  • - 한 번에 둘 이상의 파일 수정 불가능(현재 기준)
  • - 지원되는 언어가 제한적임
  • - 모델 선택 옵션을 제공하지 않음

가격

최대 10개 시트까지는 무료. 비즈니스 요금제는 무료 평가 기간 이후 최대 200개 시트까지 사용자별 월 19달러. 엔터프라이즈 요금제는 사용자별 월 39달러.


플랫폼

윈도우, 맥OS, 리눅스의 비주얼 스튜디오 코드, 젯브레인 IDE
dl-itworldkorea@foundryco.com




Martin Heller editor@itworld.co.kr
저작권자 한국IDG & ITWorld, 무단 전재 및 재배포 금지