Skip to main content

Sobre o agente pato de borracha

O agente de pato de borracha é um crítico interno que dá Copilot uma segunda opinião construtiva sobre seus próprios planos, códigos e testes usando um modelo de IA diferente daquele que conduz sua sessão.

Quem pode usar esse recurso?

CLI do GitHub Copilot está disponível com todos os Copilot planos. Se você receber Copilot de uma organização, a CLI do Copilot política deverá ser habilitada nas configurações da organização.

Introduction

Pato de borracha é um agente integrado em CLI do GitHub Copilot que atua como um crítico construtivo. Ao trabalhar em uma tarefa, o principal agente da CLI para uma sessão pode passar seu plano, design, implementação ou testes atuais para o agente de pato de borracha para revisão. O agente pato de borracha procura pontos cegos, falhas de design e questões substantivas, e reporta com comentários concretos e acionáveis. Copilot em seguida, leva essa crítica em conta antes de continuar.

O agente patinho de borracha é projetado para revisar as alterações propostas, não para fazer alterações de arquivo por si mesmo. O agente principal da sessão decide o que fazer com os comentários.

Observação

No momento, o agente de pato de borracha está disponível apenas se o agente principal estiver usando um modelo de linguagem grande Claude ou GPT.

Por que "pato de borracha"?

O nome vem de uma técnica de longa data na engenharia de software chamada esquiva de borracha na qual você explica seu código, ou solução proposta, para um objeto inanimado , tradicionalmente um pato de borracha. A ideia é que, ao articular seu pensamento, você frequentemente descobre erros, mal-entendidos ou falhas lógicas.

O agente de pato de borracha aplica uma ideia semelhante a Copilot. Antes de avançar com uma mudança não trivial, Copilot pode parar, articular seu pensamento atual e examiná-lo por um revisor independente. Ao contrário de um pato de borracha real, este responde: ele oferece uma crítica estruturada para que Copilot possa agir.

Segunda opinião de outro modelo

Um dos principais recursos de design do agente patinho de borracha é que ele é executado deliberadamente em um modelo de IA distinto daquele que conduz sua sessão. CLI do GitHub Copilot escolhe um modelo crítico que contrasta com o modelo de sessão atual. Por exemplo, se você optou por usar um modelo Claude para sua sessão, o agente "pato de borracha" pode usar um modelo GPT como avaliador. CLI do Copilot usa o agente de pato de borracha somente se um modelo adequado estiver disponível para fornecer uma crítica útil.

O benefício de usar um modelo diferente é que o crítico tem menos probabilidade de compartilhar os mesmos pontos cegos, preconceitos ou modos de falha que o modelo que produziu o trabalho. Você efetivamente obtém duas perspectivas independentes sobre o mesmo problema.

O modelo crítico apropriado é selecionado automaticamente sempre que o agente pato de borracha é invocado, com base no modelo de sessão atual. Se você alternar modelos de sessão no meio da sessão (por exemplo, com o comando /model), a próxima invocação do agente rubber duck escolherá o avaliador apropriado para o novo modelo de sessão.

O que o agente de pato de borracha faz

Quando o agente de pato de borracha é consultado, ele:

  1.        **Lê o trabalho no contexto.** Ele entende o que o código, o design ou a proposta está tentando realizar, como ele se integra ao restante do sistema e quais suposições existem.
    
  2.        **Identifica problemas reais.** Ele procura bugs, erros lógicos, vulnerabilidades de segurança, falhas de design, antipadrões, gargalos de desempenho e outros problemas que realmente importam para o sucesso da tarefa.
    
  3.        **Recomenda correções específicas.** Para cada problema encontrado, ele declara a questão, seu impacto e uma mudança sugerida concreta.
    
  4.        **Categoriza seus comentários** por severidade:
    
    • Problemas de bloqueio devem ser corrigidos para que o trabalho seja bem-sucedido.
    • Problemas não bloqueantes devem ser corrigidos para melhorar a qualidade, mas não impedirão o sucesso.
    • Sugestões – melhorias de prioridade mais baixa que ainda têm um impacto real no resultado.
  5.        **Apenas relata descobertas que importam.** Caso não encontre problemas, ele declara isso de forma explícita. O agente de pato de borracha está configurado para não comentar sobre estilo, formatação, convenções de nomenclatura, gramática em comentários, refatorações secundárias ou práticas recomendadas que não evitam problemas reais.
    

