JetBrains IDE의 AI Assistant

Read this post in other languages:

7월 13일 업데이트: AI Assistant는 사전 릴리스 버전에서 사용할 수 있지만, JetBrains IDE의 안정적인 릴리스인 2023.2에서는 번들로 제공되지 않습니다. 2023.2.x 버전에서 플러그인을 설치하여 사용할 수 있지만, AI Assistant 기능은 사용자 수가 많은 경우 사용자 수가 제한되어 대기자 명단에 추가될 수 있습니다. 


모든 IntelliJ 기반 IDE 및 .NET 도구를 대상으로 하는 이번 주 EAP 빌드에는 AI Assistant라는 새로운 주요 기능이 포함되었습니다. 이 블로그 게시물은 곧 제공될 .NET 도구용 게시물과 함께 IntelliJ 기반 IDE에 중점을 둡니다.

생성형 AI와 대규모 언어 모델이 소프트웨어 개발 도구의 생태를 빠르게 변화시키고 있는 가운데, 자연스레 JetBrains 제품에도 이 기술을 통합하기로 했습니다. AI Assistant 기능 빌드의 접근 방식은 두 가지 주요 측면에 중점을 둡니다.

  • AI 지원을 핵심 IDE 사용자 워크플로에 결합합니다.
  • 항상 JetBrains IDE의 강점이었던 코드에 대한 이해와 AI 기능의 긴밀한 통합을 구축합니다.

AI 기능은 JetBrains AI 서비스를 기반으로 합니다. 이 서비스는 제품 사용자로서 여러분을 다양한 대형 언어 모델(LLM)에 투명하게 연결하고 수많은 JetBrains 제품 내에서 특정 AI 기반 기능을 구현합니다. 또한 출시와 함께 OpenAI를 지원하고 JetBrains에서 만든 여러 소형 모델을 추가로 호스팅합니다. 앞으로 JetBrains는 이 서비스를 더 많은 제공업체로 확장하여 사용자들이 가능한 최상의 옵션과 모델을 이용할 수 있도록 할 계획입니다.

더불어 로컬 및 온프레미스 모델도 지원할 계획입니다. 로컬 모델의 경우, 지원되는 기능 세트가 제한될 가능성이 높습니다.

AI 기능

현재 EAP 빌드는 우리가 나아가고 있는 방향을 제시하는 기능 샘플을 제공합니다.

AI 채팅

AI Assistant(AI 어시스턴트) 도구 창을 사용하여 LLM과 대화하거나 질문하거나 작업을 반복 처리하세요. IDE는 프로젝트에서 사용되는 언어 및 기술과 같은 몇 가지 프로젝트별 컨텍스트를 제공합니다. 결과가 만족스러우면 Insert Snippet at Caret(캐럿 위치에 스니펫 삽입) 기능을 사용하여 AI가 생성한 코드를 에디터에 집어넣거나 간단히 복사하세요.

AI에게 특정 코드 조각에 대해 물어보려면 에디터에서 해당 코드 조각을 선택하고 AI Actions(AI 액션) 메뉴에서 액션을 호출합니다(에디터 컨텍스트 메뉴 또는 Alt+Enter 단축키 사용). New chat using selection(선택한 내용을 사용하여 새 채팅 시작) 액션을 통해 자신만의 프롬프트 또는 요청을 제공할 수 있습니다. Explain code(코드 설명), Suggest refactoring(리팩터링 제안) 또는 Find potential problems(잠재적 문제 찾기)를 적절하게 선택하여 추가적인 표준 AI 지원 프롬프트를 입력할 수 있습니다.

문서 생성

LLM을 사용하여 선언에 대한 문서를 생성해야 하는 경우, AI Actions(AI 액션) 메뉴를 호출하고 Generate documentation(문서 생성) 액션을 선택합니다. 현재 Java, Kotlin 및 Python이 지원됩니다.

