반응형

ChatGPT가 세상에 나온 지 1년이 지나면서, 특히 개발 분야에서는 AI가 가져온 변화가 두드러집니다. 최근 Github의 설문 조사에 따르면, 개발자들 사이에서 AI 코딩 도구의 사용이 급증하고 있습니다. 많은 개발자들이 업무 내외에서 AI 코딩 도구를 활용하고 있으며, 이 중 상당수가 AI 코딩 도구가 프로젝트의 품질 향상, 작업 시간 단축, 그리고 복잡한 문제 해결에 있어 긍정적인 영향을 미치고 있다고 응답했습니다.

지난 12월 6일 JetBrains은 JetBrains AI Assistant를 공식 출시했습니다.

JetBrains AI 서비스는 AI Assistant를 통해 제공되는 모델 측면에서 상당한 유연성을 제공합니다. 특정 공급업체에 종속되지 않고, 기술의 발전에 따라 모델 사용을 조정할 수 있어, 문제 해결을 위한 최적의 모델이나 접근 방식을 선택하는 데 큰 장점을 가집니다.

JetBrains는 고객의 데이터 보안을 최우선으로 생각하며, 고객 데이터를 수집하거나 교육 목적으로 사용할 가능성이 있는 LLM 제공업체와는 절대 협력하지 않을 것을 약속하고 있습니다. 현재 AI Assistant는 OpenAI 및 JetBrains 자체적으로 개발한 다양한 소규모 LLM 모델들과 함께 작동합니다. 모델들은 각기 다른 작업에 맞춰 사용되며, 예를 들어 코드 생성은 간단한 반면, "이 버그가 왜 발생하는가?"와 같은 복잡한 질문은 더 정교한 언어 이해를 필요로 합니다. JetBrains의 AI 서비스는 자동으로 적절한 모델을 선택하여 쿼리를 처리합니다.

IDE와 긴밀하게 통합된 대규모 언어 모델이 코딩 워크플로우 전반에 걸쳐 생산성을 높여줍니다.

이 글에서는 JetBrains AI 어시스턴트의 사용 방법과 그것이 개발 경험을 어떻게 혁신할 수 있는지에 대해 알아보도록 하겠습니다.


AI Assistant Plugin 활성화

PyCharm을 예로 들어 설명하겠습니다. AI Assistant 라이선스를 취득한 후에는 PyCharm 내에서 AI Assistant를 활성화해야 합니다.

1) JetBrains 계정에 로그인하지 않았다면, PyCharm의 기본 메뉴에서 '도움말'을 선택한 후 '등록'을 클릭합니다. 이어서 나타나는 라이선스 대화상자에서 'AI Assistant'를 선택하고 'JetBrains 계정에 로그인'을 클릭합니다. 열리는 JetBrains 계정 웹사이트에서 귀하의 자격 증명을 입력합니다. 승인이 완료된 후, 해당 페이지를 닫고 PyCharm으로 돌아갑니다.

2) 라이선스 팝업창에서 '활성화' 버튼을 클릭하여 AI Assistant 라이선스를 활성화합니다. 라이선스가 목록에 나타나지 않는 경우, '라이선스 목록 새로 고침'을 클릭하여 목록을 업데이트하시기 바랍니다.

3) 라이선스를 활성화한 후, PyCharm의 오른쪽 도구 모음에서 'AI Assistant'를 클릭하면 AI Assistant의 도구 창이 열립니다. [ AI Assistant 사용 시작하기 ]를 클릭합니다.

모든 준비가 끝났습니다. 이제 PyCharm에서 JetBrains AI Assistant를 자유롭게 사용하실 수 있습니다.


#1. Chat with AI (AI 채팅)

