본문 바로가기
Programming/DevOps, Tools

[tool] AWS CodeWhisperer 15분 사용기

by kghworks 2023. 4. 17.

코드 속삭여주는 나의 코딩 동료

Github Copilot의 대항마를 AWS에서 내놓았다. 이름 하야

 

Amazon CodeWhisperer
(코드를 속삭이는 자?)

 

아마존에선 실시간 AI 코딩 동료라고한다.

 

출시를 알리는 AWS 블로그 (출처 : https://aws.amazon.com/ko/blogs/korea/amazon-codewhisperer-free-for-individual-use-is-now-generally-available/)

 

사용방법은 아주 간단한데, intellij의 경우

  1. Intellij에서 AWS Toolkit plugin을 다운로드
  2. AWS toolkit 창 CodeWhisperer를 최초 start
  3. AWS에 계정 등록 및 연동 (하라는 대로 따라가면 됨)

 

자세한 방법은 아래 링크에 들어가서 하라는 대로 각자 IDE에 이식하면 된다.

https://docs.aws.amazon.com/ko_kr/codewhisperer/latest/userguide/getting-started.html

 

Getting started - CodeWhisperer

Thanks for letting us know this page needs work. We're sorry we let you down. If you've got a moment, please tell us how we can make the documentation better.

docs.aws.amazon.com

 

지원하는 언어는 아래와 같으며 주요 언어와 IDE 가 지원 되니 대부분의 개발자들은 바로 사용 가능하다. (이클립스, C가 아직 안되는 상황, C같은 unmanaged 언어 유저들은 더 보수적으로 접근할거 같긴 하다)

지원 언어 (출처 : https://aws.amazon.com/ko/codewhisperer/)
AWS Toolkit 창 (Intellij)

 

 

로컬에서 15분 정도 간단하게 테스트를 해보았다. 밑에 첨부한 움짤들을 참고하면 감이 올 거다.

내 깃헙에도 올려두었다 https://github.com/gihyeon6394/toy-java/tree/main/src/codeWhisperer

 


15분 사용 소감

  • 잔버그가 많음. 켜도 동작하지 않을 때도 있음
  • 한글 지원이 완벽치는 않은듯? 영어로 코멘트 해주는게 훨씬 잘먹힘
  • java Docs 적용하려고 타이핑하려하면 한글로 엄청 깨진 뭔가를 추천함
  • 그래서 주석달 때는 한글로 작성할거면 끄는게 좋을 듯
  • 단축키가 없나요? 밑에 퀵뷰로 코드를 제안할 때 바로바로 적용해주는 단축키 필요해 보임
    • tab 하면 된다 ㅎㅎ
  • 사용자 데이터들 기반으로 머신러닝 해간다면 1년뒤가 기대됨
  • 일단 무료라 감사합니다

 

Copilot, chatGPT 등 업무 자동화에 도움이 될만한 혁신적인 도구들이 시장에 나오고 있다.

 

주변 동료들과 관련하여 짧게 대화를 나눠봤는데, 일단 거부감이 있어 보인다. (경쟁자를 견제하는건가!) 코드를 직접 작성하지 못하고, 의존하게 되어 나중에는 코딩을 할 줄 모른다나 어쩐다나... 구글링 하면 스택오버플로우에 의존하게 되니 구글링 하지 말라는 것처럼 들리는데.. 이미 나온 기술을 외면한다고 기술이 사라지랴. 내가 안 써야 된다고 마음먹은들 다른 개발자들이 너무 잘쓴다. 누군가는 십분 활용하여 생산성을 올리고, 누군가는 지피티에 의존하면 안 된다는 신념(?)아래 구글링만 하면서 코딩할 것이다. (지피티가 못믿겠거든 정규식 짜게 시켜보라. 2~3번 대화안에 정규식과 테스트코드가 나온다.)

 

암튼 개발자로서 많은 부분이 자동화되는 것 같아서 기쁜 마음이다. 패턴 찍어내기식 개발은 직접 타이핑하지 않는 시대가 도래하고 있는 것 같다. (getter/setter 생략하는 lombok이 얼마나 편하던가)

 

회사에선 안 쓰려고 하고, 당분간 개인 프로젝트에서 써보려고 한다. 2달 정도 써보고 다시 사용기를 포스팅하겠다.

 

그때까지 부디 유료로 돌리지 말아 주세요 AWS..

 

메인 메서드

main mthod 만들기

최초 변수 1개 코딩 후 추천받는 대로 코딩

예외 던지는 메서드 

기존에 생성한 메서드를 가져다 쓴다. (내 코드를 전체적으로 모니터링 하는 중인듯)

setter에서 파라미터 유효성 검증

로직 간단하게 코멘트 후 추천받는대로 코딩

User 클래스의 필드 추천 받아보기

String까지만 쳐봄
email도 추천한다

 

참고로 정보를 AWS로 넘기지 않는 설정도 가능하다. 민감한 코드이거나, 본인이 동의하지 않는다면 아래 창에서 설정 가능하다. (나의 경우 이런 건 그냥 넘겨준다. 비즈니스 코딩만 아니면 AWS에게 줘봤자 뭐....)

 

 

 

댓글