Skip to main content
Skip to content

Создание и использование пользовательских агентов для GitHub Copilot CLI

Создавайте специализированных агентов с индивидуальным опытом для конкретных задач разработки.

Введение

Custom agents позволят вам адаптировать Copilotсвои знания под конкретные задачи.

Когда вы предлагаете Copilot выполнить задачу, он может выбрать один из ваших custom agents, если Copilot считает, что экспертиза агента подходит для задачи.

Когда делегаты основного агента работают в объект custom agent, работа выполняется подагентом с собственным окном контекста. Это позволяет специалисту сосредоточиться на назначенной задаче без загромождения контекста основного агента. Вы также можете выбрать сеанс напрямую custom agent .

Дополнительные сведения см. в разделе Пользовательские агенты.

Создание custom agent

Каждый custom agent из них определяется файлом Markdown с .agent.md расширением. Вы можете создать эти файлы самостоятельно или добавить их внутри CLI, как описано в следующих шагах.

  1. В интерактивном режиме введите /agent.

  2. Нажмите клавишу N , чтобы создать новый агент.

  3. Выберите один из вариантов создания custom agent в репозитории или в вашем домашнем каталоге:

    • Project (.github/agents/)

    • Пользователь (~/.copilot/agents/)

    Примечание.

    Если личный и репозиторий custom agents имеют одинаковый идентификатор, используется личный агент. Для агента в корне agents каталога идентификатор — это имя файла без .agent.md расширения..md Необязательное name поле не влияет на дедупликацию. Агенты с одинаковыми идентификаторами, name но разные идентификаторы загружаются, но если --agent значение соответствует нескольким идентификаторам или nameинтерфейс командной строки использует соответствие с наивысшим приоритетом.

  4. Выберите — Copilot создать custom agent файл или сделать его самостоятельно.

Вариант 1: Использовать Copilot

Введите данные агента, которого хотите создать. Опишите экспертизу агента и когда его следует использовать. Copilot Я возьму введённое вами описание и использую его, чтобы составить профиль агента для вас.

Например, можно ввести следующее:

I am a security expert. I check code files thoroughly for potential security issues. Use me whenever a security review/check/audit is requested for one or more code files, or when the word "seccheck" is used in a prompt in reference to code files.

I will identify potential problems, such as code that:

- Exposes secrets or credentials
- Allows cross-site scripting
- Allows SQL injection
- Contains vulnerable dependencies
- Allows authentication to be bypassed

If any problems are identified, create a single GitHub issue in this repository on GitHub.com with details of problems, giving full details of each issue, including, but not limited to, risk level and recommended fix.

После Copilot завершения формирования начального профиля агента отображаются следующие опции:

  • Продолжить
  • Просмотр содержимого
  • Повторите попытку
  • Quit

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

Чтобы завершить процесс создания, выберите «Продолжить».

Вариант 2: Создать профиль агента вручную

Когда вы решите создать файл агента самостоятельно, вас проведут через ряд запросов, чтобы заполнить необходимую информацию для создания профиля агента.

  1. Введите имя агента. Имя, которое вы вводите, — это имя, которое отображается при перечислении доступных агентов. Версия этого файла будет использоваться как имя файла агента — например, если вы введёте «Security expert», файл агента будет называться security-expert.agent.md.

    Совет

    Для удобства custom agent использования при программном использовании рекомендуется выбрать имя, состоящее только из строчных букв и дефисов.

  2. Введите описание, в котором указано, какой экспертизой обладает этот агент и когда его следует использовать.

  3. Введите инструкции о том, как должен вести себя агент, включая конкретные рекомендации, действия или ограничения, которым следует следовать.

  4. Выбирайте, к какому инструменту вы custom agent должны иметь доступ.

    По умолчанию custom agents у меня есть доступ ко всем инструментам. Если вы ограничиваете доступ агента, в файл агента добавляется tools спецификация.

  5. Перезагрузите CLI, чтобы загрузить новый custom agent.

Использование custom agent

Custom agents Можно использовать следующим образом:

  • Команда Slash

    Войдите /agent в интерактивный режим и выберите из списка доступных custom agents. Затем введите запрос, который будет передан выбранному агенту.

    Примечание.

    Стандартные агенты CLI не включены в этот список. Для получения дополнительной информации о стандартных агентах см. Пользовательские агенты.

  • Явная инструкция

    Скажите Copilot использовать конкретного агента. Рассмотрим пример.

    Use the security-auditor agent on all files in the /src/app directory
    
  • По выводу

    Используйте подсказку, которая запускает использование конкретного агента на основе описания в файле агента. Рассмотрим пример.

    Check all TypeScript files in or under the src directory for potential security problems
    

    или (где «seccheck» определяется как триггерное слово в профиле агента):

    seccheck /src/app/validator.go
    

