Перейти до вмісту
онлайн
ukv0.46.1 · 1d135e2

Як ми робимо продукти з AI-ревʼю кожного PR

Mainlane — це один інженер і команда AI-агентів. Звідси слушне питання: хто перевіряє код, який написав AI? Наша відповідь — інший AI, який цього коду не писав, а після нього людина, яка вирішує, чи це йде в реліз.

Ілюстрація: дифф коду з доданими й видаленими рядками, три зауваження ревʼю з червоною, жовтою й зеленою позначкою і людина, що схвалює галочкою.

Mainlane — це один інженер і команда AI-агентів. Звідси слушне питання: хто перевіряє код, який написав AI? Наша відповідь — інший AI, який цього коду не писав, а після нього людина, яка вирішує, чи це йде в реліз.

Цикл

  1. Сесія Claude бере задачу і відкриває pull request.
  2. Окремий ревʼювер стартує в чистій сесії. Він не бачив, як писався код, і читає зміни як колега — без припущень автора.
  3. Зауваження мають три рівні: 🔴 обовʼязково виправити, 🟡 варто виправити, 🟢 бажано.
  4. Сесія-автор виправляє їх і відповідає по кожному пункту. Останній розділ відповіді — «Перевірка»: які команди вона запустила і що вони вивели.
  5. Ревʼювер дивиться нову версію. Цикл повторюється, доки зауважень не лишиться зовсім — навіть 🟢.

Два правила тримають цикл чесним. Зауваження можна оскаржити лише заміром — числом, виводом команди, мутантом, якого тест не спіймав, — а не словами «тут усе добре». А після пʼяти кіл цикл зупиняється і запитує людину, тож не крутиться безкінечно.

Де людина

Жоден агент не мержить. Коли в ревʼю чисто, а CI зелений саме на тому коміті, який бачив ревʼювер, сесія пише «готово до мержу» і чекає. Мерж буває лише після слова людини і лише для того самого коміту.

Що це ловить

Кілька справжніх прикладів із репозиторію цього сайту:

  • У PR, який додав перевірки Lighthouse у CI, ревʼювер помітив, що налаштування збірки CSS дивилося не в ту теку, і стилі макета тихо зникли зі сайту. Ні Lighthouse, ні перевірка доступності цього не помітили. Там же він знайшов закріплений банер мови, який міг закрити елемент у фокусі для тих, хто користується клавіатурою.
  • У перевірці відновлення бекапу бази щоденний тест порівнював відновлені дані самі з собою, а не з експортом, і втрати рядків не помітив би. Те саме ревʼю знайшло повідомлення про помилку, яке могло вивести в лог email клієнта.
  • Під час запуску Content Security Policy звіти від розширень браузера не дали б ніколи досягти мети «тиждень без порушень», а зовнішні картинки в статтях блогу зламалися б після ввімкнення політики.

Жодна з цих помилок не екзотична. Таке людина легко пропускає в пʼятницю ввечері.

У цифрах

Станом на кінець жовтня 2026 цикл працює у восьми репозиторіях: 385 змерджених PR і 1069 ревʼю. Більша частина витрат — сама робота: за останній тиждень жовтня близько трьох чвертей токенів йде на реалізацію і менше десятої — на ревʼю.

Обмеження

Ревʼювер — така сама модель, як і автор, тож сліпі плями в них можуть збігатися. Він не замінює людського ревʼю важливих змін, а текст усередині PR вважає даними, а не інструкціями. Зате він замінює крок, який соло-розробники зазвичай пропускають: другу пару очей на кожній зміні.

Хочете такий самий процес у своїй команді? Це одна з наших послуг — напишіть нам.