AI 채팅을 사용하면 AI Assistant는 프로젝트에 대한 상황별 정보를 고려하여 답변을 제공합니다. 이는 현재 파일의 내용뿐만 아니라 사용하는 언어, 종속성, 최근에 사용한 파일, 그리고 프로젝트의 여러 부분 간의 관계 등 모든 관련 상황 정보를 포함합니다. 따라서, 질문에 대한 가능한 가장 정확하고 구체적인 답변을 제공하기 위해, 질문과 관련된 모든 요소들이 고려됩니다. 이를 통해 AI Assistant는 복잡한 문제 해결과 코딩 관련 질문에 대한 신속하고 명확한 답변을 제공합니다.

오른쪽 도구 모음에서 'AI Assistant'를 클릭하면 AI Assistant 창이 열립니다. 질문을 입력할 수 있는 입력 필드에 질문을 입력한 후 [ 송신 ] 버튼을 눌러 쿼리를 송신합니다. 

AI 도우미에서 제공되는 결과는 클립보드에 복사하거나, '캐럿에 스닛펫 삽입' 버튼을 눌러 소스 코드에 직접 반영할 수 있습니다.

AI Assistant는 하나의 IDE 세션 동안 채팅 내역을 유지합니다. '모든 채팅'에서 이전에 저장된 채팅 내역을 확인할 수 있습니다.

AI Assistant가 더 정확한 답변을 제공하도록 하고 싶다면, PyCharm에서 '설정'으로 이동한 다음 '도구' 섹션 아래에 있는 'AI Assistant'를 선택하고 '스마트 채팅 모드 활성화'를 체크 후 적용 합니다.

이 옵션을 활성화하면, AI Assistant는 사용자의 질문에 대한 답변을 제공하기 위해 필요한 추가적인 컨텍스트 데이터를 LLM에 전송합니다. 이를 통해 사용자가 파일, 클래스, 함수 등의 이름만 언급해도 관련된 질문에 대해 보다 정확한 답변을 얻을 수 있습니다.

#2. Explain code (코드 설명)

코드의 특정 부분을 이해하는 데 도움이 필요할 때, AI Assistant의 '코드 설명' 기능을 사용할 수 있습니다.

원하는 코드 조각을 선택하고 마우스 오른쪽 버튼을 클릭하여 'AI 액션 > 코드 설명'을 클릭합니다.

 AI Assistant 도구 창이 열리며, 여기에서 답변을 생성하는 데 필요한 컨텍스트를 제공하는 파일 목록을 확인할 수 있습니다.

#3. Suggest refactoring (리팩터링 제안)

JetBrains IDE의 리팩터링 제안 기능은 사용자들 사이에서 높은 평가를 받고 있습니다. AI Assistant는 코드에 적합한 리팩터링을 제안할 뿐만 아니라 그 논리도 설명해 줍니다. 이러한 제안은 프로젝트의 현재 상황과 제약 조건을 고려하여 맞춤형으로 제공됩니다. AI Assistant가 제안한 리팩터링을 적용하고 싶다면, 해당 제안을 현재 파일에 diff 형태로 삽입하여 변경될 내용을 정확하게 확인할 수 있습니다.

원하는 코드 조각을 선택하고 마우스 오른쪽 버튼을 클릭하여 'AI 액션 > 리팩터링 제안'을 클릭합니다.

AI Assistant 도구 창이 열리며 설명과 리펙터링 코드를 확인할 수 있습니다. [ Diff 확인 및 적용 ]을 클릭합니다.

리펙터링 뷰어에서 '통합됨' 또는 '양면'을 사용하여 제안된 변경 사항을 검토할 수 있습니다. 결과가 만족스러우면, 마우스 우측을 클릭 후 '수락'을 클릭하여 AI가 생성한 코드 조각을 소스 파일로 이동하거나, '모두 수락'을 클릭하여 모든 코드를 리펙터링 코드로 교체할 수 있습니다. 만약 제안된 리팩터링 코드가 마음에 들지 않는다면, 리펙터링 뷰어를 닫아 제안을 건너뛸 수 있습니다.

#4. Inline code completion (인라인 코드 완성)