Copilot Автоматически определит, какой агент вы хотите использовать.

  • Программно

    Укажите, что custom agent хотите использовать в командной строке. Рассмотрим пример.

    copilot --agent security-auditor --prompt "Check /src/app/validator.go"
    

    В этом примере security-auditor — это идентификатор custom agentобъекта . Идентификатор является производным от имени файла без .md расширения .agent.md . В этом случае путь к файлу имеет значение agents/security-auditor.md или agents/security-auditor.agent.md. Если файл находится в подкаталоге, имя подкаталога agentsвключается в идентификатор, а разделитель каталога заменен на --. Таким образом, у файла agents/security/security-auditor.agent.md агента будет идентификатор security--security-auditor. Кроме того, вместо идентификатора name можно использовать значение поля, заключив его в кавычки. Например: --agent "Security Auditor".

Делегирование ориентированных задач в определенную модель

Можно настроить custom agent использование определенной модели.

Это может быть особенно полезно, если вы хотите делегировать небольшие, хорошо определенные задачи в модель custom agent , которая использует локально размещенную модель, используя облачную модель для основного сеанса. Такой подход позволяет, например, делегировать однофайловое изменение или исправление custom agent ориентированного теста для локальной модели, а затем просмотреть результат основного агента.

Сначала добавьте локальную модель в интерфейс командной строки. См . раздел AUTOTITLE.

  1. Создайте ~/.copilot/agents/local-coder.agent.md со следующим содержимым:

    ---
    name: local-coder
    description: >
      Use for small, well-defined coding tasks, such as a
      single-file change or a focused test fix.
    model: LOCAL-PROVIDER/LOCAL-MODEL
    model-policy: required
    tools: ["read", "grep", "glob", "edit", "execute"]
    strict-tools-list: true
    include-custom-instructions: true
    ---
    
    Complete only the requested task. Inspect the relevant
    code, make the smallest correct change, and run focused
    checks. Report what changed and any remaining issues.
    
  2. Замените LOCAL-PROVIDER/LOCAL-MODEL соответствующим поставщиком идентификатор локальной модели, а не отображаемое имя. Для модели в providers.json, объедините запись provider модели и id значения, разделенные косой чертой вперед. Например, "provider": "local" и "id": "qwen3:8b" дает вам local/qwen3:8b.

model-policy: required требует настроенной модели, а не рассматривать ее в качестве предпочтения.

strict-tools-list: true ограничивает агент перечисленными группами инструментов без добавления обычных инструментов по умолчанию.

include-custom-instructions: true сохраняет инструкции репозитория в действии для подагента.

  1. Перезапустите интерфейс командной строки для загрузки агента. В сеансе с использованием облачной модели явным образом делегируют ограниченную задачу:

    Use the local-coder agent to add an empty-input test for
    parseConfig in src/config.test.ts. Do not change other
    files. Then review the result in the main session.
    

    Локальная модель выполняет делегированную задачу, но главный агент по-прежнему получает результат. Это не делает весь сеанс локальным или автономным.

Применение пользовательских инструкций репозитория к custom agent

Пользовательские файлы инструкций, такие как .github/copilot-instructions.md, AGENTS.mdи CLAUDE.md— рассказать Copilot , как работать в репозитории. Дополнительные сведения см. в разделе Добавление пользовательских инструкций репозитория для GitHub Copilot.

При Copilot запуске в custom agent качестве подагента ( для обработки части более крупной задачи) подагент по умолчанию не следует пользовательским инструкциям репозитория. Это позволяет субагенту сосредоточиться на конкретной задаче, которая была предоставлена.

Если вы хотите, чтобы подагент следует соблюдать соглашения репозитория, например агент, который просматривает или редактирует код, добавляется include-custom-instructions: true в интерфейсный элемент файла агента:

---
name: RepoAwareReviewer
description: Reviews a change against this repository's conventions
tools: ["*"]
include-custom-instructions: true
---

Review the change and flag anything that violates the repository's conventions.

Примечание.

Этот параметр влияет только на агент, если он выполняется в качестве подагента. То custom agent , что вы выбираете себя с --agentпомощью , /agentили путем вывода, уже следует пользовательским инструкциям репозитория, поэтому этот параметр не действует в этом случае.

Дополнительные сведения, включая взаимодействие этого параметра с параметром --no-custom-instructions , см. в разделе Справочник команды GitHub Copilot CLI.

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