Github Copilot의 대항마를 AWS에서 내놓았다. 이름 하야
Amazon CodeWhisperer
(코드를 속삭이는 자?)
아마존에선 실시간 AI 코딩 동료라고한다.
사용방법은 아주 간단한데, intellij의 경우
- Intellij에서 AWS Toolkit plugin을 다운로드
- AWS toolkit 창 CodeWhisperer를 최초 start
- 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 언어 유저들은 더 보수적으로 접근할거 같긴 하다)
로컬에서 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..
메인 메서드
최초 변수 1개 코딩 후 추천받는 대로 코딩
예외 던지는 메서드
기존에 생성한 메서드를 가져다 쓴다. (내 코드를 전체적으로 모니터링 하는 중인듯)
setter에서 파라미터 유효성 검증
로직 간단하게 코멘트 후 추천받는대로 코딩
User 클래스의 필드 추천 받아보기
참고로 정보를 AWS로 넘기지 않는 설정도 가능하다. 민감한 코드이거나, 본인이 동의하지 않는다면 아래 창에서 설정 가능하다. (나의 경우 이런 건 그냥 넘겨준다. 비즈니스 코딩만 아니면 AWS에게 줘봤자 뭐....)
'Programming > DevOps, Tools' 카테고리의 다른 글
[GIT 좀 더 이해하기] remote repository에 최초 push 하기 (0) | 2023.04.25 |
---|---|
[GIT 좀 더 이해하기] 1. fetch와 pull의 차이점 (0) | 2023.04.19 |
[정보통신] 데이터 통신 (0) | 2023.04.12 |
[정보통신] DNS는 어떻게 동작하는가 (1) | 2023.03.29 |
[보안] 사이버 공격 (0) | 2023.03.29 |
댓글