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