Skip to main content

Permitindo que GitHub Copilot CLI funcione de forma autônoma

O modo piloto automático da CLI permite que CLI do Copilot trabalhe de forma autônoma em uma tarefa, executando várias etapas até que a tarefa seja concluída.

Visão geral

Normalmente, quando você usa CLI do Copilot de forma interativa, você envia um prompt e aguarda a resposta do CLI do Copilot antes de dar a próxima instrução. Essa interação entre idas e vindas continua até que a tarefa seja concluída.

O modo Autopilot permite que CLI do Copilot execute uma tarefa sem esperar pela sua entrada após cada etapa. Depois de dar a instrução inicial, CLI do Copilot executa cada etapa de forma autônoma até determinar que a tarefa está concluída.

A diferença entre o modo interativo padrão da CLI e o modo piloto automático é semelhante à diferença entre trabalhar em uma tarefa com um colega de trabalho, onde este faz a maior parte do trabalho, mas consulta você periodicamente, e entregar a tarefa ao colega, dizendo: "Aqui está o que eu preciso - me avise quando terminar".

No modo piloto automático, Copilot continua funcionando até que uma das seguintes situações ocorra:

  • O agente determina que a tarefa está concluída.
  • Ocorre um problema que impede o progresso adicional.
  • Pressione Ctrl+C para impedir que o agente continue.
  • O limite máximo de continuação é atingido (se definido).

Para alternar para o modo de piloto automático durante uma sessão interativa, pressione Shift+Tab e percorra os modos disponíveis até chegar ao modo de piloto automático e, em seguida, insira o prompt. Use a mesma tecla para alternar do modo de piloto automático para o modo interativo padrão.

Benefícios do modo de piloto automático

  •         **Automação autônoma:** Copilot conclui as tarefas sem precisar da sua intervenção após a instrução inicial.
    
  •         **Eficiência:** Ideal para tarefas bem definidas, como escrever testes, refatorar arquivos ou corrigir falhas de CI. O Autopilot é particularmente adequado para tarefas grandes que exigem sessões prolongadas e de várias etapas.
    
  •         **Operações em lote:** útil para scripts e fluxos de trabalho de CI em que você deseja Copilot para execução até a conclusão.
    
  •         **Segurança:** O modo piloto automático permite que Copilot execute várias etapas autodirigidas para concluir sua tarefa. 
            `--max-autopilot-continues` limita quantas etapas podem ser tomadas antes de parar, para evitar loops infinitos. Além disso, no modo piloto automático, Copilot não pode executar nenhuma ação que exija permissão, a menos que você conceda explicitamente permissões completas a ele.
    

Aspectos a considerar

  •         **Adequação da tarefa:** O modo piloto automático é melhor para tarefas bem definidas. Não é ideal para exploração aberta, desenvolvimento de recursos sem uma meta clara ou tarefas em que você deseja orientar o trabalho em andamento.
    

    Copilot fará o possível para concluir qualquer tarefa, mas poderá ter dificuldades com instruções vagas ou ambíguas ou tarefas que exijam decisões sutis ao longo do processo. Isso pode resultar em um conjunto de alterações de código que não são o que você esperava e não podem ser usadas sem o trabalho corretivo.

  •         **Confiança:** Você deve confiar no Copilot ao tomar decisões razoáveis. O modo piloto automático funciona melhor quando você concede a ele aprovação para todas as permissões. Isso equivale a executar CLI do Copilot com a opção `--allow-all`. Você deve estar ciente de que isso dá à CLI permissão para fazer as alterações que considerar necessárias para concluir a tarefa, incluindo a alteração e a exclusão de arquivos.
    
  •         **Custo:** O modo piloto automático usa solicitações premium da mesma forma que são usadas quando você está trabalhando na interface interativa padrão. No modo padrão, uma solicitação premium é usada quando você envia seu prompt inicial e, em seguida, uma solicitação premium adicional é usada sempre que você responde a uma pergunta na CLI e o agente usa sua resposta para interagir com o modelo de IA. O mesmo se aplica no modo de piloto automático, exceto que você não está envolvido no início da próxima etapa, portanto, o uso de solicitações premium adicionais ocorre sem seu envolvimento direto.
    

    O uso da solicitação premium faturável é determinado usando um multiplicador. O multiplicador varia dependendo de qual modelo você usa. Use o /model comando de barra para ver o modelo selecionado no momento e seu multiplicador e altere o modelo, se necessário. Para saber mais, confira Solicitações no Copilot GitHub e Sobre a cobrança para planos GitHub Copilot individuais.

    Sempre que o agente continuar de forma autônoma, exibirá uma mensagem na CLI informando quantas solicitações premium foram usadas nessa etapa de continuação, considerando o multiplicador de modelo, por exemplo: Continuing autonomously (3 premium requests).

Permissions

Ao entrar no modo piloto automático, se você ainda não tiver concedido todas as permissões ao Copilot, será exibida uma mensagem solicitando que você escolha entre três opções:

1. Enable all permissions (recommended)
2. Continue with limited permissions
3. Cancel (Esc)

Você obterá os melhores resultados do modo de piloto automático se habilitar todas as permissões. Se você optar por continuar com permissões limitadas, Copilot negará automaticamente quaisquer solicitações de ferramentas que exijam aprovação, o que pode impedir a conclusão de determinadas tarefas. Você pode mudar de ideia mais tarde e conceder permissões completas, durante uma sessão de piloto automático, usando o /allow-all comando (ou seu alias /yolo).

Comparando o modo de piloto automático --allow-all e --no-ask-user

          `--allow-all` e seu alias `--yolo` são opções relacionadas a permissões que você pode passar para o comando `copilot` ao iniciar uma sessão interativa. Para obter uma lista completa das opções disponíveis, consulte [AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-command-reference#command-line-options).

As --allow-all opções e --yolo permitem que o agente da CLI use todas as ferramentas, caminhos e URLs. Você também pode definir essas permissões durante uma sessão interativa, usando os comandos de barra /allow-all ou /yolo.

Observação

Ao inserir /allow-all e /yolo, você habilita permissões para a sessão atual. A inserção desses comandos de barra novamente não desabilita permissões. Em outras palavras, esses comandos não ativam e desativam as permissões.

Com --allow-all, você ainda está no fluxo interativo normal. Copilot continuará a parar e perguntar o que você deseja que ele faça quando chegar a um ponto de decisão. No entanto, quando CLI do Copilot precisar fazer algo que normalmente exigiria aprovação, como usar ferramentas, caminhos ou URLs, ele seguirá em frente sem pedir permissão.

A opção --no-ask-user suprime perguntas esclarecedoras que Copilot normalmente faria. Em vez disso, o agente deve tomar decisões por conta própria, em vez de pedir sua entrada. Isso fornece um grau de autonomia. No entanto, ao contrário do modo de piloto automático, --no-ask-user não permite que o agente continue trabalhando em uma tarefa por meio de etapas sucessivas em que a interação com o modelo de IA é necessária. Com essa opção, a CLI não usará solicitações premium adicionais após o prompt inicial, sem seu envolvimento.

Fluxo de trabalho típico para usar o modo de piloto automático

O modo piloto automático é ideal para implementar um plano de trabalho grande e detalhado. Muitas vezes, será útil mudar para o modo piloto automático depois de trabalhar com Copilot no modo planejamento para criar um plano de implementação. Para obter mais informações sobre o modo de plano, consulte Práticas recomendadas para GitHub Copilot CLI.

Por exemplo:

  • Inicie uma sessão interativa CLI do Copilot.

    Opcionalmente, você pode incluir a opção --allow-all de conceder permissões e a opção --max-autopilot-continues de definir um limite máximo de continuação para o modo de piloto automático durante a sessão. Por exemplo, você pode iniciar a sessão com copilot --allow-all --max-autopilot-continues 10 para conceder ao agente permissão para usar todas as ferramentas, caminhos e URLs, e definir um limite máximo de continuação para o piloto automático de 10.

  • Quando a sessão interativa for iniciada, se for solicitado que você confie nos arquivos na pasta atual, aceite essa opção.

  • Pressione Shift+Tab para alternar para o modo de plano, insira um prompt descrevendo o que você deseja alcançar e, em seguida, trabalhe com Copilot para criar um plano detalhado.

  • Depois de ter um plano com o qual você está satisfeito, use a opção que a CLI apresenta para "Aceitar plano e construir no piloto automático".

  • Se você receber uma solicitação sobre permissões, escolha a opção para habilitar todas as permissões.

  • Deixe Copilot para implementar o plano. Você pode verificar seu progresso periodicamente.

Usando o modo de piloto automático programaticamente

Você pode usar o modo piloto automático ao executar CLI do Copilot programaticamente, por exemplo, ao passar Copilot um prompt na linha de comando ou ao usar a CLI como parte de um script ou fluxo de trabalho de CI. Isso permite automatizar tarefas de ponta a ponta sem precisar interagir com a CLI após o comando inicial.

Use a opção --allow-all (ou --yolo) para conceder permissão ao Copilot para usar todas as ferramentas, caminhos e URLs. Você pode incluir a opção --max-autopilot-continues de definir um limite máximo de continuação para evitar loops descontrolados. Isso é especialmente importante em contextos programáticos em que você não estará lá para intervir se algo der errado.

Exemplo de uso:

copilot --autopilot --yolo --max-autopilot-continues 10 -p "SEU TEXTO AQUI"

Resumo

Use o modo piloto automático quando quiser que o Copilot assuma uma tarefa e a conclua sem seu envolvimento. É ideal para tarefas claras e bem definidas, nas quais você confia que Copilot tomará decisões razoáveis.

Leitura adicional

  •         [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)