개요
일반적으로 코파일럿 CLI를 대화형으로 사용할 때, 프롬프트를 제출하고 코파일럿 CLI의 응답을 기다린 후 다음 지침을 제공합니다. 이 앞뒤로 상호 작용은 작업이 완료될 때까지 계속됩니다.
Autopilot 모드를 코파일럿 CLI 사용하면 각 단계 후에 입력을 기다리지 않고 작업을 수행할 수 있습니다. 초기 명령을 코파일럿 CLI 지정하면 작업이 완료된 것으로 판단될 때까지 각 단계를 자율적으로 수행합니다.
CLI의 표준 대화형 모드와 autopilot 모드의 차이는 마치 동료와 함께 작업할 때, 동료가 대부분의 작업을 수행하고 정기���으로 당신에게 피드백을 주는 경우와, "이게 필요한 사항이에요—끝나면 알려주세요"라고 말하며 동료에게 작업을 완전히 맡기는 경우의 차이와 같습니다.
autopilot 모드에서는 Copilot 다음 중 하나가 발생할 때까지 계속 진행합니다.
- 에이전트는 작업이 완료되었는지 확인합니다.
- 추가 진행을 방지하는 문제가 발생합니다.
- Ctrl+C를 눌러 에이전트가 계속 진행하지 않도록 합니다.
- 최대 연속 제한에 도달합니다(설정된 경우).
대화형 세션 중에 autopilot 모드로 전환하려면 ShiftTab+ 누르고 autopilot 모드에 도달할 때까지 사용 가능한 모드를 순환한 다음 프롬프트를 입력합니다. 동일한 키 프레스를 사용하여 autopilot 모드에서 표준 대화형 모드로 다시 전환합니다.
autopilot 모드의 이점
- **자동화 작업:**Copilot 초기 지시 후 별도의 입력 없이 작업을 완료합니다.
- 효율성: 테스트 작성, 파일 리팩터링 또는 CI 오류 수정과 같은 잘 정의된 작업에 적합합니다. Autopilot은 장기 실행 다단계 세션이 필요한 대규모 작업에 특히 적합합니다.
- 일괄 처리 작업: 완료까지 실행하려는 Copilot 스크립팅 및 CI 워크플로에 유용합니다.
- 안전: Autopilot 모드를 Copilot 사용하면 작업을 완료하기 위해 여러 가지 자체 지시 단계를 수행할 수 있습니다.
--max-autopilot-continues는 무한 루프를 방지하기 위해 중지하기 전에 수행할 수 있는 단계 수를 제한합니다. 또한 autopilot 모드 Copilot 에서는 모든 권한을 명시적으로 부여하지 않는 한 사용 권한이 필요한 작업을 수행할 수 없습니다.
고려해야 할 사항
-
작업 적합성: Autopilot 모드는 잘 정의된 작업에 가장 적합합니다. 개방형 탐색, 명확한 목표가 없는 기능 개발 또는 진행 중인 작업을 안내하려는 작업에는 적합하지 않습니다.
Copilot 는 모든 작업을 완료하기 위해 최선을 다하지만, 애매하거나 모호한 지침이나 판단이 필요한 작업에서는 그 과정에서 어려움을 겪을 수 있습니다. 이로 인해 예상한 것과 다른 코드 변경이 발생할 수 있으며 수정 작업 없이는 사용할 수 없습니다. -
신뢰: 합리적인 결정을 내리기 위해 신뢰 Copilot 해야 합니다. Autopilot 모드는 모든 권한에 대한 승인을 부여할 때 가장 적합합니다. 이는 코파일럿 CLI을
--allow-all옵션과 함께 실행하는 것과 같습니다. 이렇게 하면 파일 변경 및 삭제를 포함하여 작업을 완료하는 데 필요하다고 판단되는 모든 변경을 수행할 수 있는 CLI 권한이 부여됩니다. -
비용: Autopilot 모드는 표준 대화형 인터페이스에서 작업할 때 사용되는 것과 동일한 방식으로 프리미엄 요청을 사용합니다. 표준 모드에서는 초기 프롬프트를 제출할 때 하나의 프리미엄 요청이 사용되며 CLI의 질문에 회신할 때마다 추가 프리미엄 요청이 사용되고 에이전트는 응답을 사용하여 AI 모델과 상호 작용합니다. 다음 단계를 시작하는 데 관여하지 않는다는 점을 제외하고 autopilot 모드에서도 동일하게 적용되므로 직접 개입 없이 추가 프리미엄 요청을 사용할 수 있습니다.
청구 가능한 프리미엄 요청 사용량은 곱셈 계수를 사용하여 결정됩니다. 곱셈 계수는 사용 중인 모델에 따라 달라집니다.
/model슬래시 명령을 사용하여 현재 선택한 모델과 해당 승수를 확인하고 필요한 경우 모델을 변경합니다. 자세한 내용은 GitHub Copilot 요청 및 개별 GitHub Copilot 플랜에 대한 청구 정보을(를) 참조하세요.에이전트가 자율적으로 진행할 때마다 CLI에 해당 연속 단계에서 사용된 프리미엄 요청 수가 모델 배수를 반영하여 표시됩니다. 예:
Continuing autonomously (3 premium requests).
Permissions
autopilot 모드로 전환할 때 아직 모든 권한을 부여 Copilot 하지 않은 경우 다음 세 가지 옵션 중에서 선택하라는 메시지가 표시됩니다.
1. Enable all permissions (recommended)
2. Continue with limited permissions
3. Cancel (Esc)
모든 권한을 사용하도록 설정하면 autopilot 모드에서 최상의 결과를 얻을 수 있습니다. 제한된 사용 권한을 Copilot 계속 사용하도록 선택한 경우 승인이 필요한 도구 요청을 자동으로 거부하므로 특정 작업을 완료하지 못할 수 있습니다. autopilot 세션 중에 /allow-all 명령(또는 해당 별칭 /yolo)을 사용하여 나중에 마음을 바꾸고 전체 권한을 부여할 수 있습니다.
Autopilot 모드, --allow-all 및 --no-ask-user 비교
`--allow-all`, 및 해당 별칭 `--yolo`은 대화형 세션을 시작할 때 `copilot` 명령에 전달할 수 있는 권한 관련 옵션입니다. 사용 가능한 옵션의 전체 목록은 [AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-command-reference#command-line-options)을 참조하세요.
`--allow-all` 및 `--yolo` 옵션을 사용하면 CLI 에이전트가 모든 도구, 경로 및 URL을 사용할 수 있습니다. 대화형 세션 중에 `/allow-all` 또는 `/yolo` 슬래시 명령을 사용하여 이러한 권한을 설정할 수도 있습니다.
참고
`/allow-all` 및 `/yolo`을 입력하면 현재 세션에 대한 권한이 활성화됩니다. 이러한 슬래시 명령을 다시 입력해도 사용 권한이 비활성화되지 않습니다. 즉, 이러한 명령은 사용 권한을 설정/해제하지 않습니다.
`--allow-all`을 사용할 경우 여전히 일반적인 대화형 흐름 내에서 작업을 수행합니다.
Copilot 는 여전히 중지하고 결정 지점에 도달할 때 수행할 작업을 묻습니다. 그러나 일반적으로 승인이 필요한 작업을 수행해야 하는 경우 코파일럿 CLI (예: 도구, 경로 또는 URL 사용) 사용 권한을 요청하지 않고 진행됩니다.
이 --no-ask-user 옵션은 Copilot이 (그들이) 일반적으로 묻는 명확한 질문을 하지 않도록 합니다. 대신 에이전트는 입력을 요청하는 대신 자체적으로 결정을 내려야 합니다. 이는 어느 정도의 자율성을 제공합니다. 그러나 autopilot 모드 --no-ask-user 와 달리 에이전트는 AI 모델과의 상호 작용이 필요한 연속 단계를 통해 작업을 계속할 수 없습니다. 이 옵션을 사용하면 CLI는 초기 프롬프트 후에 사용자의 개입 없이 추가 프리미엄 요청을 사용하지 않습니다.
autopilot 모드를 사용하는 일반적인 워크플로
Autopilot 모드는 크고 상세한 작업 계획을 구현하는 데 적합합니다. 계획 모드에서 작업한 후 autopilot 모드로 Copilot 전환하여 구현 계획을 만드는 것이 유용한 경우가 많습니다. 계획 모드에 대한 자세한 내용은 GitHub Copilot CLI에 대한 모범 사례을 참조하세요.
다음은 그 예입니다.
-
대화형 코파일럿 CLI 세션을 시작합니다.
선택적으로,
--allow-all옵션을 포함하여 사용 권한을 부여할 수 있으며,--max-autopilot-continues옵션을 포함하여 세션 중 autopilot 모드에 대한 최대 연속 제한을 설정할 수 있습니다. 예를 들어 세션을copilot --allow-all --max-autopilot-continues 10시작하여 에이전트에 모든 도구, 경로 및 URL을 사용할 수 있는 권한을 부여하고 autopilot의 최대 연속 제한을 10으로 설정할 수 있습니다. -
대화형 세션이 시작되면 현재 폴더의 파일을 신뢰하라는 메시지가 표시되면 이 옵션을 적용합니다.
-
Shift+Tab을 눌러 계획 모드로 전환하고 달성하려는 항목을 설명하는 프롬프트를 입력한 다음 Copilot 작업하여 자세한 계획을 만듭니다.
-
만족할 만한 계획이 마련되면, CLI에서 제시하는 "계획 수락 및 autopilot로 빌드" 옵션을 사용하십시오.
-
사용 권한에 대한 메시지가 표시되면 모든 사용 권한을 사용하도록 설정하는 옵션을 선택합니다.
-
Copilot에게 계획 실행을 맡기세요. 진행 상황을 정기적으로 체크 인할 수 있습니다.
프로그래밍 방식으로 autopilot 모드 사용
프로그래밍 방식으로 명령줄에서 프롬프트를 전달할 코파일럿 CLI 때 또는 스크립트의 일부나 CI 워크플로의 일부로 CLI를 사용할 Copilot 경우, 자동 조종 모드를 사용할 수 있습니다. 이렇게 하면 초기 명령 후 CLI와 상호 작용하지 않고도 작업을 엔드 투 엔드(end-to-end)로 자동화할 수 있습니다.
`--allow-all` (또는 `--yolo`) 옵션을 사용하여 Copilot에게 모든 도구, 경로 및 URL을 사용할 수 있는 권한을 부여합니다. 런어웨이 루프를 방지하기 위해 최대 연속 제한을 설정하는 옵션을 포함 `--max-autopilot-continues` 할 수 있습니다. 이는 문제가 발생할 경우 개입할 수 없는 프로그래밍 방식 컨텍스트에서 특히 중요합니다.
사용 예:
copilot --autopilot --yolo --max-autopilot-continues 10 -p "여기에 프롬프트 입력"
요약
작업을 인수하고 작업 완료를 위해 개입하지 않고 작업하려는 Copilot 경우 autopilot 모드를 사용합니다. 명확하고 잘 정의된 작업에서 합리적인 결정을 내릴 수 있다고 믿을 수 있는 Copilot에 가장 적합합니다.