Skip to main content

Настройка пользовательских агентов

Ссылка для настройки custom agents.

Эта справочная статья содержит подробную информацию о конфигурации для custom agents. Для общей информации о создании custom agentsсм. Создание кастомных агентов для Copilot cloud agent.

Примечание.

Custom agents находятся в Публичный предварительный просмотр для IDEs JetBrains, Eclipse и Xcode и могут измениться.

Свойства YAML frontmatter

В следующей таблице приведены свойства, которые вы можете настроить для agent profiles , GitHub.comCopilot CLI, и поддерживаемых IDE (если не указано иное). Любое поведение, специфическое для окружающей среды, отмечается в описании свойства. Имя конфигурационного файла (минус .md или .agent.md) используется для дедупликации между уровнями, так что конфигурация наименьшего уровня имеет приоритет.

НедвижимостьТипЦель
nameструнаОтображаемое имя для custom agent. Необязательно.
description
Обязательная строкаОписание назначения и возможностей корабля custom agent
targetструнаЦелевая среда или контекст для custom agent (vscode или github-copilot). Если этот параметр не установлен, по умолчанию используются обе среды.
toolsсписок строк, строкаСписок названий инструментов, которые можно custom agent использовать. Поддерживает как строку, разделенную запятыми, так и массив строк yaml. Если этот параметр не установлен, по умолчанию используются все инструменты. Смотрите Инструменты.
modelструнаМодель для использования при выполнении этого custom agent процесса. Если не установлено, наследует модель по умолчанию.
disable-model-invocationбулевыйОтключает Copilot cloud agent автоматическое использование этого custom agent в зависимости от контекста задачи. Когда true, агент должен быть выбран вручную. Настройка disable-model-invocation: true эквивалентна infer: false. Если обе установлены, disable-model-invocation приоритет имеет значение. Если не установлен, по умолчанию — .false
user-invocableбулевыйКонтролирует, может ли пользователь выбрать этот custom agent параметр. Когда false, агент нельзя выбрать вручную и доступен только программно. Если не установлен, по умолчанию — .true
inferбулевый
**
На пенсии
**. Взамен используйте disable-model-invocation и user-invocable. Позволяет Copilot cloud agent автоматически использовать это custom agent в зависимости от контекста задачи. Когда false, агент должен быть выбран вручную. Если не установлен, по умолчанию — .true
mcp-serversобъектДополнительные MCP-серверы и инструменты, которые должны использоваться custom agentдля .
Не используется в VS Code других IDE custom agents.
metadataсостоящий из пары имя и значение, обе строкиПозволяет аннотировать агент полезными данными.
Не используется в VS Code других IDE custom agents.

Определите поведение, опыт и инструкции агента в содержимом Markdown под внешним элементом YAML. Запрос может составлять максимум 30 000 символов.

Примечание.

  • Свойства и из и других IDE argument-hint в настоящее время не поддерживаются для handoffs .VS Codecustom agentsCopilot cloud agentGitHub.com Они игнорируются для обеспечения совместимости.
  • Для получения дополнительной информации о custom agent структуре файла VS Codeв , см.Custom agents в VS CodeVS Code документации.

Tools

Property управляет custom agenttools , какие инструменты доступны вашему агенту, включая те, что с MCP-серверов.

У вас custom agent будет доступ к инструментам сервера MCP, которые настроены как в его agent profile и/или в настройках репозитория. Для получения дополнительной информации о настройке MCP-серверов общего репозитория на GitHub, см. Настройте MCP-серверы для вашего репозитория.

