TGViewer
Саша Раковский Саша Раковский @rakovskyxp · 833 subscribers
Post #114 722
AI CI

В агентской разработке остро проявился ещё один сдерживающий фактор, который раньше не так сильно болел - мерж-конфликты.

Сейчас на своём пет-проекте я работаю один, но нет ни одного дня, чтобы я по неосторожности не вляпался в конфликт одной сессии с другой. Обычно такое происходит по несколько раз в день.

Как так?

Поскольку среднее время итерации в моём фреймворке - около 10 минут, а ревью - 1-2 минуты, то у меня всегда в параллель едут 4-6 сессий. Плюсом к этому фреймворк настроен так, что он постоянно агрессивно рефакторит все, к чему ни прикоснётся. Спасибо тестам, это можно делать хотя бы без страха что-то сломать. В итоге 6 сессий в параллель делают правки по всему коду и, конечно, неизбежно друг с другом сталкиваются то тут, то там.

В целом, ии очень неплохо разруливает конфликты. Часто даже лучше, чем человек. Но, порой, все равно что-то может и пропустить. Поэтому лучше до конфликтов не доводить вообще.

Как быть?

Как не влипать в постоянные конфликты хотя бы с самим собой? В целом, практика известна уже 30 лет, я о ней писал кучу раз. Называется она "непрерывная интеграция", и это одна из самых непонятых практик во всей индустрии. 

Чтобы не было конфликтов, в каждый момент времени все сессии должны видеть изменения других сессий в режиме реального времени. Как в Google Docs. В реальности это, конечно, недостижимо, но можно приблизиться к этому, синхронизируя их максимально часто между собой. 

По определению непрерывная интеграция - это когда разработчики пушат в мастер и пуллят оттуда не реже раза в день. В некоторых командах в некоторых случаях и на некоторых продуктах приходится повышать эту частоту до десятков раз в день. Именно поэтому практика называется НЕПРЕРЫВНАЯ интеграция. Конечно, пулл-реквесты и прочая церемония в такой ситуации идёт в сад, а ревью проводится либо в паре, либо постфактум на уже смерженном коде. Ну и требования к автотестированию, дисциплине и уровню разработчиков, конечно, соответствующие.

Сейчас на своём пет-проекте, чтобы синхронизировать работу сессий, мне приходится пушить каждую сессию где-то раз в час: после каждого готового сценария. При этом, я бы пушил и чаще, просто я начинаю упираться в квоты Яндекс облака: чтобы прогнать один сьют на полторы тысячи тестов за 10 минут, пайплайну приходится поднимать 14 раннеров и 7 виртуалок под бэк и фронт. Два пайпа в параллель - в 2 раза больше машин.

И вот один из самых интересующих меня вопросов: сколько человек реально сможет потянуть одна кодовая база в этом плане? Моё ощущение - не больше трёх.

Какие есть альтернативы? 

1. Больше man-in-the-loop, меньше параллельных сессий. Это либо более короткие автономные сессии, либо длинные автономные сессии с параллельной ручной разработкой. По идее, тут выходит меньше производительность труда, но нет недостатков от множества параллельных сессий: конфликтов и сложностей с частой сменой контекста.
2. Меньше рефакторинга. Минусы понимаете сами.
3. Ещё больше машинок в пайпе и ещё больше коммитов в мастер. Это правильный подход, хоть и стоит денег.
4. Можно работать без пайпа, гоняя тесты локально. Но это менее надёжно и увеличивает длину каждой итерации ещё сильнее.
5. Можно отдавать разруливание конфликтов ии и надеяться, что он ничего при этом не упустит. Но это я вообще не рекомендую.

Зы: кто ждёт видос по фреймворку, сорян, запрокрастинировал. Занимаюсь более важными проектами сейчас.
www.extremeprogramming.org Continuous Integration Continuous integration means integrate every couple hours or sooner.
  • 👍 9
  • ❤ 3
More from @rakovskyxp
  1. Oct 16, 2026Очередной топ-3 Последние посты были пустоватыми, жвачка такая, воздух погонять. Люди жалу…
  2. Oct 15, 2026В марте 2025 Дарио сказал, что в течение 12 месяцев 100% кода будут писать нейросети. Коне…
  3. Oct 9, 2026Я полгода держался, но нет. Теперь будут регулярные разборы ахинеи от этого чувака, извини…
  4. Oct 9, 2026Или вот такое ещё. Короче, если подписаны, то фильтруйте все до каждой запятой.
  5. Oct 9, 2026Вот ещё немного ахинеи
  6. Oct 9, 2026Сейчас чем дальше, тем популярнее становится вот этот чувак. Будьте осторожнее, человек не…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →