Amazon Web Services 한국 블로그

Amazon Q Developer, 사내 소스 기반 IDE용 코드 추천 기능 출시

오늘 인라인 코드 완성을 위한 Amazon Q Developer(사용자 IDE) 사용자 지정 기능을 정식 출시하고 채팅을 위한 사용자 지정 기능을 미리 보기로 출시합니다. 이제 Amazon Q를 사용자 지정하여 IDE 코드 편집기 및 채팅의 프라이빗 코드 리포지토리에서 특정 코드 권장 사항을 생성할 수 있습니다.

Amazon Q Developer는 인공 지능(AI) 코딩 지침서입니다. 통합 개발 환경(IDE)에서 기존 주석 및 코드에서 파생된 코드 권장 사항을 제공하여 소프트웨어 개발자가 애플리케이션 개발을 가속화할 수 있도록 지원합니다. 백그라운드에서 Amazon Q는 Amazon 및 오픈 소스 프로젝트의 코드 수십억 줄을 기반으로 학습한 대규모 언어 모델(LLM)을 사용합니다.

Amazon Q는 사용자의 IDE에서 사용할 수 있으며 JetBrains, Visual Studio CodeVisual Studio용 확장 프로그램(미리 보기)을 다운로드할 수 있습니다. IDE 텍스트 편집기에서는 전체 함수를 입력 또는 작성할 때 입력한 주석에서 코드를 제안합니다. 또한 Q Developer와 채팅하여 특정 태스크용 코드를 생성하도록 요청하거나 검색 중인 코드 베이스의 코드 조각을 설명하도록 요청할 수도 있습니다.

이제 개발자는 새로운 사용자 지정 기능을 통해 조직의 내부 라이브러리, API, 패키지, 클래스 및 메서드를 기반으로 더욱 관련성이 높은 코드 권장 사항을 받을 수 있습니다.

예를 들어, 금융 회사에서 근무하는 개발자가 고객의 총 포트폴리오 가치를 계산하는 함수를 작성해야 한다고 가정해 보겠습니다. 이제 개발자는 주석에 의도를 설명하거나 computePortfolioValue(customerId: String)와 같은 함수 이름을 입력할 수 있습니다. 그러면 Amazon Q가 조직의 프라이빗 코드 베이스에서 학습한 예제를 기반으로 해당 함수를 구현하는 코드를 제안합니다.

개발자는 채팅에서 조직의 코드에 대해 질문할 수도 있습니다. 위 예시에서 개발자가 팀에 처음 왔는데 고객 ID를 검색하는 방법을 모른다고 가정해 보겠습니다. 그는 채팅에서 다음과 같이 일반 영어로 질문을 할 수 있습니다. How do I connect to the database to retrieve the customerId for a specific customer?(데이터베이스에 연결하여 특정 고객의 customerId를 검색하려면 어떻게 해야 하나요?) Amazon Q 채팅은 다음과 같이 대답할 수 있습니다. I found a function to retrieve customerId based on customer first and last name which uses the database connection XYZ…(데이터베이스 연결 XYZ를 사용하는 고객의 성명을 기반으로 customerId를 검색하는 함수를 찾았습니다.)

관리자는 내부 git 리포지토리(예: GitHub, GitLab 또는 BitBucket) 또는 Amazon Simple Storage Service(S3) 버킷에서 빌드된 사용자 지정을 생성합니다. 이는 Amazon Q가 의도를 이해하고, 태스크에 가장 적합한 내부 및 공개 API를 결정하고, 코드 권장 사항을 생성하는 데 도움이 됩니다.

Amazon Q 사용자 지정 기능은 AWS에서 기대되는 강력한 데이터 보호 및 보안을 충족합니다. Amazon Q와 공유하는 코드 베이스는 조직 내부에만 공개됩니다. AWS의 파운데이션 모델을 훈련하는 데 해당 코드 베이스를 사용하지 않습니다. 일단 사용자 지정이 배포되면 추론 엔드포인트는 조직의 개발자에게만 공개됩니다. 코드에 기반한 추천은 다른 회사의 개발자 IDE에 나타나지 않습니다. 사용자가 각 개별 사용자 지정에 액세스할 수 있는 개발자를 결정하고, 지표에 따라 배포한 사용자 지정의 성능을 측정할 수 있습니다.

AWS는 검색 증강 생성(RAG)과 같은 선도적인 기술을 기반으로 Amazon Q 사용자 지정 기능을 구축했습니다. 매우 상세한 이 블로그 게시물에서는 Amazon Q 사용자 지정 기능의 배후에 있는 과학에 대해 자세히 설명합니다.

CodeWhisperer RAG 다이어그램

작년 10월 17일에 미리 보기를 출시한 이후 두 가지 새로운 기능인 사용자 지정을 업데이트하는 기능과 IDE에서 채팅을 사용자 지정하는 기능이 추가되었습니다.

