본문 바로가기
AI

[AI] Amazon CodeWhisperer 사용법 (1) - CodeWhisperer란?

by 노력남자 2023. 5. 1.
반응형

이번 포스팅에선 4월 17일에서 아마존에서 발표한 AI Coding Companion인 CodeWhisperer에 대해 알아보겠다.

 

Amazon CodeWhisperer란?

 

 

ML 기반 코딩 도우미 - Amazon CodeWhisperer - Amazon Web Services

 

aws.amazon.com

 

CodeWhisperer(Whisperer는 속삭이는 사람이라는 뜻이다.)는 AI 코딩 도우미로, 통합 개발 환경(IDE)에서 실시간으로 단일 또는 전체 함수 코드 제안을 생성하여 소프트웨어를 빠르게 구축할 수 있도록 돕습니다. CodeWhisperer를 사용하면 "서버 측 암호화로 파일 업로드"와 같이 영어로 특정 작업을 설명하는 자연어 주석을 작성할 수 있습니다. 이 정보를 바탕으로 CodeWhisperer는 IDE에서 해당 작업을 수행할 수 있는 하나 이상의 코드 조각을 추천합니다.

 

그래서 뭐하는 녀석인데?

 

https://aws.amazon.com/ko/blogs/korea/amazon-codewhisperer-free-for-individual-use-is-now-generally-available/

 

내가 만들고 싶은 코드를 주석으로 작성하면 분석해서 자동으로 코드를 작성해준다.

 

코드를 단순하게 생성해주는 것 이외에도 여러 기능을 제공해주는데 아래에서 알아보겠다.

 

어떤 데이터를 이용했고, 어떻게 이런 게 가능한 거지?

 

https://aws.amazon.com/ko/codewhisperer/

 

Amazon 서비스에서 사용 중인 소스, 오픈 소스를 학습시킨 AI에 내가 작성한 코드를 보내면 AI가 추천한 코드를 반환하는 식이다.

 

Copilot하고 똑같은 거 같은데 다른점 있어?

 

1. AWS 서비스 사용에 최적화된 서비스

 

Amazon에서 제공하는 서비스다 보니 AWS API 작성에 아주 안성맞춤이다.

 

CodeWhisperer는 Amazon Elastic Compute Cloud(Amazon EC2), AWS Lambda 및 Amazon Simple Storage Service(Amazon S3)와 같은 AWS API를 최적화한 코드 제안을 제공하여 개발자가 AWS 서비스를 보다 효율적으로 사용할 수 있도록 돕습니다. IDE에서 코드를 작성하는 동안, CodeWhisperer는 자동으로 코드와 코멘트를 분석합니다. 원하는 기능에 대한 적절한 클라우드 서비스 및 공개 소프트웨어 라이브러리를 사용하여 제안을 하고, AWS에서 권장하는 최적의 방법으로 코드 조각을 추천합니다.

 

2. 내장 보안 스캔 기능

 

https://aws.amazon.com/ko/blogs/korea/amazon-codewhisperer-free-for-individual-use-is-now-generally-available/

 

CodeWhisperer를 사용하면 Java, JavaScript 및 Python 프로젝트를 스캔하여 OWASP(Open Worldwide Application Security Project) 상위 10위 내의 취약점과 암호 라이브러리 최적 사례 및 기타 유사한 보안 최적 사례를 충족하지 않는 하위 발견하기 어려운 취약점을 탐지할 수 있습니다. 이 서비스는 IDE에서 기존 코드(코드가 CodeWhisperer에 의해 생성되었든, 당신이 작성한 코드든)를 분석하고, 높은 정확도로 문제가 있는 코드를 식별하며, 이를 해결하는 데 대한 지능적인 제안을 제공합니다.

 

3. 책임 있는 코드 작성: 오픈 소스 코드 추적을 위한 참조 추적기

 

https://aws.amazon.com/ko/blogs/korea/amazon-codewhisperer-free-for-individual-use-is-now-generally-available/

 

