
GitHub Copilot CLI: кастомные агенты превращают одноразовые запросы в повторяемые воркфлоу
GitHub представил кастомные агенты для Copilot CLI, позволяющие описать стек и процессы команды, автоматизировать терминальные запросы и сохранять их как проверяемые рабочие процессы.
GitHub объявил о новой возможности custom agents в GitHub Copilot CLI. Эта функция позволяет разработчикам описать свой технологический стек, внутренние скрипты и командные практики в виде небольших «агентов», после чего Copilot CLI будет использовать их для понимания контекста и генерации более точных ответов.
Как это работает
- Определение агента – в репозитории создаётся каталог
.copilot/agentsс YAML‑файлами, где указываются команды, переменные окружения, используемые инструменты и типичные сценарии. - Контекстный запрос – при вводе команды в терминале Copilot автоматически подбирает подходящий агент, учитывая язык проекта, фреймворк и даже текущие ветки Git.
- Повторяемость – сгенерированные ответы можно сохранять как «workflow», который легко ревьюить, версионировать и запускать в CI/CD (например, в GitHub Actions).
Пример
# .copilot/agents/python-test.yml
name: PythonTest
description: Запуск тестов в проектах на pytest
commands:
- pytest -q
environment:
PYTHONPATH: src/
После добавления файла python-test.yml запрос copilot run tests автоматически выполнит pytest -q с нужными переменными.
Что это даёт
- Сокращение контекст‑свитчинга – разработчики больше не переключаются между документацией и терминалом.
- Стандартизация процессов – одинаковые команды для всей команды, проверяемые в pull‑request.
- Улучшенный код‑ревью – workflow‑файлы могут быть обсуждены в PR, как любой другой код.
Более подробно о кастомных агентах и их настройке можно узнать в оригинальном посте на GitHub Blog.
Для разработчиков эта функция открывает путь к полной автоматизации рутинных терминальных задач без написания отдельного скрипта. Кастомные агенты позволяют хранить «знание о стеке» в репозитории, делая его доступным каждому участнику команды. Однако потребуется поддерживать актуальность YAML‑описаний и следить за безопасностью исполняемых команд, особенно в публичных репозиториях.

