Обзор
Обычно, когда вы используете Второй пилот CLI интерактивно, вы отправляете запрос и ждёте ответа Второй пилот CLI, прежде чем дать следующую инструкцию. Это взаимодействие продолжается до тех пор, пока задача не будет выполнена.
Режим автопилота позволяет Второй пилот CLI выполнять задачу без ожидания вашего ввода после каждого шага. После начальной инструкции Второй пилот CLI проходят каждый этап автономно, пока не определит, что задача выполнена.
Разница между стандартным интерактивным режимом CLI и режимом автопилота похожа на разницу между работой над задачей с коллегой, когда он делает большую часть работы, но периодически проверяет вас, и передачей задачи коллеге, сказав: «Вот что мне нужно — сообщите, когда закончите.»
В режиме автопилота Copilot продолжается, пока не произойдёт один из следующих моментов:
- Агент определяет, что задача выполнена.
- Возникает проблема, которая мешает дальнейшему прогрессу.
- Вы нажимаете Ctrl+C , чтобы остановить агента продолжать.
- Максимальный предел продолжения достигается (если установлен).
Чтобы переключиться в режим автопилота во время интерактивной сессии, нажмите Shift+Tab и переключайтесь между доступными режимами, пока не дойдёте до режима автопилота, затем введите свой запрос. Используйте тот же нажатие клавиши, чтобы переключиться с режима автопилота обратно в стандартный интерактивный режим.
Преимущества режима автопилота
-
**Автоматизация без вмешательства:** Copilot выполняет задачи без вашего участия после начальной инструкции. -
**Эффективность:** Идеально подходит для чётко определённых задач, таких как написание тестов, рефакторинг файлов или исправление сбоев CI. Автопилот особенно подходит для крупных задач, требующих длительных многоступенчатых сессий. -
**Пакетные операции:** Полезно для скриптов и CI-рабочих процессов, где нужно, чтобы Copilot выполнялся до завершения. -
**Безопасность:** Режим автопилота позволяет Copilot выполнять несколько самостоятельных шагов для выполнения задачи. `--max-autopilot-continues` Ограничивает количество шагов до остановки, чтобы избежать бесконечных циклов. Кроме того, в режиме автопилота Copilot не может выполнять действия, требующие разрешения, если только вы явно не предоставите ему полные разрешения.
Факторы, которые следует учесть
-
**Пригодность задач:** Режим автопилота лучше всего подходит для чётко определённых задач. Он не идеально подходит для открытого исследования, разработки функций без чёткой цели или задач, где вы хотите направлять текущую работу.Copilot сделает всё возможное, чтобы выполнить любую задачу, но может столкнуться с расплывчатыми или неоднозначными инструкциями или задачами, требующими тонких решений по ходу дела. Это может привести к набору изменений в коде, которые не будут ожидать и не будут использованы без дополнительной работы.
-
**Доверие:** Вам нужно доверять Copilot для принятия разумных решений. Режим автопилота работает лучше всего, когда вы даёте ему одобрение всех разрешений. Это эквивалентно запуску Второй пилот CLI с этой `--allow-all` опцией. Имейте в виду, что это даёт CLI право вносить любые необходимые изменения для выполнения задачи, включая изменение и удаление файлов. -
**Стоимость:** Режим Autopilot использует премиум-запросы так же, как и при работе в стандартном интерактивном интерфейсе. В стандартном режиме один премиум-запрос используется при отправке первоначального запроса, затем дополнительный премиум-запрос применяется каждый раз, когда вы отвечаете на вопрос в CLI, и агент использует ваш ответ для взаимодействия с моделью ИИ. То же самое касается и режима автопилота, только вы не участвуете в инициировании следующего шага, поэтому использование дополнительных премиум-запросов происходит без вашего прямого участия.Использование оплачиваемого запроса премии определяется с помощью мультипликатора. Множитель зависит от используемой модели. Используйте
/modelкоманду slash, чтобы увидеть выбранную модель и её множитель, а при необходимости измените модель. Дополнительные сведения см. в разделе [AUTOTITLE и Запросы в GitHub Copilot](/copilot/concepts/billing/billing-for-individuals#about-premium-requests).Каждый раз, когда агент продолжает работу автономно, он отображает сообщение в CLI с указанием, сколько премиум-запросов было использовано на этом этапе продолжения — с учётом множителя модели — например:
Continuing autonomously (3 premium requests).
Permissions
При переходе в режим автопилота, если вы ещё не предоставили Copilot все права, появляется сообщение с предложением выбрать один из трёх вариантов:
1. Enable all permissions (recommended)
2. Continue with limited permissions
3. Cancel (Esc)
Вы получите наилучшие результаты в режиме автопилота, если включите все разрешения. Если вы решите продолжить с ограниченными правами, Copilot автоматически отклонит любые запросы на инструменты, требующие одобрения, что может помешать выполнению определённых задач. Позже вы можете изменить своё мнение и предоставить полные разрешения во время сессии автопилота, используя /allow-all команду (или её псевдоним /yolo).
Сравнение режима автопилота, --allow-allи , --no-ask-user
`--allow-all`, и его псевдоним `--yolo`, — это опции, связанные с разрешениями, которые вы можете передать `copilot` команде при начале интерактивной сессии. Полный список доступных опций см. [AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-command-reference#command-line-options).
Опции --allow-all and --yolo позволяют агенту CLI использовать все инструменты, пути и URL-адреса. Вы также можете настроить эти права во время интерактивной сессии, используя /allow-all команды OR /yolo .
Примечание.
Ввод /allow-all и /yolo активация разрешений для текущей сессии. Повторное введение этих команд слэша не отключает разрешения — другими словами, эти команды не включают и выключают разрешения.
С --allow-all, вы всё ещё находитесь в обычном интерактивном потоке. Copilot всё равно останавливается и спрашивает, что вы хотите, чтобы он сделал, когда достигнет точки решения. Однако, когда Второй пилот CLI нужно сделать что-то, что обычно требует одобрения, например, использовать инструменты, пути или URL-адреса, это происходит без разрешения.
Эта опция отключает --no-ask-user уточняющие вопросы, которые обычно задаёт Copilot. Вместо этого агент должен принимать решения самостоятельно, а не спрашивать ваше мнение. Это обеспечивает определённую автономию. Однако, в отличие от режима автопилота, --no-ask-user он не позволяет агенту продолжать работу над задачей через последовательные этапы, когда требуется взаимодействие с моделью ИИ. С этой опцией CLI не будет использовать дополнительные премиум-запросы после вашего первоначального запроса без вашего участия.
Типичный рабочий процесс при использовании режима автопилота
Режим автопилота идеально подходит для реализации большого, подробного плана работы. Часто полезно перейти в режим автопилота после работы с Copilot в режиме плана, чтобы создать план реализации. Для получения дополнительной информации о режиме плана см. АВТОЗАГОЛОВОК.
Рассмотрим пример.
-
Начните интерактивную сессию Второй пилот CLI.
По желанию можно добавить
--allow-allопцию предоставления разрешений и--max-autopilot-continuesмаксимальный лимит продолжения для режима автопилота во время сессии. Например, можно начать сессиюcopilot --allow-all --max-autopilot-continues 10, давая агенту разрешение использовать все инструменты, пути и URL, и установить максимальный лимит продолжения для автопилота до 10. -
Когда начинается интерактивная сессия, если вас просят доверять файлам в текущей папке, примите этот вариант.
-
Нажмите Shift+Tab , чтобы переключиться в режим планирования, введите подсказку с описанием того, чего хотите достичь, затем используйте Copilot для создания подробного плана.
-
Когда у вас есть план, который вас устраивает, используйте опцию, которую предлагает CLI: «Принять план и строить на автопилоте».
-
Если вас спросят о правах, выберите опцию «включить все права».
-
Оставьте Copilot для реализации плана. Вы можете периодически проверять его прогресс.
Программное использование режима автопилота
Вы можете использовать режим автопилота, когда запускаете Второй пилот CLI программно, например, когда передаёте Copilot строку в командной строке, или когда используете CLI как часть скрипта или CI-рабочего процесса. Это позволяет автоматизировать задачи от последнего конца без необходимости взаимодействовать с CLI после начальной команды.
Используйте опцию --allow-all (или --yolo) для предоставления Copilot разрешения на использование всех инструментов, путей и URL. Можно добавить --max-autopilot-continues опцию установить максимальный лимит продолжения, чтобы предотвратить неконтролируемые петли. Это особенно важно в программных ситуациях, когда вас не будет вмешиваться, если что-то пойдёт не так.
Пример использования:
Второй пилот --автопилот --йоло --макс-автопилот продолжается 10 -p "ВАШ ЗАПРОС ЗДЕСЬ"
Сводка
Используйте режим автопилота, когда хотите, чтобы Copilotвзял на себя задачу и дошёл до конца без вашего участия. Лучше всего это подходит для чётких, чётко определённых задач, когда вы доверяете Copilotданным } принимать разумные решения.
Дополнительные материалы
-
[AUTOTITLE](/copilot/how-tos/copilot-cli/use-copilot-cli#get-copilot-to-work-autonomously) -
[AUTOTITLE](/copilot/concepts/agents/copilot-cli/fleet) -
[AUTOTITLE](/copilot/how-tos/copilot-cli)