Uso de agentes integrados y personalizados con GitHub Copilot

Visual Studio incluye un conjunto de agentes integrados mantenidos que se integran profundamente con las funcionalidades del IDE, como la depuración, la generación de perfiles y las pruebas. También puede crear agentes personalizados adaptados a cómo funciona el equipo.

Prerrequisitos

Acceso a agentes personalizados

Puede acceder a agentes personalizados de dos maneras:

  • Agent picker: en la ventana Copilot Chat, seleccione la lista desplegable selector de agentes para ver los agentes disponibles. Actualmente, esta opción solo está disponible en la compilación Visual Studio 2026 Insiders.
  • @ sintaxis: escriba @ seguido del nombre del agente en la entrada de chat (por ejemplo, @debugger).

Puede acceder a agentes personalizados mediante la sintaxis @ : escriba @ seguido del nombre del agente en la entrada de chat (por ejemplo, @profiler).

Screenshot que muestra el selector de agentes con agentes personalizados en Visual Studio.

Agentes integrados

Cada agente integrado se centra en un flujo de trabajo de desarrollador específico. Estos agentes se integran con las herramientas nativas de Visual Studio de maneras que un asistente genérico no puede.

Agente Descripción
@debugger Va más allá de leer mensajes de error. Emplea las pilas de llamadas, el estado de las variables y las herramientas de diagnóstico para realizar un diagnóstico sistemático de errores a través de toda la solución.
@profiler Se conecta a la infraestructura de generación de perfiles de Visual Studio para identificar cuellos de botella y sugerir optimizaciones dirigidas basadas en el código base, no consejos genéricos.
@test Genera pruebas unitarias optimizadas para el marco y los patrones de su proyecto, no código estándar que la integración continua rechaza.
@modernize (solo .NET y C++) Controla las actualizaciones de marcos y dependencias con reconocimiento del grafo real del proyecto. Marca los cambios importantes, genera código de migración y sigue los patrones existentes.
Agente de planificación Crea y refina los planes de implementación antes de que los cambios de código comiencen explorando el código base con herramientas de solo lectura y, a continuación, entrega el plan al modo de agente con Implementar plan.
Agente Descripción
@profiler Se conecta a la infraestructura de generación de perfiles de Visual Studio para identificar cuellos de botella y sugerir optimizaciones dirigidas basadas en el código base, no consejos genéricos.

Agentes en la nube

En Copilot Chat, puede iniciar sesiones de agente basadas en la nube desde el selector de agentes. Un repositorio conectado significa que tiene una solución local abierta desde un repositorio de GitHub y ha iniciado sesión en GitHub en Visual Studio. Estas sesiones remotas están basadas en el agente de codificación de GitHub Copilot y pueden crear problemas de repositorio y solicitudes de incorporación de cambios en ese repositorio.

Utilice el agente @debugger

El agente @debugger le ayuda a diagnosticar errores de manera sistemática al analizar el contexto de depuración. También admite un flujo de trabajo agente de un extremo a otro que reproduce errores, instrumenta la aplicación con puntos de seguimiento y puntos de interrupción condicionales y valida correcciones mediante datos en tiempo de ejecución en directo. Para obtener más información, consulte Resolución de errores de tipo agente con el Agente de Depuración.

Indicaciones de ejemplo:

  • @debugger Why is this exception being thrown?
  • @debugger Analyze the current call stack and explain what went wrong
  • @debugger What's causing the null reference in this method?

Utilice el agente @profiler

El agente de @profiler se conecta a las herramientas de generación de perfiles de Visual Studio para ayudar a identificar y corregir problemas de rendimiento.

Indicaciones de ejemplo:

  • @profiler Find the performance bottlenecks in my application
  • @profiler Why is this method taking so long to execute?
  • @profiler Suggest optimizations for the hot path

Utilice el agente @test

El @test agente genera pruebas unitarias que coinciden con las convenciones y el marco de pruebas del proyecto.

Indicaciones de ejemplo:

  • @test Generate unit tests for the selected method
  • @test Create tests that cover edge cases for this class
  • @test Write integration tests for this API endpoint

Para obtener compatibilidad más completa con pruebas de .NET, consulte pruebas de GitHub Copilot para .NET.

Utilice el agente @modernize

El agente de @modernize ayuda con las migraciones de marcos y las actualizaciones de dependencia para proyectos de .NET y C++.

Para los procesos de modernización de .NET, el agente admite un proceso de tres fases.

  • Evaluación: revisa las versiones del paquete, las opciones del marco de destino, el inventario de proyectos y los riesgos de compatibilidad de API.
  • Plan: genera un plan de migración que se alinea con la evaluación actual y las prioridades de actualización.
  • Ejecución de tareas: funciona a través de tareas de modernización con un archivo de tareas dinámico que puede editar a medida que avanza el trabajo.

Indicaciones de ejemplo:

  • @modernize Upgrade this project to .NET 8
  • @modernize What breaking changes should I expect when migrating?
  • @modernize Update deprecated API calls in this file
  • @modernize Assess this solution, generate a migration plan, and create execution tasks

