이 문서는 Project IDX에서 최신의 강력한 인공지능 모델 제미니를 활용하는 방법에 대해 설명합니다.
제미니를 통합하여 코딩 경험을 간소화하는 방법과 코드가 IDX 내 제미니와 어떻게 상호 작용하는지 자세히 살펴보겠습니다.
내부 구조: IDX 내 제미니 모델 작동 방식
모든 IDX 작업 공간은 전용 가상 머신(VM)에서 실행되며 이 VM은 작업별 API를 통해 제미니 모델과 사전 구성됩니다.
작동 방식은 다음과 같습니다.
- 로컬 코드베이스 인덱싱
활성화를 선택하면 VM의 로컬 코드 인덱서가 검색 가능한 코드베이스 인덱스를 생성합니다.
이 인덱스는 사용자의 머신에 저장됩니다.
민감한 코드나 독점 코드는 .aiexclude 파일을 사용하여 인덱싱에서 제외할 수 있습니다. - 맞춤 설정된 컨텍스트 인식 프롬프트
프롬프트 엔진은 현재 프로젝트, 도구, 오류, 열린 파일 및 관련 코드 스 니펫 (인덱싱 활성화 시)을 분석합니다.
이 정보는 IDX 내 제미니에게 맞춤 설정된 프롬프트를 생성하는 데 사용되어 가장 관련성이 높은 인공지능 지원을 받을 수 있도록 합니다. - 모델 선택: IDX는 작업에 적합한 제미니 모델을 지능적으로 선택합니다.
빠른 코드 완성을 위한 작은 모델, 채팅을 위한 더 큰 스트리밍 모델, 코드 생성 및 변환을 위한 강력한 모델 등이 선택됩니다. - 컨텍스트적 후처리: 제미니의 응답은 워크플로에 쉽게 통합될 수 있도록 포맷됩니다.
코드 제안은 인라인으로 표시되고, 설명은 IDX AI 채팅에 표시되며, 도구 작업은 사용자 승인이 필요합니다.
코드베이스 인덱싱의 강력한 기능 해제
IDX의 인공지능 기능을 최대한 활용하려면 코드베이스 인덱싱을 활성화하십시오.
이를 통해 제미니가 프로젝트를 심층적으로 이해하고 더욱 관련성이 높은 제안 및 답변을 제공할 수 있습니다.
활성화 방법
설정 (.vscode/settings.json)으로 이동하여 "IDX.aI.enableCodebaseIndexing": true를 설정하십시오.
또한 제미니 채팅 창에서 설정 아이콘을 클릭하여 활성화할 수 있습니다.
중요 참고 사항
코드베이스 인덱싱을 활성화하고 IDX 기능에서 제미니를 사용하는 경우, 관련 코드 스 니펫이 제미니 모델로 전송되어 컨텍스트에 맞는 관련 응답을 제공합니다.
민감한 코드나 독점 코드는 코드 완성, 채팅 및 인라인 생성과 같은 다양한 AI 기능의 컨텍스트로 자동으로 사용되지 않도록 .aiexclude 파일을 사용하여 코드베이스 인덱스에서 제외할 수 있습니다.
코딩 워크플로우 지원하는 인공지능: 코드 완성, 채팅 및 생성
코드 완성
입력할 때 제미니는 현재 파일과 (활성화된 경우) 프로젝트의 관련 스 니펫을 기반으로 다음 코드를 제안합니다.
Tab 키를 눌러 제안을 수락하거나 Cmd/Ctrl+왼쪽 화살표를 사용하여 단어를 수락하십시오.
IDX에서는 더 작고 빠른 모델이 코드 완성을 담당합니다.
사용자가 코드를 입력할 때, 로컬 컨텍스트/프롬프트 엔진이 접두사, 접미사, 열린 파일, 오류 컨텍스트 등의 요소를 고려하여 사용자 환경을 분석합니다.
이 정보를 바탕으로 포맷된 요청이 모델에 전송됩니다. 모델의 응답은 품질 평가를 거치며, 일정 기준 미만의 응답은 필터링됩니다.
또한, 코드 완성 API는 응답에 어떠한 형태의 복제(recitation)가 포함되어 있는지 감지하면, 코드에 주석을 달고 AI 라이선스 로그 패널에 대한 링크를 포함하여 코드가 적용될 수 있는 라이선스를 표시합니다.
프로 팁
- 코드 완성을 위한 주석 추가
코드 주석 바로 뒤에 입력을 시작하면 코드 완성이 더욱 효과적입니다.
아래 예시에서 주석은 제미니에게 의도된 코드를 힌트로 제공합니다.
- 부분 완성 수락
전체 코드 완성을 수락할 필요 없이 원하는 부분만 선택할 수 있습니다.
Ctrl+오른쪽 화살표(Windows) 또는 Cmd+오른쪽 화살표(Mac)를 누르면 선택한 부분이 적용됩니다.
Esc 키를 누르면 자동 완성을 취소할 수 있습니다. - 제안된 코드의 라이선스 정보 확인
코드 완성 API가 제안된 코드에 복제된 부분이 있고 라이선스가 적용되는 경우, 코드에 주석과 함께 AI 라이선스 로그 패널에 대한 링크가 포함됩니다.
코드 내 링크 또는 채팅 창 툴바에서 링크를 클릭하여 확인할 수 있습니다.
코드 채팅
"Gemini" 버튼을 클릭하거나 Ctrl+Shift+Space(Mac의 경우 Cmd+Shift+Space)를 사용하여 채팅 패널을 여십시오.
IDX의 Gemini는 코드에 대한 질문에 답변하고, 개념을 설명하고, 심지어 사용자의 승인을 받아 코드를 수정하는 데 도움을 줄 수 있습니다.
DX의 코드 채팅은 코딩 관련 작업을 위해 특별히 조정된 대규모 모델에 의해 구동됩니다. 프롬프트 엔진은 사용자의 각 질의에 적합한 컨텍스트를 지능적으로 선택합니다. 모델이 작업을 수행하기로 결정하면 액션 핸들러를 호출하여 사용자의 승인 후 작업을 완료합니다. 모델이 질의가 충분히 처리되었다고 판단할 때까지 작업이 반복될 수 있습니다. 전용 스트리밍 응답 핸들러는 코드 포맷팅, 해당 UI 및 복제(recitation)를 관리합니다.
프로 팁
- /idx 명령어로 IDX 관련 질문하기: "/idx" 슬래시 명령어를 사용하여 Project IDX 자체와 관련된 질문을 할 수 있습니다.
예를 들어, IDX에서 Python을 설치하는 방법을 알고 싶다면 "/idx how do I install Python?"이라고 물어볼 수 있습니다.
Git을 통해 프로젝트를 가져오고 웹 미리보기를 설정하려면 "/idx how do I setup web preview for this project?"라고 물어보세요.
- IDX의 Gemini는 현재 열려 있는 파일을 컨텍스트로 사용할 수 있어 현재 파일과 관련된 질문을 쉽게 할 수 있습니다.
예를 들어, 현재 파일인 Express.js 서버에 경로를 추가하도록 요청할 수 있습니다.
- 전체 프로젝트에 대한 제미니의 이해
인덱싱이 활성화된 경우, IDX의 제미니는 코드베이스 인덱스와 컨텍스트 이해를 활용하여 질문에 답변할 수 있습니다.
예를 들어, "현재 파일에서 callServer() 메서드를 XMLHttpRequest 대신 fetch로 변경하려면 어떻게 해야 하나요?"라고 간단히 물어볼 수 있습니다.- 참고: 위에서 설명한 대로 코드베이스 인덱싱이 활성화되어 있는지 확인하세요.
- 다른 대화를 위한 여러 스레드 생성
IDX에서 제미니와 여러 개의 채팅 스레드를 생성할 수 있습니다.
대화를 짧게 유지하고 단일 컨텍스트로 유지하면, 새로운 요청이 현재 대화와 완전히 다를 때 채팅 기록이 AI 응답을 방해하는 것을 방지할 수 있습니다.
- 채팅에서 편리하게 코드 삽입하기
생성된 코드에서 "코드 삽입" 버튼을 사용하여 코드를 에디터의 현재 커서 위치로 이동시킬 수 있습니다.
- 코드 설명과 같은 일반적인 작업에는 오른쪽 클릭 바로 가기를 사용합니다
코드 설명하기, 주석 추가 등과 같은 일반적인 반복 작업을 위해 컨텍스트 메뉴 항목을 추가했습니다.
간편하게 마우스 오른쪽 버튼을 클릭하고 IDX의 Gemini에게 "코드 설명"이나 "주석 추가" 등의 일반적인 작업을 요청하세요.
인라인 코드 생성
Cmd/Ctrl + I를 누르면 인라인 코드 생성이 활성화됩니다.
IDX의 제미니에게 에디터에서 직접 코드를 작성하거나 수정하도록 요청하세요.
코드 생성은 코딩 작업에 특화된 강력한 비스트리밍 엔드포인트에 의해 구동됩니다.
프롬프트 엔진은 각 사용자 질의에 적합한 컨텍스트와 프롬프트를 지능적으로 선택합니다.
응답 핸들러는 모델 출력에 따라 에디터에 새 코드 삽입, 기존 선택 코드 수정, 응답이 코드베이스용이 아닌 경우 채팅에 코드 설명 표시, 복제(recitation) 정보 처리 등 다양한 작업을 수행합니다.
프로 팁
- 슬래시 명령어 사용
/fix, /errorHelp, /addComments, /explain, /transform 등의 슬래시 명령어를 사용하여 빠른 코딩 지원을 받을 수 있습니다.
예를 들어, "/fix" 명령어를 사용하면 IDX의 Gemini가 자동으로 오류를 수정할 수 있습니다.
일부 명령어, 예를 들어 "/fix"는 에디터에서 오류 컨텍스트를 가져와 보다 직관적인 권장 사항을 제공합니다.
실험적 기능: 대화형 채팅 스레드
초기 테스트자는 IDX의 제미니가 사용자의 허가를 받아 질문에 답하고 명령을 실행하며 테스트를 실행하고 코드를 변경할 수 있는 새로운 대화형 채팅 기능을 탐색할 수 있습니다.
예를 들어, 만약 여러분이 제미니에게 유닛 테스트를 실행하도록 요청한다면, 그 방법에 대한 정보만 알려주는 대신 "npm 실행 테스트"와 같이 필요한 명령을 실행하려고 시도할 것입니다.
IDX의 제미니는 또한 여러분이 결과에 만족할 때까지 여러분을 대신하여 여러 가지 조치를 취할 수 있습니다.
물론, 이 모든 것은 여러분의 허락 하에 일어납니다.
여러분은 IDX의 제미니의 제안을 거절, 수락 또는 수정함으로써 제미니를 항상 안내할 수 있습니다.
개선을 도와주세요!
여러분의 피드백은 매우 귀중합니다.
Starting Google Play App Distribution! "Tester Share" for Recruiting 20 Testers for a Closed Test.
'Program Development Tips' 카테고리의 다른 글
개발자를 위한 오류 해석 가이드: 핵심 단어 정복부터 문제 해결까지 (0) | 2024.08.26 |
---|---|
개발자를 위한 영어 12시제 활용 가이드: 핵심 정복부터 실무 활용까지 (초보자 완벽 이해) (0) | 2024.08.26 |
맥OS에서 터미널 작업을 한층 더 스마트하게! 추천하는 터미널 앱 5선 (0) | 2024.08.02 |
Homebrew: macOS의 패키지 관리 시스템 사용방법 (0) | 2024.08.01 |
Mac과 리눅스 초보 터미널 명령어 비교 (0) | 2024.08.01 |