


장점
한 달동안 Jetbrains AI Assistant 을 사용해 본 결과, 이를 잘 사용하려면 사용자가 응답된 내용을 이해하고, 역제안과 이를 설명할 능력이 있을 경우 코드 품질 향상에 도움이 되는 것을 확인했다. 일단 내가 아닌 다른 사람(사람?이라고 해야 하나..)의 시야로 코드를 분석시키고, 다양한 제안을 받아 볼 수 있기 때문이다.

물론 모든 제안들이 전부 사용 가능하거나 그렇다는 것은 아니다. 어디까지나 넓은 시야를 제공해 준다는 점에서 그 의미가 있다. 그리고 제안된 내용으로 수정하고자 하면 쉽게 IDE에 내장된 diff로 손쉽게 적용이 가능하단 점이다. 나는 생성된 코드가 즉시 사용 가능하게 나온 적이 없던지라 활용할 기회는 없었다.
그리고 아주 가끔, 프로젝트 내 소스 코드를 읽어서 활용하는 경우가 종종 보인다. 내가 넘겨주지 않은 소스코드에 대해 AI가 미리 알고 있는 경우가 있다. 이게 처음에는 편하고 신기했었는데, 굉장히 찝찝하다. 프로젝트 전체 코드에 대한 권한이 있다는 의미이기도 해서 언제든 코드를 읽어볼 수 있다는 것이 된다.
그러나 그런 케이스는 많지 않으며, 대부분의 경우 독자적인 응답이 온다.


가장 편하다고 생각하는 점은 역시나 모든 생성 AI에서 빠짐없이 나오는 부분이다. 웹 기반 기능을 구현할 때, 가장 귀찮은 작업이 json 형태 응답을 구조화 하는 것인데, 응답을 그냥 밀어넣고 만들어달라고 한다던지, 매우 간단하지만 내가하기에는 귀찮은 작은 기능들을 만들어달라고 하면 꽤나 잘 만들어준다. 기능이 복잡하다면 조금의 대화시간이 필요하지만 내가 몇십줄의 코드를 작성하는게 아닌 3줄만 이야기하면 완성되는데 안할 이유가 없다.


요구사항과 기능의 제한사항만 잘 설명하면 원하는 대로 기능을 작성한다.

이걸 한 번도 경험하지 못한 사람은 있어도 한 번만 경험한 사람은 없을 것이다. "해줘" 능력은 부족한 점이 없어 보인다.
단점

사용하면서 몇 가지 단점도 존재했는데, 일단 첫 번째로 프로그래밍에서 벗어났다고 생각되는 모든 질문들에 대해서는 답변을 거부하는 것이다. 프로그래밍과 관련된 답변을 수행하도록 튜닝된 커스텀 모델을 사용하기 때문인데, 조금은 너무 타이트하게 그 규격을 잡지 않았나 생각이 든다.

질문이 개발이라는 카테고리에 속해있어도, 실제 코드와 연결 지어 이야기할 수 없는 부분은 대답을 회피한다. 그런데 재밌게도, 몇몇 질문은 이를 회피할 수 있다. 어떤 부분에서 명확히 대답이 제한되는지 알 수는 없지만, 일반적으로 생각하면 코드에 관련된 부분만 대답을 제대로 할 수 있다는 것이다.
이외에도 미처 캡처하지 못했지만, 대화의 길이가 길어질수록 대답하다가 갑자기 끊어버리는 부분이라든지, 한번 잘못된 응답을 받기 시작하면 제대로 된 응답까지 꽤 많은 티키타카가 필요하다. 이 부분은 특히나 불편한데, 나의 경우에는 티키타카를 계속 이어나가는 것보다 새로운 대화를 시작하는 것이 오히려 더 빠른 대답을 얻을 수 있었다.
한국어 응답의 경우, 영어 응답과 비교했을 때 체감상 1~2초 정도 시간이 더 소모된다. 응답의 퀄리티도 상당부분 차이가 나는데, 이 부분은 아무래도 어쩔수 없는 부분인 것 같다.
각주
- 직접 물어볼 경우 GPT-3 모델 기반이라고 대답해 주는데, GPT-3.5와 GPT-4가 포함된 커스텀 모델이라고 한다.
참조
- https://www.jetbrains.com/ai/
- https://siliconangle.com/2023/12/06/jetbrains-unleashes-ai-powered-coding-assistant-across-developer-productivity-tools/#:~:text=Currently%2C%20JetBrains%20uses%20a%20combination,the%20company's%20models%20as%20well.
© 2024 - 2024 Vvidr - All Rights Reserved.
'설계 > 기술' 카테고리의 다른 글
열거형 쿼리 (Enum query) (0) | 2024.05.23 |
---|---|
배열을 최적화하는 방법 (0) | 2024.03.13 |
ECS(Entity Component System)로 설계하는 프로그램 part.1 (0) | 2024.02.08 |