Вы можете настроить tools с помощью следующих подходов:

  • Включить все доступные инструменты: полностью опустите свойство tools или используйте для tools: ["*"] включения всех доступных инструментов. Это включает все инструменты сервера MCP, agent profile настроенные в настройках и/или репозитории.
  • Включить определенные инструменты: Предоставьте список имен или псевдонимов определенных инструментов (например, tools: ["read", "edit", "search"]), чтобы включить только эти инструменты. Доступные псевдонимы инструментов см. в разделе Псевдонимы инструментов ниже.
    • Обратите внимание, что если в вашем репозитории настроены MCP-серверы, вы можете сделать доступными custom agentтолько определённые инструменты из этих серверов. Имена инструментов с определенных серверов MCP могут начинаться с имени сервера, за которым следует /. Например: some-mcp-server/some-tool.
    • Вы также можете явно включить все инструменты с определенного сервера MCP с помощью some-mcp-server/*.
    • Инструменты расширений VS Code могут использовать имя расширения как прокси, например azure.some-extension/some-tool.
  • Отключить все инструменты: Используйте пустой список (tools: []) для отключения всех инструментов для агента.

Все нераспознанные имена инструментов игнорируются, что позволяет указывать инструменты, специфичные для продукта agent profile , без возникновения проблем.

Псевдонимы инструментов

Следующие псевдонимы инструментов доступны для custom agents. Регистр всех псевдонимов нечувствителен:

| Основной псевдоним | Совместимые псевдонимы | Cloud agent Отображение | Цель | | ------------- | -------------------------------------------- | ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | | execute | shell, , Bash``powershell | Инструменты для скорлупы: bash или powershell | Выполните команду в соответствующей оболочке для операционной системы. | | read | Read, NotebookRead | view | Чтение содержимого файла. | | edit | Edit, , MultiEdit``Write``NotebookEdit | Инструменты редактирования: например, str_replace, str_replace_editor | Разрешите LLM редактировать. Точные аргументы могут быть разными. | | search | Grep, Glob | search | Поиск файлов или текста в файлах. | | agent | custom-agent, Task | "Custom agent" инструменты | Позволяет вызвать другого custom agent для выполнения задачи. | | web | WebSearch, WebFetch | В настоящее время не применимо к cloud agent. | Позволяет получать контент из URL-адресов и выполнять веб-поиск | | todo | TodoWrite | В настоящее время не применимо к cloud agent. | Создает структурированные списки задач и управляет ими. Сегодня не поддерживается cloud agent , но поддерживается VS Code. |

Имена инструментов для "готовых" MCP-серверов

Следующие MCP-серверы доступны из коробки и Copilot cloud agent могут быть ссылаться с помощью промежутка имён:

Имя сервера MCPДоступные средства
githubВсе средства только для чтения доступны по умолчанию, но маркер, получаемый сервером, ограничен исходным репозиторием.
github/* включает их все, или вы можете указать github/<tool name> where <tool name> is value из документации сервера MCP.
playwrightВсе инструменты драматурга доступны по умолчанию, но сервер настроен только на доступ к localhost.
playwright/* включает их все, или вы можете указать playwright/<tool name> where <tool name> is value из документации сервера MCP. По умолчанию маркер, к которому у него есть доступ, ограничен репозиторием исходного кода.

Сведения о конфигурации сервера MCP

Следующий пример agent profile показывает агента с MCP-сервером и конфигурированным секретом. Кроме того, в свойстве tools frontmatter YAML включен только один инструмент с сервера MCP:

---
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

Свойство mcp-servers в an agent profile — это YAML-представление формата конфигурации JSON, используемого для настройки MCP-серверов для репозиториев на GitHub.

Большинство вложенных свойств совпадают с представлением JSON. В следующих разделах описываются изменения по сравнению с первоначальной реализацией конфигурации MCP в репозиториях на GitHub , которые относятся к custom agents. Дополнительные сведения о формате конфигурации JSON см. в разделе AUTOTITLE.

Тип сервера MCP

Для совместимости stdio тип, используемый в Claude Code и VS Code , сопоставляется с cloud agentтипом local .

Переменные и секреты окружения сервера MCP

Примечание.

Если вашему MCP-серверу нужны секреты или переменные среды, они должны быть настроены как секреты агентов или переменные на уровне организации или репозитория. Дополнительные сведения см. в разделе Настройте секреты и переменные для облачного агента Copilot.

Custom agent Конфигурация MCP поддерживает те же возможности переменной среды и секретной замены, что и существующие конфигурации MCP на уровне репозитория. Подобно конфигурациям на уровне репозитория, секреты и переменные могут быть получены из секретов агентов и переменных для Copilot cloud agent, настроенных либо на уровне организации, либо на уровне репозитория. Синтаксис для ссылок на эти значения был расширен для поддержки распространённых шаблонов, используемых в GitHub Actions и Claude Code.

И конфигурация MCP JSON на уровне репозитория, и конфигурация custom agent YAML поддерживают следующие синтаксические паттерны:

  • $COPILOT_MCP_ENV_VAR_VALUE - Переменная окружения и заголовок
  • ${COPILOT_MCP_ENV_VAR_VALUE} - Переменная окружения и заголовок (синтаксис кода Клода)
  • ${COPILOT_MCP_ENV_VAR_VALUE:-default} - Переменная среды и заголовок с параметрами по умолчанию

Конфигурация YAML поддерживает следующие дополнительные синтаксические шаблоны:custom agent

  • ${{ secrets.COPILOT_MCP_ENV_VAR_VALUE }} - Переменная окружения и заголовок
  • ${{ vars.COPILOT_MCP_ENV_VAR_VALUE }} - Переменная окружения и заголовок

Примеры agent profile конфигураций

В следующих примерах показано, как может выглядеть agent profile для общих задач написания тестов или планирования реализации проекта. Для получения дополнительного вдохновения см. примеры Custom agents в библиотеке настройки. Вы также можете найти более конкретные примеры в коллекции сообщества awesome-copilot .

Специалист по тестированию

В этом примере включаются все инструменты, опуская свойство tools .

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.

Планировщик реализации

В этом примере включается только подмножество инструментов.

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.

Обработка custom agents

Custom agents Имена

В случае конфликтов имен конфигурация самого низкого уровня переопределяет конфигурации более высокого уровня. Это означает, что агент уровня репозитория будет иметь приоритет над агентом уровня организации, а агент уровня организации будет переопределять агент уровня предприятия.

Управление версиями

Custom agent Версионирование основано на Git-коммит-SHA для файла agent profile . Это позволяет создавать ветки или теги с разными версиями custom agents по необходимости. Когда вы назначаете задачу, custom agent она custom agent будет создана с использованием последней версии agent profile репозитория и ветви этого репозитория. Когда агент создаёт pull request, взаимодействия внутри него используют ту же версию custom agent для согласованности.

Обработка инструментов

В tools списке фильтруется набор инструментов, доступных агенту — как встроенных, так и полученных с серверов MCP. Когда вы настраиваете инструменты в agent profile, поведение зависит от того, что вы указываете:

  • Если инструменты не указаны, все доступные инструменты включены
  • Пустой список инструментов (tools: []) отключает все инструменты
  • Определенный список (tools: [...]) включает только эти инструменты

Конфигурации сервера MCP

Для конфигураций сервера MCP существует определённый порядок обработки, который обеспечивает правильное поведение при переопределении: сначала обрабатываются готовые конфигурации MCP (такие GitHub как MCP), затем custom agent конфигурация MCP, а затем конфигурации MCP, указанные через настройки репозитория. Это позволяет каждому уровню переопределять настройки предыдущего уровня по мере необходимости.

Дополнительные материалы