AI Assistant는 프로젝트의 현재 상황과 맥락을 고려하여 실시간으로 코드를 자동 완성합니다. 이 기능은 단일 라인, 전체 함수, 심지어는 코드 블록까지도 포괄할 수 있으며, 생성된 코드는 일반적인 코드 작성 방식을 따르고, 스타일 및 명명 규칙에 부합합니다. 이를 통해 개발자는 효율적으로 코드 작성을 진행할 수 있으며, 일관성 있는 코딩 스타일을 유지할 수 있습니다.

인라인 코드 완성을 사용하려면 먼저 설정에서 '입력할 때 자동 인라인 코드 완성 활성화'를 체크해야 합니다.

만약 GitHub Copilot 플러그인이 활성화되어 있다면 비활성화해야 AI 코드 완성을 사용할 수 있습니다.

코드 작업 중 'Enter'를 눌러 새 줄을 시작하고, 몇 초간 기다려 제안을 받습니다. 제안된 코드는 회색 글꼴로 표시됩니다. 제안된 코드를 적용하려면 'Tab' 키를 누릅니다. 제안이 마음에 들지 않는다면, 계속해서 고유한 코드를 작성하여 제안을 거부할 수 있습니다.

#5. Explain runtime error (런타임 오류 설명)

PyCharm에서 Python 런타임 오류가 콘솔에 표시될 경우, 인라인 힌트를 통해 해당 오류에 대한 AI 설명을 얻을 수 있습니다. 이 기능은 오류 메시지 옆에 나타나며, 클릭하면 AI Assistant가 해당 오류의 원인과 해결 방법에 대한 자세한 설명을 제공합니다.

#6. Generate documentation with AI (AI로 문서 생성)

AI Assistant를 활용하면 대형 언어 모델(LLM)을 사용하여 선언에 대한 문서를 자동으로 생성할 수 있습니다. 이 기능은 코드의 특정 선언 부분에 대한 상세한 문서화를 용이하게 하며, AI 기반의 분석을 통해 효율적이고 정확한 설명을 제공합니다.

원하는 코드 조각을 선택하고 마우스 오른쪽 버튼을 클릭하여 'AI 액션 > 문서 작성'을 클릭합니다.

AI Assistant가 선택된 코드 조각에 대한 문서를 자동으로 생성합니다.

#6. Get AI assistance for VCS commits (VCS 커밋에 대한 AI 지원받기)

AI Assistant는 버전 관리 시스템(VCS) 커밋 과정에도 도움을 제공합니다. 변경 사항을 설명하는 커밋 메시지를 생성할 때, AI Assistant는 대형 언어 모델(LLM)에 차이점을 보내 이를 자동으로 생성할 수 있습니다. 이를 통해, 사용자는 커밋 메시지 작성 시 AI의 지원을 받아 보다 정확하고 상세한 설명을 쉽게 작성할 수 있습니다.


지원되는 개발 환경

JetBrains AI 서비스 구독을 통해 AI Assistant는 IntelliJ IDEA, PyCharm, PhpStorm, ReSharper를 비롯한 여러 JetBrains IDE에서 사용할 수 있으며, Fleet에서도 부가 기능으로 제공됩니다.

가격 정책

AI Assistant는 현재 JetBrains AI 서비스의 구독을 바탕으로 제공되며, 유료 라이선스 사용자들을 위한 추가 기능입니다. 무료 버전은 7일간의 체험 기간을 제공합니다.


AI Assistant의 다양한 기능을 활용하여 코드 작성, 리팩토링, 문서화, 런타임 오류 해석, VCS 커밋 메시지 작성 등의 작업을 보다 쉽고 효과적으로 수행할 수 있습니다. AI Assistant는 개발자의 필요와 프로젝트 요구 사항을 이해하고, 이에 맞춘 최적의 지원을 제공합니다. 이를 통해 개발자는 더욱 집중적이고 창의적인 작업에 시간을 할애할 수 있게 됩니다.

반응형