Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O agente de modernização do GitHub Copilot suporta competências personalizadas que pode usar para definir padrões de migração específicos da organização, utilização interna de bibliotecas e padrões de programação. Ao utilizar estas competências personalizadas, pode garantir uma modernização consistente em toda a sua organização, utilizando conhecimentos proprietários.
O que são competências personalizadas?
As competências personalizadas seguem a especificação de competências do agente para ensinar o agente de modernização a realizar tarefas específicas de migração usando os padrões e bibliotecas da sua organização. Quando cria um plano de modernização, o agente deteta automaticamente e aplica competências personalizadas relevantes com base no seu pedido de migração.
As competências personalizadas são úteis para:
- Migrações internas de bibliotecas: Mudança para SDKs ou frameworks específicos da organização.
- Reutilizar padrões de migração: Capturar e reutilizar padrões de migração bem-sucedidos.
Estrutura de competências personalizadas
Defina cada competência personalizada num SKILL.md ficheiro com:
- Matéria inicial YAML: Metadados para deteção de competências.
- Visão geral: Descrição do cenário de migração.
- Passos: Instruções detalhadas para o agente.
- Código de exemplo: Exemplos concretos que demonstram a migração.
Crie uma habilidade personalizada
Passo 1: Criar o diretório de competências
Crie uma nova pasta no .github/skills/ seu repositório com um nome descritivo:
mkdir -p .github/skills/my-migration-pattern
Passo 2: Escrever o ficheiro SKILL.md
Cria .github/skills/my-migration-pattern/SKILL.md com a estrutura mostrada na secção seguinte.
Campos obrigatórios das informações preliminares
---
name: my-migration-pattern
description: A concrete description of what this skill helps migrate
---
Importante: O description campo é crítico. O agente usa-a para determinar quando aplicar a habilidade com base no prompt de migração do utilizador. Torne-a precisa e específica.
Boas descrições:
- ✅ "Migrar do RabbitMQ com AMQP para Azure Service Bus para mensagens"
- ✅ "Substituir chamadas JDBC diretas por repositórios Spring Data"
Más descrições:
- ❌ "Migração de mensagens" (demasiado vago)
- ❌ "Atualizar bibliotecas" (não específico)
- ❌ "Melhorar o código" (objetivo pouco claro)
Passo 3: Forneça exemplos e verificações de migração
Inclua exemplos de código e verificações de verificação para orientar o agente:
- Alterações de código: excertos de código que mostram a implementação migrada usando a nova abordagem.
- Alterações de configuração: atualizações de propriedades, XML ou outros ficheiros de configuração.
- Alterações de dependência: Atualizações Maven, Gradle ou NuGet necessárias para a migração.
- Verificações de verificação: critérios que o agente deve validar após aplicar a migração.
Também podes fornecer ficheiros de recursos no diretório de habilidades e dizer ao agente como os usar no conteúdo do SKILL.md ficheiro.
Use competências personalizadas
Deteção automática
Quando você cria um plano de modernização, o agente automaticamente:
- Digitaliza
.github/skills/competências personalizadas. - Compara a tua instrução de migração com as descrições de competências.
- Incorpora competências relevantes no plano.
- Usa a habilidade para orientar transformações de código.
Exemplo:
# Agent will automatically detect and use the RabbitMQ skill
modernize plan create "migrate from rabbitmq to azure service bus"
Verificação manual
Para verificar quais as competências detetadas:
Crie um plano com o seu prompt.
Análise
.github/modernization/{plan-name}/tasks.json.Procure referências às suas competências personalizadas:
"skills": [ { "name": "your-skill-name", "location": "project" } ]
Se uma habilidade não for detetada:
- Refina a habilidade
descriptionpara melhor corresponder ao teu prompt. - Torna o enunciado mais específico.
- Certifique-se de que
SKILL.mdestá devidamente formatado.
Repositório de exemplo
Para um exemplo completo, consulte o repositório de exemplos NewsFeedSite, que inclui:
- Habilidade personalizada para migração do RabbitMQ para Azure Service Bus.
- Demonstra o uso de bibliotecas JDK internas.
- Demonstra uma estrutura de competências e formatação adequadas.
Clonar e explorar:
git clone https://github.com/Azure-Samples/NewsFeedSite.git
cd NewsFeedSite
ls -la .github/skills/
modernize plan create "migrate from rabbitmq to azure service bus"
Troubleshooting
Habilidade não detetada
Problema: O agente não usa a tua competência personalizada.
Soluções:
- Verifica se o nome da skill no front matter do YAML não contém espaços. Use hífens em vez disso (por exemplo,
my-custom-skillnãomy custom skill). - Verifique se corresponde
descriptionàs palavras-chave do seu prompt. - Verifica a sintaxe do YAML front matter.
- Certifique-se de que
SKILL.mdestá em.github/skills/{skill-name}/. - Torna o teu enunciado de migração mais específico.