Azure의 Microsoft Copilot용 프롬프트를 효과적으로 작성하기

프롬프트 엔지니어링은 Azure의 Microsoft Copilot(미리 보기)과 같은 LLM(대규모 언어 모델)에서 가장 정확하고 최고의 응답을 끌어내는 프롬프트를 설계하는 프로세스입니다. 이러한 모델이 더욱 정교해짐에 따라 효과적인 프롬프트를 만드는 방법을 이해하는 것이 더욱 중요해졌습니다.

이 문서에서는 프롬프트 엔지니어링을 사용하여 Azure의 Microsoft Copilot에서 프롬프트를 효과적으로 만드는 방법을 설명합니다.

Important

Azure의 Microsoft Copilot(미리 보기)은 현재 미리 보기로 제공됩니다. 베타, 미리 보기로 제공되거나 아직 일반 공급으로 릴리스되지 않은 Azure 기능에 적용되는 약관은 Microsoft Azure 미리 보기에 대한 추가 사용 약관을 참조하세요.

프롬프트 엔지니어링이란?

프롬프트 엔지니어링에는 Azure의 Copilot과 같은 AI 모델에 대한 입력을 전략적으로 작성하여 정확하고 관련성이 높으며 가치 있는 결과를 제공하는 기능을 향상시키는 작업이 포함됩니다. 이러한 모델은 학습 데이터의 패턴 인식에 의존하므로 실제 이해나 사용자 목표에 대한 인식이 부족합니다. 특정 컨텍스트, 예, 제약 조건 및 지시문을 프롬프트에 통합하면 응답 품질을 크게 높일 수 있습니다.

프롬프트 엔지니어링의 올바른 사례는 코드 생성, 권장 사항, 설명서 검색 및 탐색에 대한 Azure의 Copilot의 잠재력을 더 많이 활용하는 데 도움이 됩니다. 프롬프트를 신중하게 작성하면 관련 없는 제안이 표시될 가능성을 줄일 수 있습니다. 프롬프트 엔지니어링은 응답을 개선하고 작업을 보다 효율적으로 완료하는 데 도움이 되는 중요한 기술입니다. 훌륭한 프롬프트를 작성하는 데 시간을 투자하면 궁극적으로 효율적인 코드 개발이 촉진되고, 비용이 절감되며, 명확한 지침과 예상 결과치를 제공하여 오류가 최소화됩니다.

더 나은 프롬프트 작성을 위한 팁

Azure의 Microsoft Copilot이 사용자의 마음속을 읽을 수는 없습니다. 의미 있는 도움을 받기 위한 요청: 답변이 너무 길면 더 짧은 회신을 요청하고, 회신이 너무 기본적이면 보다 상세한 정보를 요청하고, 원하는 형식을 지정합니다. 자세한 지침을 작성하고 프롬프트를 다듬는 데 시간을 투자하면 원하는 것을 얻는 데 도움이 됩니다.

효과적인 프롬프트 작성 방법을 고려할 때 다음 팁이 유용할 수 있습니다.

명확하고 구체적이어야 함

명확한 의도로 시작합니다. 예를 들어, “성능 확인”이라고 말하면 Azure의 Microsoft Copilot은 사용자가 가리키는 대상을 알 수 없습니다. 대신 "지난 24시간 동안 Azure SQL Database의 성능을 확인해 줘"와 같은 프롬프트를 사용하여 더 구체적으로 설명합니다.

코드 생성을 위해 언어와 원하는 결과를 지정합니다. 예시:

  • ...를 나타내는 YAML 파일 만들어 줘
  • ...하는 CLI 스크립트를 생성해 줘
  • ...를 검색하는 Kusto 쿼리를 제공해 줘
  • ...라는 Terraform을 생성하여 워크로드를 배포할 수 있도록 해 줘

기대치 설정

사용하는 단어는 Azure의 Microsoft Copilot의 응답을 형성하는 데 도움이 됩니다. 약간 다른 동사가 다른 결과를 반환할 수 있으므로 요청하는 문구로 표현하는 것이 좋습니다. 예시:

  • 대략적인 정보를 보려면 ...하는 방법 또는 가이드를 만들어 줘와 같은 구를 사용합니다.
  • 실행 가능한 응답을 위해서는 생성, 배포 또는 중지와 같은 단어를 사용합니다.
  • 정보를 가져와 채팅에 표시하려면 페치, 목록 또는 검색과 같은 용어를 사용합니다.
  • 보기를 변경하거나 새 페이지로 이동하려면 보여 줘, 안내해 줘 또는 이동해 줘과 같은 구를 사용해 보세요.

또한 사용자가 초보자이건 전문가이건 상관없이 사용자의 전문 지식 수준을 언급하여 사용자의 이해에 맞는 조언을 제공할 수 있습니다.

시나리오에 대한 컨텍스트 추가

보다 정확한 지원을 가져오기 위해 목표와 작업을 수행하는 이유를 자세히 설명하거나 관심 있는 기술을 명확히 합니다. 예를 들어, 단순히 Azure 함수 배포라고 말하는 대신 새 리소스를 사용하여 IoT 디바이스의 데이터를 처리하기 위한 Azure 함수를 배포해 줘와 같이 최종 목표를 자세히 설명합니다.

요청 나누기

복잡한 문제나 작업의 경우 요청을 관리하기 쉬운 작은 부분으로 나눕니다. 예: 먼저 현재 실행 중인 가상 머신을 확인해 줘. 제대로 작동하는 쿼리가 있으면 중지해 줘. 더 큰 시나리오의 여러 부분에 대해 별도의 프롬프트를 사용해 볼 수도 있습니다.

코드 사용자 지정

주문형 코드 생성을 요청할 때 알려진 매개 변수, 리소스 이름 및 위치를 지정합니다. 이렇게 하면 Azure의 Microsoft Copilot이 해당 값을 사용하여 코드를 생성하므로 사용자가 직접 업데이트할 필요가 없습니다. 예를 들어, 스토리지 계정을 만들 수 있는 CLI 스크립트를 제공해 줘라고 말하는 대신 EastUS 지역의 TestRG 리소스 그룹에 Storage1234라는 스토리지 계정을 만들 수 있는 CLI 스크립트 제공해 줘.라고 합니다.

Azure 용어 사용

가능하면 리소스, 서비스 및 작업에 대해 Azure 관련 용어를 사용합니다. 사용자가 Azure의 어느 부분을 언급하고 있는지 모르는 경우 Azure의 Copilot은 사용자의 의도를 파악하지 못할 수 있습니다. 어떤 용어를 사용해야 할지 확실하지 않은 경우 Azure의 Copilot에 시나리오에 대한 일반 정보를 요청한 다음 프롬프트에 제공되는 용어를 사용할 수 있습니다.

피드백 루프 사용

원하는 응답을 가져오지 못한 경우 이전 응답을 사용하여 메시지를 구체화하여 다시 시도합니다. 예를 들어, Azure의 Copilot에 이전 응답에 대해 자세히 설명하거나 한 가지 측면에 대해 자세히 설명하도록 요청할 수 있습니다. 생성된 코드의 경우 한 양상을 변경하거나 다른 단계를 추가하도록 요청할 수 있습니다. 무엇이 가장 효과적인지 실험하는 것을 두려워하지 마세요.

Azure의 Microsoft Copilot이 제공하는 응답에 대한 피드백을 남기려면 엄지손가락 위/아래 컨트롤을 사용합니다. 이 피드백은 사용자의 예상 결과를 이해하여 시간이 지남에 따라 Azure의 Copilot 환경을 개선하는 데 도움이 됩니다.

다음 단계