Skip to main content

Configuración de agentes personalizados

Referencia para configurar custom agents.

En este artículo de referencia se proporciona información detallada de configuración para custom agents. Para obtener información general sobre cómo crear custom agents, vea Creación de agentes personalizados para Copilot cloud agent.

Nota:

Custom agents se encuentran en versión preliminar pública para los IDEs de JetBrains, Eclipse y Xcode y pueden estar sujetos a cambios.

Propiedades del frontmatter de YAML

En la tabla siguiente se describen las propiedades que puede configurar para agent profiles en GitHub.com, en Copilot CLI y en los IDE admitidos (a menos que se indique lo contrario). Cualquier comportamiento específico del entorno se indica en la descripción de la propiedad. El nombre del archivo de configuración (menos .md o .agent.md) se usa para la desduplicación entre niveles para que la configuración de nivel más bajo tenga prioridad.

PropiedadTipoPropósito
namecuerda / cadenaNombre para mostrar de custom agent. Optional.
description
Cadena necesariaDescripción del propósito y las capacidades de custom agent
targetcuerda / cadenaEntorno o contexto de destino para custom agent (vscode o github-copilot). Si no se define, el valor predeterminado se aplica a ambos entornos.
toolslista de cadenas, cadenaLista de nombres de herramientas que custom agent puede usar. Admite una cadena separada por comas y una matriz de cadenas yaml. Si no se define, el valor predeterminado se aplica a todas las herramientas. Consulte Herramientas.
modelcuerda / cadenaModelo que se va a usar cuando este custom agent se ejecute. Si no se establece, hereda el modelo predeterminado.
disable-model-invocationboolean
Copilot cloud agent Deshabilita el uso automático de esto custom agent en función del contexto de la tarea. Cuando true, el agente debe seleccionarse manualmente. El valor disable-model-invocation: true es equivalente a infer: false. Si se establecen ambos, disable-model-invocation tiene prioridad. Si no se establece, el valor predeterminado es false.
user-invocablebooleanControla si un usuario puede seleccionar esto custom agent. Cuando false, el agente no se puede seleccionar manualmente y solo se puede acceder a él a través de programación. Si no se establece, el valor predeterminado es true.
inferboolean
**
Retirado
**. Utilice disable-model-invocation y user-invocable en su lugar. Permite Copilot cloud agent usar esto custom agent automáticamente en función del contexto de la tarea. Cuando false, el agente debe seleccionarse manualmente. Si no se establece, el valor predeterminado es true.
mcp-serversobjetoServidores y herramientas adicionales de MCP que deben ser usados por el custom agent.
No se usa en VS Code y en otro IDE custom agents.
metadataobjeto que consiste en un par de nombre y valor, ambos son cadenasPermite la anotación del agente con datos útiles.
No se usa en VS Code y en otro IDE custom agents.

Defina el comportamiento, la experiencia y las instrucciones del agente en el contenido de Markdown debajo del frontmatter de YAML. El mensaje puede tener un máximo de 30 000 caracteres.

Nota:

  • Actualmente, las propiedades argument-hint y handoffs de VS Code y otros custom agents del IDE no están soportadas para Copilot cloud agent en GitHub.com. Se omiten para garantizar la compatibilidad.
  • Para obtener más información sobre la custom agent estructura de archivos en VS Code, consulte Custom agents en VS Code en la VS Code documentación.

Tools

La custom agenttools propiedad controla qué herramientas están disponibles para el agente, incluidas las de los servidores MCP.

custom agent tendrá acceso a las herramientas del servidor MCP que se han configurado tanto en su configuración de agent profile como en el repositorio. Para obtener más información sobre cómo configurar servidores MCP de repositorio compartido en GitHub, vea Configuración de servidores MCP para el repositorio.