CodeWhisperer는 내장된 참조 추적기를 제공하여 코드 제안이 오픈 소스 훈련 데이터와 유사한지 여부를 감지하고 이러한 제안을 플래그할 수 있습니다. 이러한 제안은 오픈 소스 프로젝트의 저장소 URL, 파일 참조 및 라이선스 정보로 주석이 달려 있어, 추천 코드를 통합하기 전에 검토할 수 있습니다. 사용한 모든 플래그된 제안은 로그에 기록되므로 나중에 검토하고 라이선스 어트리뷰션을 자유롭게 추가할 수 있습니다. 또한, CodeWhisperer가 오픈 소스 코드와 유사하다고 판단하는 모든 코드 제안을 필터링할 수도 있습니다.

 

4. 책임 있는 코드 작성: 편향 회피

 

인공 지능(AI) 및 기계 학습(ML) 기술을 책임 있게 사용하는 것이 지속적인 혁신을 유도하는 데 중요합니다. CodeWhisperer는 편향적이고 불공평한 것으로 간주될 수 있는 코드 제안을 필터링하여 개발자가 편향을 회피할 수 있도록 도와줍니다.

 

CodeWhisperer가 지원하는 언어는 뭐가 있을까?

 

총 15개의 언어를 제공 중인데 데이터 학습량에 따라 코드 추천 성능이 다르다.

 

많은 양의 데이터를 학습해 좋은 코드를 제공할 수 있는 언어

 

  • Java
  • Python
  • JavaScript
  • TypeScript
  • C#

 

위 언어들보단 데이터 학습량이 좀 아쉬운 언어

 

  • Ruby
  • Go
  • PHP
  • C++
  • C
  • Shell
  • Scala
  • Rust
  • Kotlin
  • SQL

 

CodeWhisperer은 어떻게 사용할 수 있을까?

 

VS Code, Intellij, AWS Lamda, AWS Cloud9에서 사용할 수 있다.

 

아래 사이트에서 사용 방법을 알 수 있다.

 

 

AI Code Generator - Amazon CodeWhisperer Resources - AWS

 

aws.amazon.com

 

CodeWhisperer 가격 정책

 

 

Individual은 무료 (5월부터 유료), Professional은 $19/user/month

 

Professional은 기업용인데 Individual과 다른 점은 Code Security Scan 횟수, 사용량 관리 기능, 코드 정책 관리 기능 제공 유무다.

 

Organizational license management: 기업이 CodeWhisperer를 사용하는 개발자들의 액세스 및 사용량을 중앙에서 관리할 수 있도록 하는 기능입니다. 이를 통해 기업은 조직의 요구에 맞춰 CodeWhisperer의 사용을 제어하고 관리할 수 있으며, 보안 및 규정 준수를 보장할 수 있습니다. 프로페셔널 티어에서 사용 가능한 기능 중 하나입니다.


Organizational policy management: 기업이 CodeWhisperer를 사용하는 개발자들이 받는 코드 제안에 대한 정책을 설정하고 관리할 수 있도록 하는 기능입니다. 이를 통해 조직은 개발자들이 받는 코드 제안이 보안 및 규정 준수와 관련된 정책을 준수하도록 보장할 수 있습니다. 예를 들어, 조직에서는 개발자가 오픈 소스 훈련 데이터와 유사한 코드 추천을 받지 못하도록 설정할 수 있습니다. 프로페셔널 티어에서 사용 가능한 기능 중 하나입니다.

 

 

AI Code Generator - Amazon CodeWhisperer Pricing - AWS

Amazon CodeWhisperer provides developers with real-time code suggestions directly in the integrated development environment (IDE). Individual developers can use CodeWhisperer for free. Organizations pay a flat “per user, per month” subscription fee for

aws.amazon.com

 

+ 추가

 

User Guide를 참고하면 더 좋다.

 

 

What is CodeWhisperer? - CodeWhisperer

What is CodeWhisperer? Amazon CodeWhisperer is a general purpose, machine learning-powered code generator that provides you with code recommendations in real time. As you write code, CodeWhisperer automatically generates suggestions based on your existing

docs.aws.amazon.com

 

 

GitHub에선 Copilot을 Amazon에서는 CodeWhisperer를 발표했는데 앞을 더 재밌는 것들이 나올 거 같아서 행복하다.

 

CodeWhisperer는 Copilot과는 다른 기능들을 제공해주고 AWS 특화 기능도 제공해줘서 상황에 맞게 골라서 쓰면 좋을 거 같다.

 

다음 포스팅에선 Amazon CodeWhisperer를 사용하기 전 반드시 알아야 하는 것들에 대해 알아보겠다.

반응형

댓글