조직의 코드 베이스가 지속적으로 진화하고 있으므로 Amazon Q가 항상 최신 코드 조각을 제안하기를 원합니다. Amazon Q 관리자는 AWS Management Console에서 한 단계로 업데이트 프로세스를 시작할 수 있습니다. 관리자는 개발자가 항상 매우 정확한 코드 제안을 받을 수 있도록 코드 리포지토리의 최신 커밋을 기반으로 정기 업데이트를 예약할 수 있습니다.

새로운 채팅 사용자 지정 기능(미리 보기)을 사용하면 조직의 개발자가 IDE에서 코드의 일부를 선택하고 이를 채팅으로 전송하여 선택한 코드의 기능에 대한 설명을 요청할 수 있습니다. 개발자는 조직의 코드 베이스와 관련하여 “데이터베이스에 연결하여 특정 고객의 customerId를 검색하려면 어떻게 해야 하나요?”와 같은 일반적인 질문을 할 수도 있습니다.

사용 방법 살펴보기
이 데모에서는 오늘부터 정식 버전으로 제공되는 새로운 사용자 지정 업데이트 기능을 중점적으로 살펴보기로 했습니다. 사용자 지정을 생성하고 활성화하고 개발자에게 액세스 권한을 부여하는 방법을 빠르게 알아보려면 제 동료 Donnie의 훌륭한 게시물을 읽어보세요.

기존 사용자 지정을 업데이트하려면 Amazon Q 콘솔 페이지의 Customizations 섹션으로 이동합니다. 업데이트하려는 사용자 지정을 선택합니다. 그런 다음 Actions, Create new version을 차례로 선택합니다.

Codewhisperer 사용자 지정 - 업데이트 1a

사용자 지정을 생성할 때 수행한 작업과 마찬가지로 소스 코드 리포지토리를 선택하고 Create를 선택합니다.

Codewhisperer 사용자 지정

새 버전의 사용자 지정을 생성하는 데 시간이 걸릴 수 있습니다. 수집할 코드의 양에 따라 다르기 때문입니다. 준비가 되면 Versions 탭 아래에 새 버전이 나타납니다. 새 버전의 Evaluation 점수를 이전 버전과 비교하고 개발자가 사용할 수 있도록 활성화하기로 결정할 수 있습니다. 언제든지 이전 버전으로 되돌릴 수 있습니다.

Codewhisperer 사용자 지정 - 업데이트 3a

활성 사용자 지정의 장점 중 하나는 조직의 개발자 생산성을 높이는 데 도움이 되도록 효과를 모니터링할 수 있다는 것입니다.

Dashboard 페이지에서 User activity를 추적합니다. 일일 활성 사용자 수, 생성된 코드 줄 수, 수행된 보안 검사 수 등을 추적할 수 있습니다. 저처럼 과거에 Amazon CodeWhisperer Professional을 사용한 적이 있다면, 이 도구를 지금 사용하면 일부 페이지에 CodeWhisperer라는 이름이 계속 표시될 수 있습니다. 이 이름은 점차 새로운 이름인 Amazon Q Developer로 대체될 예정입니다.

Codewhisperer 사용자 지정 대시보드 1

Amazon Q는 더 많은 지표를 생성하고 Amazon CloudWatch에 게시합니다. CloudWatch 대시보드를 구축하여 배포한 사용자 지정의 성능을 모니터링할 수 있습니다. 예를 들어 다음은 코드 제안의 블록 수락률줄 수락률을 프로그래밍 언어별로 분류하여 모니터링하는 사용자 지정 CloudWatch 대시보드입니다.

Codewhisperer 사용자 지정 대시보드 2

지원되는 프로그래밍 언어
현재는 Java, JavaScript, TypeScript, Python으로 작성된 코드 베이스에서 Amazon Q 권장 사항을 사용자 지정할 수 있습니다. C#, Go, Rust, PHP, Ruby, Kotlin, C, C++, 쉘 스크립팅, SQL, Scala 등 Amazon Q가 지원하는 다른 언어로 작성된 파일은 사용자 지정을 생성하거나 IDE에서 사용자 지정 권장 사항을 제공할 때 사용되지 않습니다.

요금 및 가용성
Amazon Q는 AWS 리전에 구애받지 않으며 전 세계 개발자가 사용할 수 있습니다. Amazon Q는 현재 미국 동부(버지니아 북부)에서 호스팅되고 있습니다. Amazon Q 관리자는 다른 리전에 AWS IAM Identity Center가 있는 경우 Amazon Q를 승인된 크로스 리전 애플리케이션으로 구성할 수 있습니다.

Amazon Q 사용자 지정 기능은 Amazon Q Developer Professional 구독 내에서 추가 비용 없이 사용할 수 있습니다. AWS 계정당 최대 8개의 사용자 지정을 생성하고 최대 2개의 사용자 지정을 활성 상태로 유지할 수 있습니다.

이제 사내 개발자에게 Amazon Q 사용자 지정 기능을 제안해보세요!

– seb