Puede configurar tools mediante los métodos siguientes:

  • Habilitar todas las herramientas disponibles: omita la tools propiedad por completo o use tools: ["*"] para habilitar todas las herramientas disponibles. Esto incluirá todas las herramientas del servidor MCP configuradas en la agent profile y/o en la configuración del repositorio.
  • Habilitar herramientas específicas: proporcione una lista de nombres o alias de herramientas específicos (por ejemplo, tools: ["read", "edit", "search"]) para habilitar solo esas herramientas. Para conocer los alias de herramientas disponibles, consulte Alias de herramientas a continuación.
    • Tenga en cuenta que si el repositorio tiene configurados servidores MCP, puede elegir que solo haya herramientas específicas de esos servidores disponibles para custom agent. Los nombres de herramientas de servidores MCP específicos se pueden prefijar con el nombre del servidor seguido de ./ Por ejemplo: some-mcp-server/some-tool.
    • También puede habilitar explícitamente todas las herramientas desde un servidor MCP específico mediante some-mcp-server/*.
    • Las herramientas de las extensiones VS Code pueden usar el nombre de la extensión como proxy, como azure.some-extension/some-tool.
  • Deshabilitar todas las herramientas: use una lista vacía (tools: []) para deshabilitar todas las herramientas del agente.

Todos los nombres de herramientas no reconocidos se omiten, lo que permite especificar herramientas específicas del producto en un agent profile sin causar problemas.

Alias de herramientas

Los siguientes alias de herramienta están disponibles para custom agents. Todos los alias no distinguen mayúsculas de minúsculas:

Alias principalAlias compatiblesAsignación de Cloud agentPropósito
execute
shell, , Bash, powershellHerramientas de Shell: bash o powershellEjecute un comando en el shell adecuado para el sistema operativo.
read
Read, NotebookReadviewLeer el contenido del archivo.
edit
Edit, MultiEdit, , Write, NotebookEditEditar herramientas: por ejemplo str_replace, , str_replace_editorPermite que el LLM edite. Los argumentos exactos pueden variar.
search
Grep, GlobsearchBusque archivos o texto en archivos.
agent
custom-agent, Task"Custom agent" herramientasPermite invocar un elemento diferente custom agent para realizar una tarea.
web
WebSearch, WebFetchActualmente no es aplicable a cloud agent.Permite capturar contenido de direcciones URL y realizar una búsqueda web
todoTodoWriteActualmente no es aplicable a cloud agent.Crea y administra listas de tareas estructuradas. No se admite en cloud agent hoy, pero es compatible con VS Code.

Nombres de herramientas para servidores MCP "listos para usar"

Los siguientes servidores MCP están disponibles de fábrica para Copilot cloud agent y se puede hacer referencia a ellos mediante el espaciado de nombres:

Nombre del servidor MCPHerramientas disponibles
githubTodas las herramientas de solo lectura están disponibles por defecto, pero el token que recibe el servidor es específico al ámbito del repositorio de origen.
github/* incluye todos ellos, o puede hacer referencia a github/<tool name> dónde <tool name> es un valor de la documentación del servidor MCP.
playwrightTodas las herramientas de playwright están disponibles de forma predeterminada, pero el servidor está configurado para acceder solo a localhost.
playwright/* incluye todos ellos, o puede hacer referencia a playwright/<tool name> dónde <tool name> es un valor de la documentación del servidor MCP. De forma predeterminada, el token al que tiene acceso está en el ámbito del repositorio de código fuente.

Detalles de configuración del servidor MCP

En el ejemplo agent profile siguiente se muestra un agente con un servidor MCP y un secreto configurado. Además, solo se ha habilitado una herramienta del servidor MCP en la tools propiedad del frontmatter de YAML:

---
name: my-custom-agent-with-mcp
description: Custom agent description
tools: ['tool-a', 'tool-b', 'custom-mcp/tool-1']
mcp-servers:
  custom-mcp:
    type: 'local'
    command: 'some-command'
    args: ['--arg1', '--arg2']
    tools: ["*"]
    env:
      ENV_VAR_NAME: ${{ secrets.COPILOT_MCP_ENV_VAR_VALUE }}
---

Prompt with suggestions for behavior and output

La propiedad mcp-servers de un agent profile es una representación en YAML del formato de configuración JSON que se utiliza para configurar servidores MCP para repositorios en GitHub.

La mayoría de las subpropiedades son las mismas que la representación JSON. En las secciones siguientes se describen los cambios de la implementación inicial de la configuración de MCP en los repositorios en GitHub los que son relevantes para custom agents. Para obtener más información sobre el formato de configuración JSON, consulte Configuración de servidores MCP para el repositorio.

Tipo de servidor MCP

Por motivos de compatibilidad, el tipo stdio usado por Claude Code y VS Code se asigna al tipo de cloud agentlocal .

Variables de entorno y secretos del servidor MCP

Nota:

Si el servidor MCP requiere secretos o variables de entorno, estos deben configurarse como secretos de agentes o variables en el nivel de organización o repositorio. Para obtener más información, vea Configurar secretos y variables para el agente de Copilot en la nube.

Custom agent La configuración de MCP admite la misma variable de entorno y funcionalidades de reemplazo de secretos que las configuraciones de MCP de nivel de repositorio existentes. De forma similar a las configuraciones de nivel de repositorio, los secretos y las variables pueden provenir de los secretos y variables de agentes para Copilot cloud agent, configurados a nivel de organización o de repositorio. La sintaxis para hacer referencia a estos valores se ha ampliado para admitir patrones comunes usados en GitHub Actions y Claude Code.

Tanto la configuración DE JSON de MCP de nivel de repositorio como la custom agent configuración de YAML admiten los siguientes patrones de sintaxis:

  • $COPILOT_MCP_ENV_VAR_VALUE - Variable de entorno y encabezado
  • ${COPILOT_MCP_ENV_VAR_VALUE} - Variable de entorno y encabezado (sintaxis de Claude Code)
  • ${COPILOT_MCP_ENV_VAR_VALUE:-default} - Variable de entorno y encabezado con el valor predeterminado

La custom agent configuración de YAML admite los siguientes patrones de sintaxis adicionales:

  • ${{ secrets.COPILOT_MCP_ENV_VAR_VALUE }} - Variable de entorno y encabezado
  • ${{ vars.COPILOT_MCP_ENV_VAR_VALUE }} - Variable de entorno y encabezado

Configuraciones de ejemplo agent profile

En los ejemplos siguientes se muestra lo que un agent profile podría parecer para las tareas comunes de realizar pruebas o planificar la implementación de un proyecto. Para obtener más inspiración, consulte los ejemplos de Custom agents en la biblioteca de personalización. También puede encontrar ejemplos más específicos en la colección de comunidad awesome-copilot .

Especialista en pruebas

En este ejemplo se habilitan todas las herramientas omitiendo la tools propiedad .

Text
---
name: test-specialist
description: Focuses on test coverage, quality, and testing best practices without modifying production code
---

You are a testing specialist focused on improving code quality through comprehensive testing. Your responsibilities:

- Analyze existing tests and identify coverage gaps
- Write unit tests, integration tests, and end-to-end tests following best practices
- Review test quality and suggest improvements for maintainability
- Ensure tests are isolated, deterministic, and well-documented
- Focus only on test files and avoid modifying production code unless specifically requested

Always include clear test descriptions and use appropriate testing patterns for the language and framework.

Planificador de implementación

En este ejemplo solo se habilita un subconjunto de herramientas.

Text
---
name: implementation-planner
description: Creates detailed implementation plans and technical specifications in markdown format
tools: ["read", "search", "edit"]
---

You are a technical planning specialist focused on creating comprehensive implementation plans. Your responsibilities:

- Analyze requirements and break them down into actionable tasks
- Create detailed technical specifications and architecture documentation
- Generate implementation plans with clear steps, dependencies, and timelines
- Document API designs, data models, and system interactions
- Create markdown files with structured plans that development teams can follow

Always structure your plans with clear headings, task breakdowns, and acceptance criteria. Include considerations for testing, deployment, and potential risks. Focus on creating thorough documentation rather than implementing code.

Procesamiento de custom agents

Custom agents Nombres

En el caso de conflictos de nomenclatura, la configuración de nivel más bajo invalida las configuraciones de nivel superior. Esto significa que un agente de nivel de repositorio tendría prioridad sobre un agente de nivel de organización y el agente de nivel de organización invalidaría un agente de nivel empresarial.

Control de versiones

El control de versiones Custom agent se basa en SHA de confirmación de Git para el archivo agent profile. Esto le permite crear ramas o etiquetas con diferentes versiones de custom agents según sea necesario. Al asignar un custom agent a una tarea, se instanciará custom agent utilizando la versión más reciente de agent profile para ese repositorio y rama. Cuando el agente crea una solicitud de incorporación de cambios, las interacciones dentro de la solicitud de incorporación de cambios usan la misma versión de custom agent por coherencia.

Procesamiento de herramientas

La tools lista filtra el conjunto de herramientas que están disponibles para el agente, ya sea integrado o de origen de los servidores MCP. Al configurar herramientas en agent profile, el comportamiento depende de lo que especifique:

  • Si no se especifica ninguna herramienta, se habilitan todas las herramientas disponibles.
  • Una lista de herramientas vacía (tools: []) deshabilita todas las herramientas
  • Una lista específica (tools: [...]) solo habilita esas herramientas

Configuraciones de servidor MCP

En el caso de las configuraciones del servidor MCP, hay un orden de procesamiento específico que garantiza un comportamiento de sobreposición adecuado: las configuraciones de MCP predeterminadas (como el MCP GitHub) se procesan primero, seguidas por la configuración de MCP custom agent, y por último, las configuraciones de MCP especificadas a través de los ajustes del repositorio. Esto permite que cada nivel invalide la configuración del nivel anterior según corresponda.

Lectura adicional