AWS CodeWhisperer 맛보기 (feat. PyCharm)

AI가 코드 작성을 도와준단다. GitHub Copilot은 돈 내야 하는데 요건 개인 개발자는 무료란다. 그럼 써야지!


Note
  • 사용하는 툴에 AWS Toolkit 플러그인 설치하고, 로그인 하면 끝
  • 개인 개발자는 무료
  • 지원 언어 : Python, Java, JavaScript, TypeScript, C#. Rust, Go, Ruby, Scala, Kotlin, PHP, C, C++, Shell Scripting, SQL.


아래 영상 정도로 느낌을 알아보자.

{유튜브 - AWS} Amazon CodeWhisperer Overview


{유튜브 - 코드깍는노인} 코파일럿에 이어 CodeWhisperer까지! 코딩 너무 쉬워진다!



참고 : https://docs.aws.amazon.com/codewhisperer/latest/userguide/whisper-setup-indv-devs.html

개인적으로 JetBrains의 IDE를 선호한다.
PyCharm에 AWS Toolkit 플러그인을 설치해보자.
(위 링크에 VS Code, JetBrains 둘 다 가이드가 잘 되어 있음)


PyCharm 기준으로, 아래 메뉴에서 설치하면 된다.

  • File > Settings
  • Plugins > “Marketplace” 탭
  • “aws” 검색
  • “AWS Toolkit” 설치
/images/dev_common/code_whisperer_1.png
플러그인 설치


IDE 재시작하고 나면, AWS Toolkit 로그인이 필요하다.

/images/dev_common/code_whisperer_2.png
AWS Builder ID 만들기

혹, 1번의 메뉴가 안보인다면, View > Tool Windows > AWS Toolkit 에 있다.

AWS Builder ID 라는 걸 새로 만들어서 사용하게 된다.



공식 문서의 Language support in Amazon CodeWhisperer에 따르면, Java, Python, JavaScript, TypeScript, C# 에서 활용하는 걸 추천하고 있다.

In terms of the quality of the training data, the programming languages with the most support are:

  • Java
  • Python
  • JavaScript
  • TypeScript
  • C#

기본적으로, 주석을 적당히 쓰면 추천을 해주고, Tab 을 누르면 해당 코드를 사용한다.


Python 예시는 아니지만, 공식 페이지에서는 아래 느낌의 Java 예시를 보여주고 있다.


가만히 있어도 뭔가 추천해 준다.

https://docs.aws.amazon.com/images/codewhisperer/latest/userguide/images/cw-jb-singeline-062022.png
이미지 출처: Single-line code completion

주석을 영어로 풀어서 써두면, 메소드 시그니쳐부터 추천을 해 준다.

https://docs.aws.amazon.com/images/codewhisperer/latest/userguide/images/cw-jb-comment-062022.png
이미지 출처: Full function generation

Docstring 을 잘 작성해 두면, 고거에 맞춰서 완성도 해 준다.

https://docs.aws.amazon.com/images/codewhisperer/latest/userguide/images/cw-jb-docstring-062022.png
이미지 출처: Docstring and Javadoc completion


추가로, 요 블로그 A Beginner’s Guide to Prompt Engineering with GitHub Copilot 에 GitHub Copilot을 잘 활용하기 위한 팁이 몇 가지 있다. CodeWhisperer 에도 동일하게 적용할 수 있어 보인다. 주요 소제목은 아래와 같다.

  • Provide high-level context followed by more detailed instructions
  • Provide specific details
  • Provide examples
  • Iterate your prompts
  • Keep a tab opened of relevant files in your IDE




Related Content