Java 및 Kotlin의 경우, 문서 주석 스텁을 생성하는 표준 방법(/** 입력)을 사용할 때 문서 생성이 제안됩니다. IDE는 주석의 정적으로 알려진 부분(예: Java의 @param 태그)을 생성하고 AI는 실제 문서 텍스트를 자동으로 생성합니다.

이름 제안

Java, Kotlin 또는 Python 선언의 이름을 바꾸면 AI가 그 내용을 바탕으로 선언의 이름 옵션을 제안합니다. 이 기능은 Settings(설정) | Tools(도구) | AI Assistant에서 해제할 수 있습니다.

커밋 메시지 생성

이제 커밋 메시지 대화상자에 Generate Commit Message with AI Assistant(AI Assistant로 커밋 메시지 생성) 버튼이 제공됩니다. 이를 클릭하여 변경 내용의 Diff를 LLM으로 보내면 변경 내용을 설명하는 커밋 메시지가 생성됩니다.

제공되는 AI Assistant 기능은 제품별로 다를 수 있습니다. 자세한 내용은 각 제품(CLion, GoLand, IntelliJ, PhpStorm, PyCharm, ReSharper, Rider, RubyMine, WebStorm, Fleet)의 블로그 게시물에서 확인하실 수 있습니다. .

AI 기능에 액세스

AI 기능에 액세스하려면 JetBrains Account로 JetBrains AI 서비스에 로그인해야 합니다. AI Assistant(AI 어시스턴트) 도구 창이나 Settings(설정) | Tools(도구) | AI Assistant에서 로그인할 수 있습니다.

참고로 일부 사용자에게는 JetBrains AI 서비스가 즉시 제공되지 않을 수도 있습니다. 먼저 일정 수의 사용자를 수용하고 최대 수용 인원에 도달하면 나머지 사용자를 대기자 명단에 추가할 예정입니다. 앞으로 몇 주에 걸쳐 더 많은 분을 초대하여 제품을 사용해 볼 수 있도록 할 예정입니다.

AI 서비스에 대한 액세스는 현재 OpenAI 서비스가 제공되는 지역으로 제한됩니다. 여기에서 전체 지역 목록을 확인할 수 있습니다.

AI 서비스는 EAP 기간 동안 무료로 이용할 수 있습니다. 라이선스 및 가격 모델은 추후에 제공할 예정입니다.

JetBrains가 코드와 데이터를 처리하는 방식

AI 기능을 사용할 때 IDE는 요청과 코드를 LLM 제공업체로 보내야 합니다. 입력한 프롬프트 외에 IDE는 코드 조각, 파일 유형, 사용된 프레임워크 및 LLM에 컨텍스트를 제공하는 데 필요할 수 있는 기타 정보 등 추가 세부 정보도 함께 보낼 수 있습니다.

또한, AI 지원 기능을 포함하는 EAP 빌드는 사용자와 LLM 간의 전체 통신 내용(텍스트 및 코드 조각 모두)을 포함하여 AI 기능 사용에 관한 상세 데이터를 옵트인 방식으로 수집합니다. 이 데이터는 엄격히 기밀로 유지되며 JetBrains에서 제품 개선 목적으로만 사용됩니다. 이 정보는 외부의 제3자와 절대 공유되지 않으며, 코드 또는 텍스트를 생성하는 ML 모델 학습을 비롯해 어떤 형태로든 다른 사용자에게 공개되지 않습니다. 상세 데이터 수집에 관련된 옵션은 Tools(도구) | AI Assistant | Data Sharing(데이터 공유) | Send AI Assistant usage statistics(AI Assistant 사용 통계 보내기)에서 찾을 수 있습니다.

데이터 수집 정책에 대한 자세한 내용은 JetBrains 웹사이트를 참조하세요.

피드백 공유

지금 단계에서는 성공 사례, AI가 예상한 대로 작동하지 않는 상황, AI가 도움이 될 수 있는 다른 시나리오 제안 등 새로운 기능에 대한 피드백을 수렴하는 것이 매우 중요합니다. AI Assistant(AI 어시스턴트) 도구 창에서 Share feedback(피드백 공유)을 클릭하여 아이디어와 제안 사항을 보내주시고 AI Assistant 버그를 발견했다면 YouTrack에서 보고해 주세요. 감사합니다!

게시물 원문 작성자

Jessie Cho

Dmitry Jemerov

image description

Discover more