Para obtener instrucciones completas sobre la modernización de la aplicación GitHub Copilot para .NET, consulte descripción general de la modernización de aplicaciones GitHub Copilot.

Agentes personalizados

Nota:

Los agentes personalizados requieren Visual Studio 2026, versión 18.4 o posterior.

Los agentes integrados cubren flujos de trabajo comunes, pero el equipo conoce mejor el flujo de trabajo. Los agentes personalizados le permiten crear sus propios agentes mediante la misma base: reconocimiento del área de trabajo, comprensión del código, su modelo de IA preferido y sus propias herramientas.

Los agentes personalizados se vuelven especialmente eficaces cuando se combinan con MCP (Protocolo de contexto de modelo). Puede conectar agentes a orígenes de conocimiento externos, como documentación interna, sistemas de diseño, API y bases de datos, por lo que el agente no se limita a lo que se encuentra en el repositorio.

También puede definir aptitudes reutilizables del agente que cualquier agente pueda detectar y usar automáticamente. Mientras que los agentes definen un rol y un conjunto de herramientas, las aptitudes proporcionan instrucciones centradas y específicas de tareas.

Creación de un agente personalizado

Defina agentes personalizados como .agent.md archivos en la carpeta .github/agents/ del repositorio.

your-repo/
└── .github/
    └── agents/
        └── code-reviewer.agent.md

También puede definir agentes de nivel de usuario que se apliquen en todos los proyectos. Los agentes a nivel de usuario se almacenan en %USERPROFILE%\.github\agents de forma predeterminada. Puede cambiar esta ubicación en Herramientas>Opciones>de GitHub>Copilot.

Formato de archivo del agente

Cada archivo de agente usa una plantilla sencilla con la frontmatter de YAML seguida de las instrucciones de Markdown:

---
name: Code Reviewer
description: Reviews PRs against our team's coding standards
model: claude-opus-4-6
tools: ["code_search", "readfile", "find_references"]
---

You are a code reviewer for our team. When reviewing changes, check for:

- Naming conventions: PascalCase for public methods, camelCase for private
- Error handling: all async calls must have try/catch with structured logging
- Test coverage: every public method needs at least one unit test

Flag violations clearly and suggest fixes inline.

Propiedades de frontmatter

Propiedad Obligatorio Descripción
name No Nombre del agente para mostrar en el selector de agentes. Si no especifica esta propiedad, el nombre del agente procede del nombre de archivo (por ejemplo, code-reviewer.agent.md se convierte en code-reviewer).
description Yes Breve descripción que se muestra al mantener el puntero sobre el agente
model No Modelo de IA que se va a usar. Si no especifica esta propiedad, se usa el modelo seleccionado en el selector de modelos.
tools No Matriz de nombres de herramientas que puede usar el agente. Si no especifica esta propiedad, todas las herramientas disponibles están habilitadas.

Especificar herramientas

Las herramientas amplían lo que el agente personalizado puede hacer. Puede especificar qué herramientas debe usar el agente en la tools matriz.

Importante

Los nombres de herramientas varían según las plataformas de GitHub Copilot. Compruebe las herramientas disponibles en Visual Studio específicamente para asegurarse de que el agente funciona según lo previsto. Seleccione el icono Herramientas en la ventana de chat para ver los nombres de herramientas disponibles.

Herramientas específicas del lenguaje para C++

Las herramientas de edición de código de C++ están disponibles con carácter general en el modo de agente. Si se instala la carga de trabajo de C++, el agente personalizado puede usar estos nombres de herramientas específicos de Visual Studio en su matriz de tools:

  • get_symbol_call_hierarchy para la navegación por la jerarquía de llamadas
  • get_symbol_class_hierarchy para la navegación por la jerarquía de clases y tipos

Estas herramientas proporcionan a los agentes navegación con reconocimiento del lenguaje para C++ y ayudan a mejorar la precisión al analizar y editar código de C++.

Conexión a orígenes externos con MCP

Mediante el uso de servidores MCP, los agentes personalizados pueden acceder a orígenes de conocimiento externos, como:

  • Documentación interna y wikis
  • Diseñar sistemas y bibliotecas de componentes
  • API y bases de datos
  • Guías de estilo y repositorios de ADR

Por ejemplo, un agente de revisión de código puede comprobar las solicitudes de incorporación de cambios frente a sus convenciones reales conectándose con su guía de estilo usando MCP.

Agentes personalizados de ejemplo

Agente de revisión de código

---
name: Code Reviewer
description: Reviews code against our team's coding standards
tools: ["code_search", "readfile"]
---

You are a code reviewer for our team. Review changes for:

1. **Naming conventions**: PascalCase for public methods, camelCase for private fields
2. **Error handling**: All async calls must have try/catch with structured logging
3. **Test coverage**: Every public method needs at least one unit test
4. **Documentation**: Public APIs must have XML documentation comments

