Skip to main content

GitHub Copilot CLI 사용자 지정 기능 비교

사용자 지정할 Copilot수 있는 다양한 방법( 수행하는 작업 및 사용 시기)에 대해 알아봅니다.

누가 이 기능을 사용할 수 있나요?

GitHub Copilot CLI 는 모든 Copilot 계획에서 사용할 수 있습니다. 조직으로부터 Copilot를 수신하는 경우, 조직의 설정에서 Copilot CLI 정책이 사용하도록 설정되어야 합니다.

소개

          Copilot CLI 는 사용자 대신 질문에 답변하고, 작업을 계획하고, 작업을 완료할 수 있는 터미널 기반 AI 에이전트입니다. 확장성이 뛰어나도록 설계되었으며 동작을 사용자 지정하고 기능을 확장할 수 있는 다양한 방법이 있습니다.

이 문서에서는 다음의 차이점을 설명합니다.

  •         **사용자 지정 지침**
    

    일반적으로 Copilot 알려줍니다****. 예를 들어 작성하는 코드가 Copilot 코딩 표준을 준수하는지 확인합니다. 자세히 알아보세요.

  •         **기술**
    
    
            Copilot 알려줍니다****. 예를 들어 특정 유형의 작업에서 작업할 때 특정 도구를 사용합니다. 
            [자세히 알아보세요](#skills).
    
  •         **Tools**
    

    이러한 기능을 제공합니다. 예를 들어, 파일을 찾고 수정하거나 GitHub의 일부와 상호 작용하기 위해. 자세히 알아보세요.

  •         **MCP 서버**
    

    외부 서비스와 상호 작용할 수 있는 ****Copilot합니다. 자세히 알아보세요.

  •         **후크**
    

    이를 통해 특정 수명 주기 순간에 고유한 논리를 실행할 수 있습니다. 예를 들어 CLI 세션이 시작되거나 끝날 때마다 특정 스크립트를 실행할 수 있습니다. 자세히 알아보세요.

  •         **하위 대리인**
    

    이러한 프로세스는 주 에이전트에 연결되고 주 에이전트 프로세스와 별도로 특정 작업을 수행하는 데 사용되는 위임된 에이전트 프로세스입니다. 주 에이전트의 컨텍스트에 영향을 주지 않고 채울 수 있는 자체 컨텍스트 창이 있습니다. 자세히 알아보세요.

  •         **사용자 지정 에이전트**
    

    특정 작업을 수행하도록 설계된 특수한 능력의 정의입니다. 주 CLI 에이전트는 사용자 지정 에이전트 프로필을 사용하여 태스크를 하위 에이전트에게 위임함으로써 전문가 지식 및 특정 접근 방식을 작업에 적용할 수 있습니다. 예를 들어 사용자 지정 에이전트는 React 검토자, 문서 작성기, 보안 감사자 또는 테스트 생성기의 역할을 수행할 수 있습니다. 자세히 알아보세요.

  •         **플러그 인**
    

    기술, 후크, 사용자 지정 에이전트 및 MCP 서버와 같은 미리 구성된 사용자 지정을 제공할 수 있는 패키지 입니다. 자세히 알아보세요.

사용자 지정 지침

사용자 지정 지침이란?

          **사용자 지정 지침은** 세션 시작 시 지침 파일에서 로드하는 지속적인 지침입니다.

          Copilot 는 리포지토리의 여러 기본 위치(예: `AGENTS.md` 및 `.github/copilot-instructions.md`)에서 또는 홈 디렉터리에서 명령 파일을 찾아서 로드합니다 `$HOME/.copilot/copilot-instructions.md`.

플래그를 --no-custom-instructions 사용하여 이러한 지침이 로드되는 것을 방지할 수 있습니다.

사용자 지정 지침은 어떤 문제를 해결합니까?

사용자 지정 지침은 다음을 지원합니다. * Copilot을(를) 귀하의 코딩 규칙 및 기본 설정에 맞게 유지합니다.

  • 팀 또는 조직 표준을 일관되게 적용합니다.
  • 모든 프롬프트에 Copilot 반복적인 미리 알림을 포함하지 않도록 하세요.

사용자 지정 지침은 언제 사용해야 하나요?

사용자 지정 지침 사용:

  • 스타일 및 품질 규칙

    예: "소규모 PR을 선호하고, 테스트를 작성하고, 토론 없이 공용 API를 변경하지 마십시오."

  • 리포지토리 규칙

    예: "pnpm을(를) 사용하고, 변경 로그 항목을 CHANGELOG.md에 유지하며, 커밋하기 전에 pnpm test을(를) 실행하십시오."

  • 통신 기본 설정

    예: "장단분 설명을 간략하게 설명한 다음 권장되는 선택을 제공합니다."

사용자 지정 지침은 언제 사용하지 않아야 하나요?

다음과 같은 경우 이를 방지하거나 최소한으로 유지합니다.

  • 하나의 워크플로에서만 동작을 원합니다(대신 기술 사용).
  • 지침은 너무 크고 구체적이어서 즉각적인 작업(Copilot 또는 사용자 지정 에이전트 선호)에 방해 **** 가 됩니다.

사용자 지정 지침에 대한 자세한 정보

          [AUTOTITLE](/copilot/how-tos/copilot-cli/add-custom-instructions)을(를) 참조하세요.

기술

기술이란?

          **기술은** 최소한 특정 컨텍스트에서 작업을 수행하는 데 사용할 수 있는 명령이 Copilot 포함된 Markdown 파일입니다. 이름과 기술 설명을 통해 Copilot이(가) 특정 작업에 기술을 사용할지 여부를 결정할 수 있습니다. 기술을 사용하기로 결정한 경우 지침을 로드하고 따라 작업을 완료합니다.

기술은 선택적으로 기술 디렉터리 내에 저장된 다른 파일을 참조할 수 있습니다. 여기에는 기술을 사용할 때 실행할 수 있는 Copilot 스크립트가 포함될 수 있습니다.

기술이 해결하는 문제는 무엇인가요?

스킬은 당신을 도와줍니다.

  • 특정 컨텍스트에서 작업을 수행하는 방법 Copilot (예: 코드 검토를 수행할 때)을 표준화합니다.
  •         Copilot의 동작을 영구적으로 변경하지 않고 적시 지침을 제공합니다.
    
  • 현재 작업과 관련이 없는 지침이 포함된 컨텍스트 창을 오버로드 Copilot하지 마세요.

기술에 액세스하려면 어떻게 해야 할까요?

슬래시 명령을 사용하여 기술을 수동으로 호출할 수 있습니다. 예: /Markdown-Checker check README.md. 사용 가능한 기술을 나열하는 데 사용합니다 /skills list .

          Copilot CLI 는 현재 작업과 관련된 기술을 검색할 때 자동으로 기술을 호출합니다.

언제 기술을 사용해야 하나요?

원하는 대로 기술을 사용하세요.

  • 작업 유형에 사용할 수 있는 반복 가능한 명령 또는 기능 집합입니다.

    예: 프런트 엔드 코드가 변경될 때 사용자 관련 설명서가 업데이트되도록 확인하는 설명서 기술입니다.

  • 일관된 출력 형식입니다.

    예: 템플릿을 사용하여 릴리스 노트를 Copilot 만들 수 있도록 하는 "릴리스 정보 초안" 기술입니다.

  • 때때로 필요한 워크플로이지만 항상 필요한 것은 아닙니다.

    예: 마이그레이션 중에만 사용할 수 있는 "심층 리팩터링" 기술입니다.

언제 기술을 사용하지 말아야 하나요?

다음과 같은 경우 기술을 사용하지 않도록 방지합니다.

  • 지침은 수행하는 모든 작업 (대신 사용자 지정 지침 사용)에 적용됩니다.
  • 새 기능이 필요합니다(도구를 추가하려면 MCP 서버 또는 특수화를 위한 사용자 지정 에이전트 가 필요할 수 있음).

에이전트 기술에 대한 자세한 정보

          [AUTOTITLE](/copilot/concepts/agents/about-agent-skills)을(를) 참조하세요.

Tools

도구란?

          **도구**는 파일 검색, 파일 내용 보기, 편집, 작업 실행 또는 기술 호출과 같은 작업을 수행하는 데 사용하는 기능 Copilot 입니다. 일부 도구는 기본 제공되고 다른 도구는 MCP 서버를 통해 추가할 수 있습니다.

도구는 어떤 문제를 해결합니까?

도구를 통해 CLI는 다음을 수행할 수 있습니다.

  • 정확한 컨텍스트를 수집합니다(읽기/검색 도구 사용).
  • 편집 도구를 사용하여 안전하게 변경합니다.
  • 명령을 실행하고 결과의 유효성을 검사합니다(필요시 하위 에이전트를 사용하여).

언제 도구를 사용해야 하나요?

일반적으로 도구를 직접 호출하지 않으며 Copilot가 필요할 때 도구를 사용합니다. 특정 작업, 현재 세션 또는 모든 세션에 대한 도구 사용을 허용하거나 거부할 수 Copilot CLI 있습니다.

다음과 같은 경우 도구를 사용하는 것을 볼 Copilot 수 있습니다.

  • 리포지토리에서 항목을 검색하거나, 파일을 업데이트하거나, 테스트를 실행하도록 요청 Copilot 합니다.
  • 기술을 호출하여 skill 도구를 트리거합니다.
  • MCP 서버에서 제공하는 도구를 사용해야 하는 작업을 수행하도록 요청 Copilot 합니다.
  • 복잡한 작업을 완료하는 태스크 Copilot가 하위 에이전트에 위임하기로 결정하여 도구 task를 트리거합니다.

도구 허용 또는 거부에 대한 자세한 정보

          [AUTOTITLE](/copilot/concepts/agents/about-copilot-cli#allowed-tools)을(를) 참조하세요.

MCP 서버

MCP 서버란?

          **MCP 서버**는 AI 애플리케이션(예: Copilot CLI외부 데이터 원본 및 도구에 연결)을 허용하는 서비스입니다.

MCP 서버를 추가하여 해당 MCP 서버 Copilot CLI 에서 제공하는 도구를 사용할 수 있도록 하여 추가 기능을 제공합니다. 예를 들어 온라인 일정 애플리케이션 또는 지원 티켓 시스템과 상호 작용하기 위한 도구를 제공하는 MCP 서버를 추가할 수 있습니다.

MCP 서버는 어떤 문제를 해결합니까?

MCP 서버는 기본 제공 도구가 충분하지 않을 때 도움이 됩니다. 다음 작업을 수행할 수 있습니다.

  •         Copilot CLI 외부 시스템에 연결합니다.
    
  • API, 데이터베이스 또는 이미지 생성 작업을 위해 특별히 빌드된 도구를 추가합니다.
  • 비 리포지토리 리소스에 대한 안전한 액세스 패턴을 표준화합니다.

MCP 서버는 언제 사용해야 하나요?

필요한 경우 MCP 서버를 사용합니다.

  • 외부 데이터 또는 시스템과의 통합

    예: How many support tickets have been opened this month for Product X?

  • CLI가 사용자 대신 수행하려는 도메인별 작업입니다.

    예: Message the bug-watch channel: Only 2 support tickets raised this month for Product X.

MCP 서버를 사용하지 말아야 할 경우는 언제인가요?

다음과 같은 경우 MCP 서버를 추가하지 않습니다.

  • 기본 제공 도구는 이미 요구 사항을 충족합니다.

MCP 서버에 대한 자세한 정보

          [AUTOTITLE](/copilot/concepts/context/mcp)을(를) 참조하세요.

후크

후크란?

          **후크를** 사용하면 세션 수명 주기 Copilot CLI 의 지정된 지점에서 정의한 셸 명령을 실행하도록 지정할 수 있습니다.
후크실행 시
preToolUse / postToolUse도구가 실행되기 전/후입니다.
userPromptSubmitted사용자가 프롬프트를 제출할 때
sessionStart / sessionEnd세션의 시작/끝에 있습니다.
errorOccurred오류가 발생하는 경우
agentStop주 에이전트가 오류 없이 중지되는 경우
subagentStop하위 에이전트가 작업을 완료할 때.

후크는 어떤 문제를 해결합니까?

후크는 다음과 같은 동작에 대한 프로그래밍 가능한 제어 또는 관찰성을Copilot CLI 원할 때 도움이 됩니다.

  • 특정 도구가 실행되기 전에 경고하거나 차단하는 안전 장치를 적용합니다.
  •         **로깅/원격 분석 추가**
    
  •         **복구 가능한 오류에 대한 재시도/중단 동작 사용자 지정**
    
  • 보호된 경로에 대한 편집을 방지하기 위해 "정책" 검사를 추가합니다.
  •         **하위 에이전트가 작업을 완료하는 순간**, 결과가 상위 에이전트로 전달되기 전에 이를 가로챌 수 있습니다.
    

후크는 기술이나 사용자 지정 지침이 제공할 수 있는 것보다 더 많은 제어가 필요한 경우에 유용합니다. 기술 및 지침은 프롬프트를 통한 동작을 안내 Copilot하지만, 후크는 사용자가 정의한 작업이 특정 순간에 수행되도록 합니다(예: 도구 실행 차단 또는 세션이 종료될 때 활동 기록).

언제 후크를 사용해야 하나요?

원하는 경우 후크를 사용합니다.

  •         **도구 가드레일**
    
    • 예: 실행하기 전에 bash 특정 명령이 허용 목록과 일치하도록 요구합니다.
    • 예: edit 실행 전에 티켓 ID가 없는 경우 infra/ 아래에서 변경 사항을 차단합니다.
  •         **세션 수명 주기 자동화**
    
    • 예: 에이전트가 중지되면 세션의 기록을 스토리지 위치에 보관합니다.
  •         **오류 처리 정책**
    
    • 예: 속도 제한 오류 시 제한 재시도 횟수로 "다시 시도"를 자동으로 선택합니다.
  •         **서브에이전트 워크플로우 제어**
    
    • 서브에이전트가 완료되면 결과를 메인 에이전트에 전달하기 전에 출력이 올바른지 확인하십시오.

후크를 사용하지 말아야 하는 경우는 언제인가요?

다음과 같은 경우 후크를 사용하지 않습니다.

  • 일관된 프롬프트 또는 워크플로 지침만 있으면 됩니다( 기술 사용).
  • 영구 기본 설정 및 표준을 원합니다( 사용자 지정 지침 사용).
  • 새로운 외부 기능( MCP 서버 및 도구 사용)이 필요합니다.
  • 모든 세션에 영향을 줄 수 있는 구성을 유지 관리하는 것은 문제가 될 수 있습니다.

후크에 대해 자세히 알아보기

          [AUTOTITLE](/copilot/how-tos/copilot-cli/use-hooks)을(를) 참조하세요.

하위 대리인

부 대리인이란?

          **하위 에이전트**는 세션의 주 에이전트가 특정 작업을 수행하기 위해 시작하는 별도의 AI 에이전트를 실행하는 것입니다.

          Copilot CLI 는 주 에이전트가 작업의 일부를 별도의 에이전트에 위임하는 것이 사용자 요청을 완료하는 최선의 방법이라고 판단할 때 서브에이전트를 활용합니다.

하위 에이전트는 어떤 문제를 해결합니까?

하위 에이전트는 Copilot에 도움이 됩니다.

  • 작업 청크를 별도의 에이전트로 오프로드하여 CLI 세션에서 주 에이전트의 컨텍스트 창을 집중 상태로 유지합니다.
  • 백그라운드에서 특정 작업을 실행하여 필요한 경우 작업을 병렬화합니다.
  • 주 에이전트와 별도로 사용자 지정 에이전트를 실행하여 주 에이전트가 수행하는 작업에 대해 다른 접근 방식을 사용하여 전문가 작업을 수행합니다.

서브에이전트는 언제 사용되나요?

          Copilot 는 다음을 위해 서브에이전트를 사용할 가능성이 높습니다.
  • 코드베이스 탐색

    예를 들어 API의 모든 엔드포인트를 나열합니다.

  • 복잡한 작업에 대한 명령 실행

    예를 들어 테스트 도구 모음을 실행하거나 큰 프로젝트를 빌드하고 결과를 분석합니다.

  • 변경 내용 검토

    예를 들어 단계적 변경 내용을 검토하고 잠재적인 보안 문제를 식별합니다.

  • 복잡한 다단계 작업

    예를 들어 몇 가지 변경 내용이 있는 기능을 구현합니다.

  • 사용자 지정 에이전트 사용

    사용자 지정 에이전트를 정의하고 유추에 적합한 경우(infer이(가) false으로 설정되지 않음), Copilot은(는) 사용자 지정 에이전트의 구성을 사용하여 서브에이전트를 생성하고 해당 사용자 지정 에이전트에 작업을 위임하도록 선택할 수 있습니다.

사용자 지정 에이전트

사용자 지정 에이전트란?

          **사용자 지정 에이전트는** 특정 주제에 대한 전문 지식을 제공하고 Copilot 해당 영역에서 작업할 때 사용해야 하는 Copilot 특정 접근 방식을 정의합니다. 사용자 지정 에이전트는 특정 작업에서 작업할 때 채택할 수 있는 Copilot "가상 사용자"로 간주할 수 있습니다.

          Copilot CLI 에는 여러 기본 제공 사용자 지정 에이전트가 있습니다. 예를 들어 , `explore`, `task``research`, `code-review`및 `general-purpose` 에이전트가 있습니다. 특정 요구 사항에 맞게 사용자 지정 에이전트를 정의할 수도 있습니다.

YAML 프런트매터를 사용하여 Markdown 파일에서 사용자 지정 에이전트를 정의합니다. 파일에는 다음이 포함됩니다.

  • 에이전트의 역할 및 전문 지식에 대한 설명
  • 허용되는 도구 목록(또는 모든 도구)
  • 선택적 MCP 서버 연결
  • 선택적 infer 설정은 사용하도록 설정하면 Copilot 에이전트의 특수 항목과 일치하는 작업을 검색할 때 이 에이전트에 자동으로 위임됩니다.

사용자 지정 에이전트는 어떤 문제를 해결합니까?

필요한 경우 사용자 지정 에이전트 도움말:

  • 특정 컨텍스트에서 일관되게 적용할 전문가 지식입니다.
  • 사용자 지정 에이전트 구성에 정의된 대로 다양한 작업에 대한 다양한 도구 사용 권한입니다.
  • 주 에이전트의 컨텍스트 창이 주 작업에 집중할 수 있도록, 사용자 지정 에이전트의 자체 컨텍스트 창은 그 에이전트가 수행하는 전문적인 작업에 사용됩니다.

사용자 지정 에이전트는 언제 사용해야 하나요?

원하는 경우 사용자 지정 에이전트를 사용합니다.

  • 전문 검토자 또는 도우미

    예: React 패턴과 관련된 작업에 중점을 둔 "react-reviewer" 사용자 지정 에이전트를 만듭니다.

  • 더 안전한 권한

    예시: 감사용으로 view/grep/glob 읽기 전용만 수행할 수 있는 사용자 지정 에이전트입니다.

  • 선택적 자동 위임

    예: 적절한 경우 이 사용자 지정 에이전트를 자동으로 사용할 수 있도록 infer: true 사용자 지정 에이전트 구성에서 설정합니다Copilot.

사용자 지정 에이전트를 사용하지 말아야 하는 경우는 언제인가요?

다음과 같은 경우 사용자 지정 에이전트를 사용하지 않습니다.

  • 지침 텍스트만 필요합니다( 기술은 더 가벼운 솔루션일 수 있습니다).
  • 특수화가 필요하지 않으며 기본 에이전트가 작업을 잘 수행합니다.

사용자 지정 에이전트에 대한 자세한 정보

          [AUTOTITLE](/copilot/reference/custom-agents-configuration)을(를) 참조하세요.

플러그 인

플러그 인이란?

          **플러그인**은 번들 기능을 제공할 수 있는 설치 가능한 패키지입니다. 플러그 인에는 다른 사용자 지정 기능의 조합이 포함될 수 있습니다. 예를 들어 기술, 사용자 지정 에이전트, 후크 및 MCP 서버 구성이 있습니다.

          Copilot 플러그 인 관리 명령(설치, 업데이트, 나열, 제거)을 포함하며 마켓플레이스 또는 GitHub 리포지토리에서 직접 설치를 지원합니다.

플러그 인은 어떤 문제를 해결합니까?

플러그 인은 다음을 지원합니다.

  •         Copilot에 기능 번들을 쉽게 추가하여 각 항목을 수동으로 구성할 필요가 없습니다.
    
  • 사용자 지정 구성(잠재적으로 기술, 사용자 지정 에이전트, 후크 및 MCP 서버의 조합)을 팀 또는 대중에게 패키지하고 배포합니다.
  • 파일을 디렉터리에 수동으로 복사할 필요 없이 사용 가능한 기능을 변경합니다.

플러그 인은 언제 사용해야 하나요?

다음과 같은 경우 플러그 인을 사용합니다.

  • 팀 전체에서 사용할 기능 묶음을 원할 때

    예: 다음을 포함하는 회사 차원의 엔지니어링 플러그 인입니다.

    • 인시던트 대응 기술.
    • 코드 검토를 위한 사용자 지정 에이전트입니다.
    • 내부 서비스를 위한 MCP 서버입니다.
  • 간편한 설치 및 업데이트를 원합니다.

    예: 처음에 플러그 인을 설치한 다음 , 를 사용하여 /plugin update PLUGIN-NAME정기적으로 업데이트합니다.

플러그 인을 사용하지 말아야 할 경우는 언제인가요?

다음과 같은 경우 플러그 인을 사용하지 않습니다.

  • 로컬로 실험하고 있으며 배포가 필요하지 않습니다(로컬 기술, 사용자 지정 지침 또는 사용자 지정 에이전트 사용).
  • 소규모 일회성 워크플로만 필요합니다. 단일 기술 파일은 더 간단할 수 있습니다.

통합: 올바른 옵션 선택

요구 사항최상의 옵션
항상 리포지토리 규칙을 따르고 싶습니다 Copilot .
          **사용자 지정 지침** |

| 요청 시 호출할 수 있는 반복 가능한 워크플로를 원합니다. | 기술 | | 질문에 대답하고 리포지토리에서 작업을 수행하고 싶습니다 Copilot . | Copilot적절한 도구를 사용할 수 있는 권한을 요청합니다. | | 도구 사용 및 세션 이벤트를 중심으로 가드레일, 정책 또는 자동화를 원합니다. | 후크 | | 외부 서비스에서 제공하는 도구를 사용할 수 있어야 합니다 Copilot . | MCP 서버 | | 특정 작업을 수행할 때는 제한된 도구 집합을 사용하여 전문가로 일하고 싶습니다 Copilot . | 사용자 지정 에이전트 | | 저는 제 대신 복잡한 작업을 수행하고 싶습니다 Copilot . | Copilot는 적절한 경우에 서브에이전트를 자동으로 사용합니다. | | 수동으로 구성하지 않고 기능 Copilot CLI 패키지를 추가하려고 합니다. | 플러그 인 |

추가 읽기

  •         [AUTOTITLE](/copilot/how-tos/copilot-cli)