Skip to main content

Permitindo que a CLI do GitHub Copilot funcione de forma autônoma

O modo de piloto automático da CLI permite que CLI do Copilot funcione autonomamente em uma tarefa, executando múltiplas etapas até concluí-la.

Visão geral

Normalmente, quando você usa CLI do Copilot interativamente, você envia um prompt e aguarda CLI do Copilot responder 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 piloto automático permite ao CLI do Copilot trabalhar em uma tarefa sem esperar por sua interação após cada etapa. Depois de dar a instrução inicial, CLI do Copilot trabalha em 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 até que um destes 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 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 pode ter dificuldades com instruções vagas ou ambíguas ou tarefas que exigem decisões de julgamento complexas durante o 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 GitHub Copilot e Sobre a cobrança para planos individuais do GitHub Copilot.

    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 de piloto automático, se você ainda não tiver concedido Copilot todas as permissões, uma mensagem será exibida 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 ferramenta que exijam aprovação, o que pode impedi-lo de concluir 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/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á parando e perguntará o que você quer 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 prosseguirá sem pedir permissão.

A opção --no-ask-user suprime as perguntas esclarecedoras que normalmente o Copilot 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, poderá ser útil mudar para o modo piloto automático após 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 a CLI do GitHub Copilot.

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 de piloto automático ao executar o CLI do Copilot programaticamente, por exemplo, passando um prompt na linha de comando para o Copilot ou ao usar a CLI como parte de um script ou workflow 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 ao Copilot permissão 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. É melhor para tarefas claras e bem definidas em que você confia em Copilot para 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)