Flag violations clearly and suggest fixes inline.

Ejemplo del agente de planificación de funciones

Use un agente de planeamiento de características personalizado cuando desee un flujo de trabajo de planificación específico del equipo o herramientas adicionales más allá del agente de plan integrado.

---
name: Feature Planner
description: Helps plan features before writing code
tools: ["code_search", "readfile", "find_references"]
---

You are a feature planning assistant. When asked about a feature:
1. Gather requirements by asking clarifying questions
2. Identify affected files and components in the codebase
3. Break down the work into discrete tasks
4. Flag potential risks or dependencies
5. Create a structured plan that can be handed off for implementation

Focus on understanding scope before suggesting solutions.

Agente del sistema de diseño

---
name: Design System
description: Enforces UI design patterns and component usage
tools: ["code_search", "readfile"]
---

You are a design system expert. When reviewing UI code:

1. Check that standard components are used instead of custom implementations
2. Verify spacing and layout follow the design token system
3. Ensure accessibility requirements are met (ARIA labels, keyboard navigation)
4. Flag any UI drift from established patterns

Reference the component library documentation when suggesting fixes.

Agente de desarrollo completo con herramientas de desarrollo de Visual Studio

En el ejemplo siguiente se usan nombres de herramientas específicos de Visual Studio:

---
name: Full Stack Dev
description: Full-stack development assistant with search, file editing, and terminal access
tools: ["code_search", "readfile", "editfiles", "find_references", "runcommandinterminal", "getwebpages"]
---

You are a full-stack development assistant. Help with:

1. Searching the codebase to understand existing patterns
2. Reading and editing files to implement changes
3. Running build and test commands to verify your work
4. Looking up documentation when needed

Always check existing code conventions before making changes.

Sugerencia

Seleccione el icono Tools en la ventana de Copilot Chat para ver todos los nombres de herramientas disponibles en la versión de Visual Studio.

agentes de desarrollo de .NET

El equipo de .NET mantiene agentes personalizados curados para el desarrollo de C# y Windows Forms en el repositorio awesome-copilot. Primeros pasos:

  1. Descargue CSharpExpert.agent.md y WinFormsExpert.agent.md.
  2. Agregue los archivos a la carpeta del .github/agents/ repositorio.
  3. Abra Copilot Chat en modo agente y seleccione el agente en el selector de agentes.

Sugerencia

Seleccione Tools>Options>GitHub>Copilot, y, a continuación, habilite Instrucciones específicas del proyecto .NET como Windows Forms desarrollo cuando sea aplicable para agregar automáticamente el agente personalizado adecuado para la base de código.

Experto en C#

El agente experto de C# aplica convenciones modernas de C# a la generación de código de Copilot:

  • Sintaxis y rendimiento: sigue los procedimientos recomendados actuales al hacer coincidir las convenciones existentes del repositorio.
  • Cambios mínimos: genera solo el código necesario, usando async/await con el control de excepciones y cancelación adecuados. Evita interfaces, métodos o parámetros sin usar.
  • Pruebas: admite pruebas unitarias controladas por el comportamiento, pruebas de integración y flujos de trabajo de TDD.

Experto en WinForms

El agente experto de WinForms se dirige al desarrollo de Windows Forms en .NET 8 hasta .NET 10.

  • Protección del código del diseñador: evita .Designer.cs la corrupción para que el Diseñador de formularios de Windows siga funcionando después de las ediciones de Copilot.
  • Patrones de diseño de la interfaz de usuario: modelos MVVM y MVP, incluido el enlace de datos de Community Toolkit.
  • Modern .NET: corrige InvokeAsync sobrecargas, modo oscuro, compatibilidad con alta resolución (DPI) y tipos de referencia anulables.
  • Diseño: TableLayoutPanel y FlowLayoutPanel para diseños adaptativos que tengan en cuenta la densidad de píxeles.
  • Serialización CodeDOM: [DefaultValue] atributos y ShouldSerialize*() métodos para el manejo adecuado de propiedades del diseñador.
  • Control de excepciones: patrones de controlador de eventos asincrónicos y control de excepciones de nivel de aplicación.

Configuraciones de la comunidad

El repositorio awesome-copilot tiene configuraciones de agente con contribución de la comunidad que puede usar como puntos de partida. Al usar configuraciones de este repositorio, compruebe que los nombres de herramientas funcionan en Visual Studio antes de implementar en el equipo.

Limitaciones y notas

  • Si no especifica un modelo, el agente usa el modelo seleccionado en el selector de modelos.
  • Los nombres de herramientas varían según las plataformas de GitHub Copilot. Compruebe que los nombres de herramientas funcionan en Visual Studio antes de realizar la implementación en el equipo.

Compartir comentarios

Comparta las configuraciones del agente personalizado en el repositorio awesome-copilot o envíe comentarios a través de Visual Studio Developer Community. Los flujos de trabajo ayudan a dar forma a las características futuras.