소개
코파일럿 CLI 는 사용자 대신 질문에 답변하고, 작업을 계획하고, 작업을 완료할 수 있는 터미널 기반 AI 에이전트입니다. 확장성이 뛰어나도록 설계되었으며 동작을 사용자 지정하고 기능을 확장할 수 있는 다양한 방법이 있습니다.
이 문서에서는 다음의 차이점을 설명합니다.
-
사용자 지정 지침
일반적으로 Copilot 알려줍니다****. 예를 들어 작성하는 코드가 Copilot 코딩 표준을 준수하는지 확인합니다. 자세히 알아보세요.
-
기술
Copilot 알려줍니다****. 예를 들어 특정 유형의 작업에서 작업할 때 특정 도구를 사용합니다. 자세히 알아보세요.
-
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 또는 사용자 지정 에이전트 선호)에 방해 **** 가 됩니다.
사용자 지정 지침에 대한 자세한 정보
에 대한 사용자 지정 지침 추가 GitHub Copilot 명령 줄 인터페이스 (CLI)을(를) 참조하세요.
기술
기술이란?
기술은 최소한 특정 컨텍스트에서 작업을 수행하는 데 사용할 수 있는 명령이 Copilot 포함된 Markdown 파일입니다. 이름과 기술 설명을 통해 Copilot이(가) 특정 작업에 기술을 사용할지 여부를 결정할 수 있습니다. 기술을 사용하기로 결정한 경우 지침을 로드하고 따라 작업을 완료합니다.
기술은 선택적으로 기술 디렉터리 내에 저장된 다른 파일을 참조할 수 있습니다. 여기에는 기술을 사용할 때 실행할 수 있는 Copilot 스크립트가 포함될 수 있습니다.
기술이 해결하는 문제는 무엇인가요?
스킬은 당신을 도와줍니다.
- 특정 컨텍스트에서 작업을 수행하는 방법 Copilot (예: 코드 검토를 수행할 때)을 표준화합니다.
- Copilot의 동작을 영구적으로 변경하지 않고 적시 지침을 제공합니다.
- 현재 작업과 관련이 없는 지침이 포함된 컨텍스트 창을 오버로드 Copilot하지 마세요.
기술에 액세스하려면 어떻게 해야 할까요?
슬래시 명령을 사용하여 기술을 수동으로 호출할 수 있습니다. 예: /Markdown-Checker check README.md. 사용 가능한 기술을 나열하는 데 사용합니다 /skills list .
코파일럿 CLI 는 현재 작업과 관련된 기술을 검색할 때 자동으로 기술을 호출합니다.
언제 기술을 사용해야 하나요?
원하는 대로 기술을 사용하세요.
-
작업 유형에 사용할 수 있는 반복 가능한 명령 또는 기능 집합입니다.
예: 프런트 엔드 코드가 변경될 때 사용자 관련 설명서가 업데이트되도록 확인하는 설명서 기술입니다.
-
일관된 출력 형식입니다.
예: 템플릿을 사용하여 릴리스 노트를 Copilot 만들 수 있도록 하는 "릴리스 정보 초안" 기술입니다.
-
때때로 필요한 워크플로이지만 항상 필요한 것은 아닙니다.
예: 마이그레이션 중에만 사용할 수 있는 "심층 리팩터링" 기술입니다.
언제 기술을 사용하지 말아야 하나요?
다음과 같은 경우 기술을 사용하지 않도록 방지합니다.
- 지침은 수행하는 모든 작업 (대신 사용자 지정 지침 사용)에 적용됩니다.
- 새 기능이 필요합니다(도구를 추가하려면 MCP 서버 또는 특수화를 위한 사용자 지정 에이전트 가 필요할 수 있음).
에이전트 기술에 대한 자세한 정보
에이전트 기술에 대하여을(를) 참조하세요.
Tools
도구란?
도구는 파일 검색, 파일 내용 보기, 편집, 작업 실행 또는 기술 호출과 같은 작업을 수행하는 데 사용하는 기능 Copilot 입니다. 일부 도구는 기본 제공되고 다른 도구는 MCP 서버를 통해 추가할 수 있습니다.
도구는 어떤 문제를 해결합니까?
도구를 통해 CLI는 다음을 수행할 수 있습니다.
- 정확한 컨텍스트를 수집합니다(읽기/검색 도구 사용).
- 편집 도구를 사용하여 안전하게 변경합니다.
- 명령을 실행하고 결과의 유효성을 검사합니다(필요시 하위 에이전트를 사용하여).
언제 도구를 사용해야 하나요?
일반적으로 도구를 직접 호출하지 않으며 Copilot가 필요할 때 도구를 사용합니다. 특정 작업, 현재 세션 또는 모든 세션에 대한 도구 사용을 허용하거나 거부할 수 코파일럿 CLI 있습니다.
다음 상황에서 Copilot 이 도구를 사용하는 것을 확인할 수 있습니다.
- 리포지토리에서 항목을 검색하거나, 파일을 업데이트하거나, 테스트를 실행하도록 요청 Copilot 합니다.
- 기술을 호출하여
skill도구를 트리거합니다. - MCP 서버에서 제공하는 도구를 사용해야 하는 작업을 수행하도록 요청 Copilot 합니다.
- 복잡한 작업을 완료하는 태스크 Copilot가 하위 에이전트에 위임하기로 결정하여 도구
task를 트리거합니다.
도구 허용 또는 거부에 대한 자세한 정보
GitHub Copilot CLI 정보을(를) 참조하세요.
MCP 서버
MCP 서버란?
MCP 서버는 AI 애플리케이션(예: 코파일럿 CLI외부 데이터 원본 및 도구에 연결)을 허용하는 서비스입니다.
MCP 서버를 추가하여 해당 MCP 서버 코파일럿 CLI 에서 제공하는 도구를 사용할 수 있도록 하여 추가 기능을 제공합니다. 예를 들어 온라인 일정 애플리케이션 또는 지원 티켓 시스템과 상호 작용하기 위한 도구를 제공하는 MCP 서버를 추가할 수 있습니다.
MCP 서버는 어떤 문제를 해결합니까?
MCP 서버는 기본 제공 도구가 충분하지 않을 때 도움이 됩니다. 다음 작업을 수행할 수 있습니다.
- 코파일럿 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 서버에 대한 자세한 정보
모델 컨텍스트 프로토콜(MCP) 정보을(를) 참조하세요.
후크
후크란?
후크를 사용하면 세션 수명 주기 코파일럿 CLI 의 지정된 지점에서 정의한 셸 명령을 실행하도록 지정할 수 있습니다.
| 후크 | 실행 시 |
|---|---|
preToolUse / postToolUse | 도구가 실행되기 전/후입니다. |
userPromptSubmitted | 사용자가 프롬프트를 제출할 때 |
sessionStart / sessionEnd | 세션의 시작/끝에 있습니다. |
errorOccurred | 오류가 발생하는 경우 |
agentStop | 주 에이전트가 오류 없이 중지되는 경우 |
subagentStop | 하위 에이전트가 작업을 완료할 때. |
후크는 어떤 문제를 해결합니까?
후크는 다음과 같은 동작에 대한 프로그래밍 가능한 제어 또는 관찰성을코파일럿 CLI 원할 때 도움이 됩니다.
- 특정 도구가 실행되기 전에 경고하거나 차단하는 안전 장치를 적용합니다.
- 로깅/원격 분석 추가
- 복구 가능한 오류에 대한 재시도/중단 동작 사용자 지정
- 보호된 경로에 대한 편집을 방지하기 위해 "정책" 검사를 추가합니다.
- 하위 에이전트가 작업을 완료하는 순간, 결과가 상위 에이전트로 전달되기 전에 이를 가로챌 수 있습니다.
후크는 기술이나 사용자 지정 지침이 제공할 수 있는 것보다 더 많은 제어가 필요한 경우에 유용합니다. 기술 및 지침은 프롬프트를 통한 동작을 안내 Copilot하지만, 후크는 사용자가 정의한 작업이 특정 순간에 수행되도록 합니다(예: 도구 실행 차단 또는 세션이 종료될 때 활동 기록).
언제 후크를 사용해야 하나요?
원하는 경우 후크를 사용합니다.
-
도구 가드레일
- 예: 실행하기 전에
bash특정 명령이 허용 목록과 일치하도록 요구합니다. - 예:
edit실행 전에 티켓 ID가 없는 경우infra/아래에서 변경 사항을 차단합니다.
- 예: 실행하기 전에
-
세션 수명 주기 자동화
- 예: 에이전트가 중지되면 세션의 기록을 스토리지 위치에 보관합니다.
-
오류 처리 정책
- 예: 속도 제한 오류 시 제한 재시도 횟수로 "다시 시도"를 자동으로 선택합니다.
-
서브에이전트 워크플로우 제어
- 서브에이전트가 완료되면 결과를 메인 에이전트에 전달하기 전에 출력이 올바른지 확인하십시오.
후크를 사용하지 말아야 하는 경우는 언제인가요?
다음과 같은 경우 후크를 사용하지 않습니다.
- 일관된 프롬프트 또는 워크플로 지침만 있으면 됩니다( 기술 사용).
- 영구 기본 설정 및 표준을 원합니다( 사용자 지정 지침 사용).
- 새로운 외부 기능( MCP 서버 및 도구 사용)이 필요합니다.
- 모든 세션에 영향을 줄 수 있는 구성을 유지 관리하는 것은 문제가 될 수 있습니다.
후크에 대해 자세히 알아보기
See:
하위 대리인
부 대리인이란?
하위 에이전트는 세션의 주 에이전트가 특정 작업을 수행하기 위해 시작하는 별도의 AI 에이전트를 실행하는 것입니다.
코파일럿 CLI 는 주 에이전트가 작업의 일부를 별도의 에이전트에 위임하는 것이 사용자 요청을 완료하는 최선의 방법이라고 판단할 때 서브에이전트를 활용합니다.
하위 에이전트는 어떤 문제를 해결합니까?
하위 에이전트는 Copilot에 도움이 됩니다.
- 작업 청크를 별도의 에이전트로 오프로드하여 CLI 세션에서 주 에이전트의 컨텍스트 창을 집중 상태로 유지합니다.
- 백그라운드에서 특정 작업을 실행하여 필요한 경우 작업을 병렬화합니다.
- 주 에이전트와 별도로 사용자 지정 에이전트를 실행하여 주 에이전트가 수행하는 작업에 대해 다른 접근 방식을 사용하여 전문가 작업을 수행합니다.
서브에이전트는 언제 사용되나요?
Copilot 는 다음을 위해 서브에이전트를 사용할 가능성이 높습니다.
-
코드베이스 탐색
예를 들어 API의 모든 엔드포인트를 나열합니다.
-
복잡한 작업에 대한 명령 실행
예를 들어 테스트 도구 모음을 실행하거나 큰 프로젝트를 빌드하고 결과를 분석합니다.
-
변경 내용 검토
예를 들어 단계적 변경 내용을 검토하고 잠재적인 보안 문제를 식별합니다.
-
복잡한 다단계 작업
예를 들어 몇 가지 변경 내용이 있는 기능을 구현합니다.
-
사용자 지정 에이전트 사용
사용자 지정 에이전트를 정의하고 유추에 적합한 경우(
infer이(가)false으로 설정되지 않음), Copilot은(는) 사용자 지정 에이전트의 구성을 사용하여 서브에이전트를 생성하고 해당 사용자 지정 에이전트에 작업을 위임하도록 선택할 수 있습니다.
사용자 지정 에이전트
사용자 지정 에이전트란?
사용자 지정 에이전트는 특정 주제에 대한 전문 지식을 제공하고 Copilot 해당 영역에서 작업할 때 사용해야 하는 Copilot 특정 접근 방식을 정의합니다. 사용자 지정 에이전트는 특정 작업에서 작업할 때 채택할 수 있는 Copilot "가상 사용자"로 간주할 수 있습니다.
코파일럿 CLI 에는 여러 기본 제공 사용자 지정 에이전트가 있습니다. 예를 들어 , explore, task``research, code-review, rubber-duck및 general-purpose 에이전트가 있습니다. 특정 요구 사항에 맞게 사용자 지정 에이전트를 정의할 수도 있습니다.
YAML 프런트매터를 사용하여 Markdown 파일에서 사용자 지정 에이전트를 정의합니다. 파일에는 다음이 포함됩니다.
- 에이전트의 역할 및 전문 지식에 대한 설명
- 허용되는 도구 목록(또는 모든 도구)
- 선택적 MCP 서버 연결
- 선택적
infer설정은 사용하도록 설정하면 Copilot 에이전트의 특수 항목과 일치하는 작업을 검색할 때 이 에이전트에 자동으로 위임됩니다.
사용자 지정 에이전트는 어떤 문제를 해결합니까?
필요한 경우 사용자 지정 에이전트 도움말:
- 특정 컨텍스트에서 일관되게 적용할 전문가 지식입니다.
- 사용자 지정 에이전트 구성에 정의된 대로 다양한 작업에 대한 다양한 도구 사용 권한입니다.
- 주 에이전트의 컨텍스트 창이 주 작업에 집중할 수 있도록, 사용자 지정 에이전트의 자체 컨텍스트 창은 그 에이전트가 수행하는 전문적인 작업에 사용됩니다.
사용자 지정 에이전트는 언제 사용해야 하나요?
원하는 경우 사용자 지정 에이전트를 사용합니다.
-
전문 검토자 또는 도우미
예: React 패턴과 관련된 작업에 중점을 둔 "react-reviewer" 사용자 지정 에이전트를 만듭니다.
-
더 안전한 권한
예시: 감사용으로
view/grep/glob읽기 전용만 수행할 수 있는 사용자 지정 에이전트입니다. -
선택적 자동 위임
예: 적절한 경우 이 사용자 지정 에이전트를 자동으로 사용할 수 있도록
infer: true사용자 지정 에이전트 구성에서 설정합니다Copilot.
사용자 지정 에이전트를 사용하지 말아야 하는 경우는 언제인가요?
다음과 같은 경우 사용자 지정 에이전트를 사용하지 않습니다.
- 지침 텍스트만 필요합니다( 기술은 더 가벼운 솔루션일 수 있습니다).
- 특수화가 필요하지 않으며 기본 에이전트가 작업을 잘 수행합니다.
사용자 지정 에이전트에 대한 자세한 정보
사용자 지정 에이전트 구성을(를) 참조하세요.
플러그 인
플러그 인이란?
플러그인은 Copilot에 번들 기능을 제공할 수 있는 설치 가능한 패키지입니다. 플러그 인에는 다른 사용자 지정 기능의 조합이 포함될 수 있습니다. 예를 들어 기술, 사용자 지정 에이전트, 후크 및 MCP 서버 구성이 있습니다.
Copilot 플러그 인 관리 명령(설치, 업데이트, 나열, 제거)을 포함하며 마켓플레이스 또는 GitHub 리포지토리에서 직접 설치를 지원합니다.
플러그 인은 어떤 문제를 해결합니까?
플러그 인은 다음을 지원합니다.
- Copilot에 기능 번들을 쉽게 추가하여 각 항목을 수동으로 구성할 필요가 없습니다.
- 사용자 지정 구성(잠재적으로 기술, 사용자 지정 에이전트, 후크 및 MCP 서버의 조합)을 팀 또는 대중에게 패키지하고 배포합니다.
- 파일을 디렉터리에 수동으로 복사할 필요 없이 사용 가능한 기능을 변경합니다.
플러그 인은 언제 사용해야 하나요?
다음과 같은 경우 플러그 인을 사용합니다.
-
팀 전체에서 사용할 기능 묶음을 원할 때
예: 다음을 포함하는 회사 차원의 엔지니어링 플러그 인입니다.
- 인시던트 대응 기술.
- 코드 검토를 위한 사용자 지정 에이전트입니다.
- 내부 서비스를 위한 MCP 서버입니다.
-
간편한 설치 및 업데이트를 원합니다.
예: 처음에 플러그 인을 설치한 다음 , 를 사용하여
/plugin update PLUGIN-NAME정기적으로 업데이트합니다.
플러그 인을 사용하지 말아야 할 경우는 언제인가요?
다음과 같은 경우 플러그 인을 사용하지 않습니다.
- 로컬로 실험하고 있으며 배포가 필요하지 않습니다(로컬 기술, 사용자 지정 지침 또는 사용자 지정 에이전트 사용).
- 소규모 일회성 워크플로만 필요합니다. 단일 기술 파일은 더 간단할 수 있습니다.
통합: 올바른 옵션 선택
| 요구 사항 | 최상의 옵션 |
|---|---|
| 항상 리포지토리 규칙을 따르고 싶습니다 Copilot . | |
| 사용자 지정 지침 | |
| 요청 시 호출할 수 있는 반복 가능한 워크플로를 원합니다. | |
| 기술 | |
| 질문에 대답하고 리포지토리에서 작업을 수행하고 싶습니다 Copilot . | |
| Copilot적절한 도구를 사용할 수 있는 권한을 요청합니다. | |
| 도구 사용 및 세션 이벤트를 중심으로 가드레일, 정책 또는 자동화를 원합니다. | |
| 후크 | |
| 외부 서비스에서 제공하는 도구를 사용할 수 있어야 합니다 Copilot . | |
| MCP 서버 | |
| 특정 작업을 수행할 때는 제한된 도구 집합을 사용하여 전문가로 일하고 싶습니다 Copilot . | |
| 사용자 지정 에이전트 | |
| 저는 제 대신 복잡한 작업을 수행하고 싶습니다 Copilot . | |
| Copilot는 적절한 경우에 서브에이전트를 자동으로 사용합니다. | |
| 수동으로 구성하지 않고 기능 코파일럿 CLI 패키지를 추가하려고 합니다. | |
| 플러그 인 |