{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Андрей Крисанов: заметки с тегом SDLC",
    "_rss_description": "Блог Андрея Крисанова о разработке в эпоху ИИ: прикладной ИИ, инфраструктура ИИ, ИИ-нативные продукты и управление инженерными командами.",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/agenticeng.ru\/tags\/sdlc\/",
    "feed_url": "https:\/\/agenticeng.ru\/tags\/sdlc\/json\/",
    "icon": "https:\/\/agenticeng.ru\/pictures\/userpic\/userpic@2x.jpg?1775503436",
    "authors": [
        {
            "name": "Андрей Крисанов",
            "url": "https:\/\/agenticeng.ru\/",
            "avatar": "https:\/\/agenticeng.ru\/pictures\/userpic\/userpic@2x.jpg?1775503436"
        }
    ],
    "items": [
        {
            "id": "10",
            "url": "https:\/\/agenticeng.ru\/all\/ci-cd-v-epohu-agentov\/",
            "title": "CI\/CD в эпоху агентов",
            "content_html": "<p>С интересом наблюдаю, как инженерные процессы и инструменты, к которым мы привыкли за десятки лет, переосмысливаются под ИИ-нативный подход. Например, классический CI\/CD, построенный вокруг pull request-ов и человеческого темпа разработки, плохо подходит для мира, где код всё чаще пишут агенты.<\/p>\n<p>До работы с агентами цикл разработки выглядел так: человек медленно пишет код → оформляет PR → CI прогоняет линтеры, тесты и сборку → другой человек ревьюит изменения → изменения попадают в основную ветку.<\/p>\n<p>В такой парадигме долгое время работы CI-пайплайна часто было ожидаемым и терпимым, потому что самая большая задержка всё равно была на стороне команды: разработчик писал код часами или днями, ревью тоже ждали часами или днями, PR жил долго.<\/p>\n<p>С агентами всё меняется: код генерируется быстро и относительно дёшево → задач становится больше → ветки с изменениями плодятся быстрее → PR становится слишком медленной и неудобной единицей работы → валидацию изменений нужно двигать внутрь агентного цикла.<\/p>\n<p>Но CI\/CD вряд ли не исчезает. Скорее он перестанет быть контуром вокруг которого происходит работа с изменениями и превратится в низкоуровневый слой для быстрой проверки изменений внутри агентного цикла. Почему так?<\/p>\n<p>CI\/CD в текущем виде был спроектирован для мира, где человек — главный агент.<\/p>\n<p>Человек держит в голове некое намерение: например, «хочу добавить кнопку оформления заказа». Потом проходит цикл: намерение → код → pull request → CI → код-ревью → merge. На каждом этапе может быть откат назад:<\/p>\n<ul>\n<li>PR не по принятому формату → назад к коду<\/li>\n<li>тесты упали → назад к коду<\/li>\n<li>ревьюер попросил изменить API → назад к коду<\/li>\n<li>merge queue показывает, что ветка отстаёт от main → назад к коду<\/li>\n<\/ul>\n<p>Это уже агентный цикл, просто раньше агентом был человек. И в этом цикле роль harness-а (упряжки для агента) тоже выполнял человек: разработчик сам фокусировался на цели, писал код, запускал проверки, обрабатывал обратную связь от коллег и инструментов и доводил изменение до слияния.<\/p>\n<p>Когда код пишет не человек, а агент, меняются масштабы:<\/p>\n<ul>\n<li>много агентов могут параллельно выполнять работу<\/li>\n<li>появляется много короткоживущих веток<\/li>\n<li>растёт количество PR<\/li>\n<li>частые исправления становятся нормальной частью агентного цикла<\/li>\n<\/ul>\n<p>Проблема не только в том, что CI в такой парадигме будет медленным. Проблема в том, что сам процесс слияния изменений становится бутылочным горлышком.<\/p>\n<p>Если сравнить git с журналом изменений, то все сгенерированные агентами изменения должны попасть в него последовательно. Это начинает напоминать проблему из мира баз данных: транзакции, блокировки, порядок применения изменений (пресловутый serializable). Когда людей мало и они работают медленно, окно для слияния изменений может быть долгим по времени. Когда агенты генерируют пачки изменений параллельно, основная ветка постоянно обновляется, и шанс, что рабочая ветка быстро устареет, резко возрастает.<\/p>\n<p>Сейчас, когда кодинговые агенты всё больше становятся привычным инструментом для команд, цикл разработки трансформируется примерно в такую схему:<\/p>\n<pre class=\"e2-text-code\"><code class=\"plain\">Цель + план\n      ↓\nАгентный цикл:\n  генерация кода\n  внутренняя валидация: сборка, тесты, линтеры\n  внешняя валидация: человек или специализированные агенты\n  исправления по обратной связи\n      ↓\nMerge Queue\n      ↓\nРепозиторий<\/code><\/pre><p>Кажется, следующим шагом будет сокращение участия человека внутри быстрого агентного цикла. То есть разработчику уже не придётся смотреть каждую итерацию изменений и каждый PR. Для этого появятся специализированные агенты. Можно легко представить такую агентную команду:<\/p>\n<ul>\n<li>основной кодинговый агент<\/li>\n<li>агент-ревьюер по безопасности<\/li>\n<li>агент-ревьюер по производительности<\/li>\n<li>агент-тестировщик<\/li>\n<li>агент-архитектор<\/li>\n<li>агент, оценивающий функциональную корректность реализации по требованиям<\/li>\n<\/ul>\n<p>Человеку уже не нужно будет читать каждый diff, как это было раньше. Он будет смотреть на более высокий уровень:<\/p>\n<ul>\n<li>была такая цель<\/li>\n<li>вот что получилось<\/li>\n<li>вот summary изменений<\/li>\n<li>вот результат security-проверок<\/li>\n<li>вот риски<\/li>\n<li>вот демонстрация работы<\/li>\n<\/ul>\n<p>И только после этого принимать решение: approve, reject или «нужны правки».<\/p>\n<p>Также ставлю на то, что изменится сама концепция merge queue. Обычной очереди на слияние изменений будет недостаточно. Если много агентов параллельно меняют один и тот же код, системе придётся не просто запускать тесты перед merge, а группировать изменения, разрешать конфликты, проверять совместимость и выстраивать безопасный порядок применения.<\/p>\n<p>Изменятся и окружения для агентных проверок. Они станут более stateful: с заранее подготовленными зависимостями, прогретыми кэшами, локальным контекстом и сохранённым состоянием между итерациями. Иначе агентный цикл будет слишком медленным.<\/p>\n<p>В итоге мы получим не просто CI job после git push, а что-то ближе к continuous compute: вычислительную среду, которая постоянно работает вокруг intent-а, кода, валидации и изменений-кандидатов на слияние с основной веткой.<\/p>\n",
            "summary": "ИИ-агенты меняют CI\/CD: код генерируется быстрее, PR становятся узким местом, а валидация переезжает внутрь агентного цикла. Разбираю, почему классический software delivery придётся переосмыслить.",
            "date_published": "2026-05-14T00:52:40+03:00",
            "date_modified": "2026-05-14T00:52:38+03:00",
            "tags": [
                "AI",
                "CI\/CD",
                "SDLC"
            ],
            "_date_published_rfc2822": "Thu, 14 May 2026 00:52:40 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "10",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        }
    ],
    "_e2_version": 4199,
    "_e2_ua_string": "Aegea 11.5 (v4199)"
}