00:00:00GitHub только что запустил очень интересный инструмент. Он называется «agentic workflows» и призван упростить
00:00:05управление CI/CD-конвейерами, позволяя оркестровать рабочие процессы с помощью программирования
00:00:12на естественном языке. Это отличная идея, которая может модернизировать способы поддержки и модерации
00:00:18наших репозиториев. В этом видео мы подробно разберем, как работают агентные рабочие процессы GitHub,
00:00:24и я покажу вам, как настроить их для вашего репозитория. Будет очень интересно,
00:00:28так что приступим.
00:00:30GitHub agentic workflows — это новый проект GitHub Next и Microsoft Research, созданный в рамках
00:00:40их глобальной концепции под названием Continuous AI. Цель — уйти от «глупой» автоматизации к концепции,
00:00:47которую они называют Productive Ambiguity. Суть в том, что традиционные GitHub Actions детерминированы:
00:00:54если происходит X, нужно сделать Y. Но такие задачи, как сортировка багов, обновление документации
00:01:00или поиск архитектурных изъянов, требуют оценки и суждения. Агентные рабочие процессы позволяют вам
00:01:06описать эти критерии оценки обычным текстом Markdown и исполнить их. Но это также означает,
00:01:11что необходимы определенные ограничения, поэтому система ориентирована прежде всего на действия.
00:01:16По сути, она наследует всю экосистему GitHub Actions: прозрачные логи, управление секретами
00:01:23и проверяемые права доступа. Таким образом, вы получаете интеллект агента с мерами безопасности
00:01:29стандартного CI/CD-конвейера. Эти агенты по умолчанию работают с минимальными правами, то есть они
00:01:35могут анализировать код и предлагать улучшения, но не могут выполнять операции записи без
00:01:41явного одобрения через заранее заданные защищенные пути. В общем, идея в том, чтобы создать
00:01:46AI-помощника для DevOps, но с четкими барьерами безопасности. И настраивается это крайне
00:01:52просто. Вам лишь нужно добавить расширение через GitHub CLI, и всё готово.
00:01:57Сам процесс работы состоит из двух этапов. Сначала вы создаете Markdown-файл с
00:02:03инструкциями для вашего агента, затем запускаете команду «gh aw compile» для этого файла, и система
00:02:10считывает ваши инструкции на естественном языке, превращая их в надежный, защищенный рабочий процесс GitHub Actions,
00:02:16хранящийся в специальном файле .log.yaml. Затем вы пушите изменения в репозиторий, и
00:02:22агент активируется автоматически. Давайте проведем небольшое демо, чтобы увидеть это в деле. Здесь
00:02:29я создал пустой проект и для начала просто создам простой Python-файл с несколькими
00:02:34переменными данных. Мы вернемся к этому файлу чуть позже, а пока этого достаточно.
00:02:39Теперь нам нужно создать папку .github, а внутри нее — подпапку workflows. И обязательно
00:02:46соблюдайте это соглашение об именах, чтобы система понимала, где искать Markdown-файлы при компиляции.
00:02:51Затем создадим Markdown-файл с названием agent.md. Этот файл фактически
00:02:57состоит из двух частей. Первая часть — это заголовок, где вы указываете права доступа агента.
00:03:03Также нужно указать, какого AI-провайдера вы будете использовать. В моем случае это будет
00:03:09Copilot. А всё, что идет следом — это просто свободная интерпретация. Вы описываете на обычном языке,
00:03:15что должен делать агент. Для демо я создам «Big O аудитора», чья задача —
00:03:21проверять коммиты, вычислять вычислительную сложность любого нового кода и, если он неэффективен,
00:03:27определять это и предлагать способ оптимизации. Также я попрошу его выводить результаты
00:03:33в виде таблицы в формате Markdown для быстрого ознакомления. Теперь я вернусь в корневой каталог и запущу
00:03:38gh-aw-compile. Если всё верно, мы получим сообщение о том, что
00:03:45новый рабочий процесс скомпилирован. И если мы посмотрим на дерево файлов, то заметим, что теперь у нас есть
00:03:51файл .log.yaml, автоматически созданный скриптом, а также новая папка aw,
00:03:57содержащая лог-файл GitHub Actions. Теперь мы можем запушить эти изменения в репозиторий. И
00:04:03последнее: нужно установить API-ключ выбранного AI-провайдера в качестве секрета, чтобы агент
00:04:10мог получить к нему доступ. Я выбрал движок Copilot, поэтому указываю здесь свой GitHub-токен для Copilot.
00:04:15Теперь, когда всё готово, я отправлю все изменения на GitHub. На данном этапе
00:04:21агентный процесс должен быть настроен и готов к активации. А так как я настроил запуск
00:04:26при любых новых пулл-реквестах, давайте создадим тестовый пулл-реквест.
00:04:32Я создам новую ветку в репозитории. И в этой ветке добавлю в файл main.py новую функцию,
00:04:37которая будет искать совпадающие записи. Но я специально напишу эту функцию так,
00:04:44чтобы ее сложность составляла крайне неэффективное O(N²). Если я открою пулл-реквест с таким кодом,
00:04:50наш агент должен распознать функцию как неэффективную и предложить улучшения. Что ж,
00:04:56попробуем. Я добавил код, запушил изменения, и теперь на GitHub откроем
00:05:02новый пулл-реквест. И вы заметите, что как только я открою запрос, агентный пайплайн
00:05:08сразу же активируется и начнет обработку изменений в коде. На выполнение у него ушло
00:05:13примерно три минуты. Теперь мы видим, что наш аудитор Big O действительно определил функцию
00:05:20как неэффективную. Он дает подробное объяснение, почему это так, в виде красивой таблицы,
00:05:26как я и просил, а затем идет раздел с предложением лучшего решения. И посмотрите, он даже
00:05:33рассчитал прирост производительности, который мы получим при внедрении оптимизации. Надеюсь, этот пример
00:05:39показал вам, как при минимальных настройках можно использовать агентные процессы для создания
00:05:44дополнительных проверок безопасности кода. Именно здесь вступает в дело «продуктивная неопределенность»:
00:05:51мы доверяем агенту использовать собственное суждение для достижения высокоуровневых целей, таких как качество и скорость кода.
00:05:56Конечно, это пока исследовательский прототип от GitHub Next, и вы наверняка столкнетесь
00:06:01с задержками. И вам определенно всё еще нужен человек для финальной проверки результатов.
00:06:07Но это часть глобальной концепции Continuous AI, где мы используем мощь AI-агентов
00:06:14для автономного мониторинга и управления CI/CD-конвейерами. И раз уж зашла речь о самоуправляемых системах,
00:06:19если вы управляете продакшн-средами, то знаете, что поддержание стабильности — это работа 24/7.
00:06:25Поэтому я рекомендую обратить внимание на Better Stack, так как мы недавно запустили своего
00:06:31AI SRE-помощника, который помогает справляться с инцидентами на дежурстве, пока вы спите. Чтобы вы могли
00:06:38перестать тушить пожары и сосредоточиться на написании кода. Вот и всё, друзья. Если вы нашли
00:06:42это видео полезным и информативным, дайте знать, нажав на кнопку «лайк» под видео.
00:06:47И не забудьте подписаться на наш канал. С вами был Андрис из Better Stack, увидимся в
00:06:52следующих видео.