Agente pato de borracha tem acesso somente leitura à sua base de código por meio das ferramentas de exploração padrão. Ele não pode editar arquivos ou executar comandos que alterem seu ambiente.

Quando Copilot consulta o agente 'pato de borracha'

Quando o agente de pato de borracha está habilitado, Copilot é instruído a consultá-lo em momentos críticos, em vez de somente quando estiver em dificuldade. As situações típicas incluem:

  • Depois de planejar uma alteração não trivial, mas antes de implementá-la. Este é o momento de maior alavancagem para detectar falhas de design, enquanto as correções de curso ainda são baratas.
  • No meio da implementação, para verificar se há pontos cegos em um trabalho complexo.
  • Depois de escrever testes, para validar que a cobertura dos testes está completa e que o comportamento realmente satisfaz sua solicitação original.
  • Reativamente, quando Copilot ocorrem falhas repetidas ou resultados inesperados, para obter uma análise independente do problema em vez de tentar novamente a mesma abordagem.

Para modificações pequenas e bem entendidas Copilot, normalmente se ignora o agente "rubber duck".

Quando Copilot consulta o agente de pato de borracha, ele resume a crítica resultante para você no resultado da linha do tempo em vez de repeti-la literalmente — por exemplo, "A crítica apontou um ponto cego no meu plano em torno de X; por isso, atualizei meu plano para resolver essa questão."

Invocação manual do agente de pato de borracha

Normalmente CLI do Copilot consulta o agente pato de borracha automaticamente. Você não precisa fazer nada. A exibição da linha do tempo mostra quando o agente principal está fazendo uma autoanálise com o método do pato de borracha. No entanto, às vezes, a CLI não usará o agente de pato de borracha. Por exemplo, pode decidir que as alterações não são extensas o suficiente para justificar uma crítica.

Você pode usar um prompt de linguagem natural para pedir Copilot explicitamente para obter uma segunda opinião. Por exemplo, depois de solicitar Copilot a produção de um plano de trabalho, você pode inserir um prompt como:

Rubber duck your plan.

Ou, durante uma série de alterações, você pode perguntar:

Get a critique of the changes you've made so far.

Benefícios de usar o agente pato de borracha

  • Captura problemas mais cedo. A maioria das tarefas não triviais que falham têm problemas que uma crítica poderia ter pego na fase de planejamento. Obter comentários antes que o código seja escrito é preferível para corrigir problemas posteriormente no processo.

    Observação

    Ao consultar o agente de pato de borracha, executa-se uma passagem adicional de raciocínio em um modelo separado, o que adiciona uma certa latência e requer uso adicional do modelo. O lado positivo é que gastar um pouco mais de tempo e recursos antecipadamente pode economizar tempo e uso geral do modelo, identificando problemas mais cedo e reduzindo o número de tentativas falhas de concluir uma tarefa.

  • Reduz os pontos cegos de um único modelo. Como o agente usa um modelo de uma família diferente, ele traz uma perspectiva genuinamente diferente em vez de executar novamente o mesmo raciocínio que produziu o trabalho original.

  • Melhora a qualidade das alterações complexas. Decisões arquitetônicas, alterações de vários arquivos e bases de código desconhecidas se beneficiam de uma segunda opinião antes Copilot de confirmar uma abordagem.

  • Fica fora do caminho para tarefas simples. Copilot só consulta o agente de pato de borracha quando o trabalho não é trivial, portanto, ele não reduz a velocidade de edições rápidas e correções óbvias.

Leitura adicional