코드 제안 받기
watsonx Code Assistant
채팅 대화를 사용하거나 에디터에서 코드를 작성하여 코드 제안을 생성하세요.
채팅 대화 사용
필요한 코드를 설명하는 프롬프트를 입력하면 watsonx Code Assistant 사용할 수 있는 코드를 생성합니다.
- 새 채팅 대화를 시작하려면 새 채팅 아이콘
클릭합니다.
- 질문하거나 지시를 내립니다.
- 보내기 아이콘
클릭합니다. Watsonx Code Assistant 입력 내용을 코드 모델로 전송하고 채팅에 응답을 표시합니다.
watsonx Code Assistant 가 마지막으로 좋은 결과를 생성한 메시지를 선택하고, 거기서부터 새로운 채팅으로 대화 내용을 이어가세요.
- 새 채팅에서 이전 또는 기존 메시지를 사용하려면 새 채팅 시작 아이콘
클릭합니다.
- 질문하거나 지시를 내립니다.
- 보내기 아이콘
클릭합니다. Watsonx Code Assistant 입력 내용을 코드 모델로 전송하고 채팅에 응답을 표시합니다.
채팅과 편집기 간 코드 전송
사용하고자 하는 코드 제안이 있을 때, 채팅에서 코드 블록을 편집기에 삽입할 수 있습니다.
- 편집기에서 커서를 위치시키세요.
- 채팅에서 커서 위치에 삽입 아이콘
클릭합니다.
에디터에 있는 코드를 채팅의 문맥으로 사용하려는 경우, 코드를 채팅에 복사할 수 있습니다.
- 편집기에서 코드를 강조 표시합니다.
- 마우스 오른쪽 버튼을 클릭하면 팝업 메뉴가 표시됩니다.
- 선택하다 watsonx Code Assistant.
- 채팅에 선택한 코드 추가를 선택 합니다.
자연어 사용
각 채팅 메시지는 채팅 대화의 일부입니다. 특정 주제나 작업을 중심으로 대화를 진행하세요. 다른 프로그래밍 언어, 작업 공간의 다른 프로젝트 또는 다른 프로그래밍 작업으로 컨텍스트를 전환하는 경우 새 채팅 대화를 만듭니다. 질문에 대한 보다 관련성 높은 결과를 얻을 수 있습니다.
예:
Create a Python class Customer. Include attributes for firstName, lastName and age.Create a JavaScript function that fetches data from a REST API endpoint, dynamically populates an HTML table with the results, and updates the UI asynchronously
프롬프트 라이브러리 사용
{{{site.data.keyword.wca_short_cap}} 일반적인 자연어 코딩 요청 집합이 포함된 프롬프트 라이브러리가 포함되어 있습니다. 채팅에서 그대로 사용하거나 사용 사례에 맞게 수정할 수 있습니다.
프롬프트 라이브러리에 액세스하려면 다음과 같이 하세요:
- 메뉴 열기 아이콘
클릭합니다.
- 프롬프트 라이브러리를 클릭하여 엽니다.
- 클립보드에 복사 아이콘을 클릭하여
합니다.
- 프롬프트 라이브러리를 다시 클릭하여 닫습니다.
- 프롬프트를 채팅에 붙여넣습니다.
효과적인 채팅 메시지 작성
대화에서 최상의 결과를 얻으려면:
- 채팅 메시지를 영어로 작성하세요.
- 간단하고 명확한 지침으로 시작하세요.
- 후속 채팅 메시지를 사용하여 모델의 코드 출력을 구체화할 수 있습니다.
- 각 단계에 대해 최대한 구체적이고 상세하게 설명하세요. 이후 채팅 메시지를 통해 생성된 코드를 점진적으로 개선할 수 있습니다.
- 메시지에서 파일 및 메서드 참조를 사용하여 관련 컨텍스트를 제공하세요. 예를 들어 모델이 다른 메소드와 유사한 메소드를 생성하도록 하려면 메시지에 '
similar to @<method>'을 추가하세요. - 답변의 연관성이 떨어지거나 새 작업을 시작하면 새 채팅 대화를 만들고 거기서 작업하세요. 서로 관련이 없는 다른 채팅 메시지로 모델을 혼동할 수 있는 하나의 큰 대화보다는 각각 특정 맥락을 가진 여러 개의 짧은 채팅 대화를 하는 것이 좋습니다.
워크스페이스에서 코드 참조하기
질문을 하거나 로컬 작업 공간에 있는 특정 파일, 클래스, 함수, 메서드를 구체적으로 다듬기 위해 코드 참조를 사용할 수 있습니다. 이러한 참조는 중요한 맥락을 제공하며 답변의 정확성을 높이는 데 도움이 될 수 있습니다.
- 채팅 메시지에 '
@' 기호를 입력하면 워크스페이스의 파일, 클래스 및 메서드 목록을 볼 수 있습니다. - 참조하려는 파일, 클래스 또는 메서드 이름의 문자를 입력하여 목록을 필터링합니다.
- 클릭하여 참조를 선택합니다. { Watsonx Code Assistant 참조의 내용을 메시지의 일부로 전송합니다.
.gitignore 의 항목은 코드 참조 선택 항목에 포함되지 않습니다. .env 파일과 같은 민감한 데이터가 있는 경우 .gitignore 에 추가해야 합니다.
로컬 워크스페이스 폴더를 열면 watsonx Code Assistant 이 메모리에 이러한 항목의 색인을 생성하여 채팅에서 이러한 파일과 기능을 참조할 수 있도록 합니다. 편집기는 세션 중에 추가하거나 변경한 파일도 색인화합니다. 이 색인에는 이러한 프로그래밍 언어로 된 최신 파일이 최대 1,000개까지 포함되어 있습니다:
- C
- C++
- Go
- Java
- JavaScript
- Python
- TypeScript
파일 인덱싱은 로컬 저장소에서만 작동합니다.
메서드를 참조하거나 메서드에서 CodeLens 을 사용하는 경우 watsonx Code Assistant 은 특정 코드 언어를 지원합니다. 전체 파일을 참조하는 것은 모든 언어에서 작동합니다. 자세한 내용은 메서드로 작업할 때 언어 지원을 참조하세요.
파일을 참조할 때 크기 제한은 50KB입니다. 이 제한에 도달하면 파일을 개별 함수로 분할하고 각 함수를 참조하세요. 또는 49KB로 파일을 분할하여 함수 경계를 관리하고 분할할 때마다 파일을 참조하세요. 어느 방법을 사용하든 결과를 병합해야 합니다.
코드를 참조하는 예제와 함께 사용 사례를 살펴보세요:
| 유스 케이스 | 예제 메시지 |
|---|---|
| 기존 함수를 기반으로 함수 생성 | 보내기_코드_설명_메시지와 유사한 메서드 ' send_translate_message '을 만듭니다 |
| 기존 단위 테스트를 따르는 단위 테스트 생성하기 | @getName 대해 @testLoadTablesChildConnectionReceiverJob.h의 단위 테스트와 유사한 단위 테스트를 생성합니다 |
| 기존 기능 향상 | 형식_문서에 오류 처리 및 로그 문을 추가합니다 |
| 기존 기능 향상 | 널 문자열에 대한 오류 처리로 @setEmail 업데이트 |
| 코드 설명 | Main.main.py 하는 일 |
| 코드 설명 | 보내기_인보이스 로직 설명하기 |
| 함수 및 클래스에 대한 문서 생성 | 고객에 JavaDoc 추가 |
검색 증강 생성
Standard 플랜
표준 요금제를 사용하면 조직에서 추가 컨텍스트가 포함된 프롬프트 증강을 통해 대규모 언어 모델(LLM) 출력을 최적화하는 프로세스인 검색 증강 생성(RAG)을 구성할 수 있습니다. 자세한 내용은 검색 증강 생성(RAG)설정을 참조하세요.
쿼리를 제출하면 watsonx Code Assistant 에서 RAG 도구를 사용하여 코드 베이스 또는 문서에서 정보를 검색합니다. 이 관련 컨텍스트는 쿼리가 LLM 모델로 전송되기 전에 쿼리에 추가됩니다. RAG 시스템은 가장 유용한 정보가 포함된 응답을 생성하기 위해 포함하거나 제외해야 하는 소스를 결정합니다.
RAG에는 watsonx Code Assistant 표준 요금제 및 Visual Studio Code 확장 프로그램이 필요합니다. Eclipse 플러그인에서는 사용할 수 없습니다.
Git 리포지토리에 대해 RAG가 활성화된 경우 채팅 대화에 @repo < instruction > 또는 @docs < instruction > 을 입력하면 참조된 리포지토리 또는 벡터 스토어에 있는 문서의 컨텍스트를 사용하는 응답이 생성됩니다. < instruction > 매개 변수를 프롬프트 메시지로 바꿉니다.
-
참조된 코드 베이스 리포지토리를 사용하기 위한 샘플 구문입니다:
@repo how is a chat message processed? -
참조된 문서 컬렉션을 사용하기 위한 샘플 구문입니다:
@docs What are the steps to setup a connection to the user data store?
채팅 명령어 사용하기
특정 작업을 수행하는 데 사용할 수 있는 채팅 명령어입니다:
| 명령 | 설명 | 자세한 정보 |
|---|---|---|
/document |
활성 작업 영역에서 참조된 파일이나 메서드 또는 클래스에 대한 문서 생성하기 | 문서 생성 |
/docs |
IBM 및 Red Hat 제품 설명서를 참조하는 질문하기 | IBM 문서에서 답변 얻기 |
/explain |
생성 AI를 사용하여 코드를 분석하고 요약하여 코드가 수행하는 작업을 이해합니다 | 코드 설명 |
/help |
작업에 대한 빠른 지원 받기 | 채팅에 ' /help '을 입력합니다 |
/unit-test |
다양한 프로그래밍 언어에 대한 단위 테스트 생성 | 단위 테스트 생성 |
/translate |
한 언어에서 다른 언어로 코드 번역 | 코드 번역 |
@repo |
검색 증강 생성(RAG)과 함께 사용하는 경우 | RAG 활성화 |
@docs |
검색 증강 생성(RAG)과 함께 사용하는 경우 | RAG 활성화 |
채팅 대화 세션 관리
채팅 세션 메뉴를 사용하여 기존 채팅 대화 세션을 관리할 수 있습니다.
메뉴를 열려면 다음과 같이 하세요:
- 메뉴 열기 아이콘
클릭합니다.
- 채팅 세션을 클릭합니다.
채팅 대화 세션 전환하기
채팅 대화 세션 간에 전환하려면 채팅 세션 목록에서 해당 세션을 선택합니다.
채팅 세션 이름 바꾸기
채팅 대화 세션의 이름을 바꾸려면 다음과 같이 하세요:
- 채팅 세션에서 오버플로 메뉴 아이콘
클릭합니다.
- 이름 바꾸기를 클릭하십시오.
- 새 이름을 입력한 다음 Enter 키를 누릅니다.
채팅 세션 삭제하기
단일 채팅 대화 세션을 삭제하려면 다음과 같이 하세요:
- 채팅 세션에서 오버플로 메뉴 아이콘
클릭합니다.
- 삭제를 클릭하십시오.
여러 채팅 대화 세션을 삭제하려면 다음과 같이 하세요:
- 채팅 선택 아이콘을 클릭하여
.
- 삭제할 채팅을 선택하거나 모두 선택을 클릭합니다.
- 삭제 아이콘
클릭한 다음 삭제 버튼을 클릭하여 확인합니다.
편집기에서 코드 완성하기
에디터에 코드나 코멘트를 입력하여 코드 제안을 받아보세요.
Eclipse 편집기 사용
C, C++, Go, JavaScript, Python 및 TypeScript: 경우:
- 파일을 마우스 오른쪽 버튼으로 클릭합니다.
- 다음으로 열기를 클릭한 다음 텍스트 편집기를 클릭합니다.
Java 경우, Eclipse IDE Java 편집기를 사용한 인라인 코드 생성은 watsonx Code Assistant 지원되지만 먼저 설정해야 합니다.
-
Eclipse 설정에서 콘텐츠 지원으로 이동합니다.
콘텐츠 지원으로 이동 운영 체제 경로 MacOS Eclipse > 설정 > Java > 편집기 > 콘텐츠 지원 Windows 창 > 환경설정 > Java > 편집기 > 콘텐츠 지원 -
삽입 섹션 에서, 단일 제안 자동 삽입을 선택 해제합니다.
-
자동 활성화 섹션에서 Java 자동 활성화 트리거에'
._abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'을 추가하고 자동 활성화 활성화가 선택되어 있는지 확인합니다. -
적용 및 닫기를 클릭합니다.
한 줄 완성
편집기에서 코드를 작성할 때 watsonx Code Assistant 코드를 완성할 코드를 제안할 수 있습니다.
- 코드 한 줄 입력을 시작한 다음 일시 중지합니다.
- Watsonx Code Assistant 입력한 줄을 완성하기 위한 코드 제안을 추가합니다.
- Visual Studio Code Tab 키를 눌러 제안을 수락합니다. Eclipse Return 또는 Enter 키를 눌러 제안을 수락합니다. 또는 Esc를 눌러 거부합니다.
여러 줄 완성
입력한 코드 줄이나 댓글을 기반으로 여러 줄의 코드 제안을 받을 수 있습니다.
-
코드 한 줄을 입력하거나 원하는 코드를 설명하는 댓글을 입력합니다.
최상의 결과를 얻으려면 댓글에 예상 프로그래밍 언어 등을 포함하세요:
// Sort an array with a fast sort function (TypeScript programming language) -
키보드 단축키를 사용합니다.
기본 키보드 단축키 운영 체제 단축키 MacOs 옵션+. Windows Alt+. -
Watsonx Code Assistant 여러 줄의 코드 제안을 추가합니다.
-
Visual Studio Code Tab 키를 눌러 제안을 수락합니다. Eclipse Return 또는 Enter 키를 눌러 제안을 수락합니다. 또는 Esc를 눌러 거부합니다.
특정 코드 언어에 대한 코드 완성 기능 비활성화
필요한 경우, Visual Studio Code 확장 프로그램의 코드 완성 기능 비활성화( Completion: Disabled Languages ) 설정을 사용하여 특정 코드 언어에 대한 코드 완성을 비활성화할 수 있습니다.
-
watsonx Code Assistant 확장 프로그램 설정을 엽니다.
-
항목 추가 버튼 을 클릭하여 코드 언어를 선택합니다. 선택 가능한 항목은 다음과 같습니다
코드 언어 선택 코드 언어 cC cppC++ goGo javaJava javascriptJavaScript javascriptreactJavaScript 반응하다 pythonPython typescriptTypeScript typescriptreactTypeScript 반응하다
코드 언어를 다시 활성화하려면 목록에서 해당 언어를 제거하면 됩니다.
-
목록에서 코드 언어를 클릭합니다.
-
비활성화된 언어 목록에서 제거하려면 항목 제거 아이콘
클릭합니다.
키보드 단축키 변경하기
기본 조합이 이미 다른 작업에 할당되어 있는 경우 키보드 단축키를 변경할 수 있습니다.
Visual Studio Code 키보드 단축키를 변경하려면:
- 코드 메뉴를 클릭합니다.
- 설정을 선택합니다.
- 키보드 단축키를 선택합니다.
watsonx을(를) 검색하십시오.- 변경하려는 바로가기에 대해 키 바인딩 변경 편집 연필 아이콘을 클릭하고 다른 키 조합을 지정합니다.
Eclipse 키보드 단축키를 변경하려면:
- 메뉴를 클릭합니다 Eclipse 메뉴를 클릭합니다.
- 설정을 선택합니다.
- '
Keys'을 입력하여 설정을 필터링한 다음 키를 클릭합니다. - 목록을 필터링하려면 '
WCA'을 입력합니다. - 변경하려는 키보드 단축키를 선택합니다.
- 바인딩 필드에 새 키 조합을 입력합니다.
코드 완성 비활성화하기
필요한 경우 편집기 창에서 코드 완성 기능을 비활성화할 수 있습니다.
Visual Studio Code 코드 완성 기능을 비활성화합니다:
- 편집기의 오른쪽 하단 모서리에서 watsonx Code Assistant 완성 비활성화 아이콘
클릭합니다.
- watsonx Code Assistant 완성 활성화 아이콘을 다시 클릭하여 완성을 다시 활성화할 수 있습니다.
Eclipse IDE 코드 완성을 비활성화하려면:
- 편집기 도구 모음에서 watsonx Code Assistant 완성 비활성화 아이콘을 클릭합니다.
- watsonx Code Assistant 완성 활성화 아이콘을 다시 클릭하여 완성을 다시 활성화할 수 있습니다.
코드 제안을 생성하기 위한 모범 사례
최상의 결과를 얻으려면 다음 팁을 활용하세요.
긴 코드 블록에는 채팅을 사용하십시오. 편집기 내 코드 생성을 사용하여 세분화 및 상용구 코드를 작성하세요.
채팅을 사용합니다:
- 수업의 개요 생성하기
- 자세한 방법 지정
- 추가 지침(예: 이름 바꾸기 또는 바꾸기)을 통해 제안된 코드를 구체화하세요
편집기 내 코드 생성을 사용하여
- 입력하기 시작한 코드 줄을 완성합니다
- 게터 및 세터와 같은 상용구 코드 자동 생성
- 한 줄의 주석으로 설명할 수 있는 메서드 및 코드 생성
코드에 댓글 달기: 지침이 아닌 설명 댓글 사용
편집기에서 주석-투-코드를 사용할 때는 작성한 코드에 주석을 작성하는 방식과 유사하게 의도한 동작을 설명하는 주석을 작성합니다. 예를 들어, ' //return even numbers from an arraylist ' 또는 ' //method that returns even numbers from an arraylist' 를 사용합니다.
코멘트를 ' //write a method that returns even numbers from an arraylist'과 같은 명령어로 작성하지 마세요. Watsonx Code Assistant 일반적이고 설명적인 주석이 많이 포함된 데이터에서 코드를 완성하도록 학습된 모델을 사용하므로 이러한 유형의 주석이 더 나은 결과를 가져옵니다.
에디터 내 코드 생성에 사용되는 컨텍스트
코드 생성의 핵심 요소는 컨텍스트, 즉 모델에 전달하는 주변 코드입니다. 편집기 내 코드 생성의 경우 watsonx Code Assistant 사용합니다:
- 생성이 트리거되는 줄 앞의 20줄의 코드입니다.
- 생성이 트리거되는 줄 뒤의 20줄의 코드입니다.
- 생성이 트리거되는 현재 파일의 시작 부분부터 최대 200줄까지입니다.
- 생성이 트리거된 줄을 둘러싼 코드와 유사한 코드 스니펫을 최대 5개까지 생성할 수 있습니다. 이 코드조각은 현재 파일과 동일한 프로그래밍 언어로 열어본 마지막 10개 파일에서 가져온 것입니다.
편집기 내 코드 생성 결과를 개선합니다:
- 작업 영역에서 watsonx Code Assistant 알기를 원하는 코드가 있는 파일을 엽니다. { Watsonx Code Assistant 이러한 파일에서 완료를 트리거하는 위치와 유사한 코드(예: 유사한 클래스 및 변수를 사용하는 메서드)를 찾은 다음 이 코드를 컨텍스트로 모델에 전송합니다.
- 클래스 정의로 시작하거나 가져오기 문을 추가하여 ' watsonx Code Assistant '을 돕거나 ' watsonx Code Assistant ' 채팅을 사용하여 초기 개요를 만들고 결과를 작업 영역의 파일에 복사한 다음 편집기 내 코드 생성을 계속하세요. 0 또는 거의 빈 파일에서 시작할 때는 충분한 컨텍스트를 제공하지 않으므로 편집기 내 코드 생성을 사용하지 마세요.