Обучение · Агенты и вайб-кодинг

Глава 22. Ревью

Вопрос, который задают новички: на кой хуй ревью, если план был подробный и агент по нему работал.

Ответ короткий: потому что ошибки бывают и в плане. Ответ длинный занимает эту главу.

Нельзя быть себе судьёй Основа всего дальнейшего.

Агент, который только что написал код, видит в нём стройность и красоту. Не потому что самодовольный, а потому что помнит, как принимал каждое решение, и каждое кажется ему обоснованным. Ровно то же самое происходит с любым живым человеком.

Тот же агент, запущенный в чистой сессии и получивший тот же код без истории его создания, находит претензии. Иногда десятками.

ГЛАВНОЕ ПРО ПРЕДВЗЯТОСТЬ Предвзятость создаётся контекстом, а не моделью. Та же самая модель на той же задаче ведёт себя по-разному в зависимости от того, есть ли у неё история создания результата. Значит, для ревью не обязательно брать другую модель. Обязательно взять чистую сессию.

Практики, которые это заметили, описывали одинаково: у меня одна и та же модель ставит задачи на рефакторинг сама себе, и это не про конкретную модель, они всегда найдут, до чего доебаться, если запускать ревью без предвзятости.

Почему агент в ревью надёжнее Есть и вторая причина, помимо чистого контекста.

Ревью это более узкая работа. Область известна, контекст задан и собирать его самому не надо, отбрасывать нечего. Агент в такой позиции косячит заметно реже, чем когда он одновременно ищет, решает и делает.

Это же объясняет, почему ревью хорошо делегируется, а разработка хуёво: у ревьюера канал передачи задачи широкий, вот код и вот критерии.

Что смотреть в трёх точках Проверка только в конце опаздывает намертво. К финалу упрощения вросли в код, и вычищать их такая ебля, что дешевле написать заново.

Точка Что смотреть Цена пропуска

На входе Как агент понял постановку и что Минуты на переформулировку предлагает делать

Ревью

Точка Что смотреть Цена пропуска

В процессе Чем он занят на самом деле, а не Часы на переделку куска что докладывает

На выходе Совпадает ли результат с замыс- Дни на разбор проекта лом

Первая точка самая дешёвая и самая недооценённая. Агент выдаёт свои намерения уже в первом ответе на постановку, надо просто взять и прочитать.

Оценка вместо чтения кода Отдельная проблема тех, кто в код не смотрит: как понять, что там вообще творится и не насрано ли.

Работающий приём: попросить пересказ обычными словами. Откуда берутся данные, куда записываются, на основании чего принимаются решения, что произойдёт при ошибке.

Подделать такой пересказ трудно. Если под капотом сравнение строк по списку слов, это вылезет в первом же предложении, потому что описывать придётся именно список.

ТРИ ВОПРОСА ВМЕСТО ЧТЕНИЯ КОДА 1. Расскажи обычными словами, что происходит от момента, когда приходят данные, до момента, когда что-то меняется в системе. 2. Назови три места, где это сломается, и что произойдёт в каждом случае. 3. Что ты решил сам, чего я не просил, и почему.

Третий вопрос вылавливает больше всего. Агент почти всегда принимает решения, о которых ты ни сном ни духом, и обычно охотно их выкладывает, если спросить прямо в лоб.

Просьба оценить качество не работает Наблюдение, которое избавляет от иллюзий.

Запрос вида оцени, хорошо ли это спроектировано, даёт бесполезный положительный ответ. Модель скажет, что в целом неплохо, и насыплет общих мест на полстраницы. Толку с этого ни хуя.

Работает только явный список конкретных простых вопросов, на каждый из которых есть однозначный ответ да или нет.

Ревью

ПРОСЬБА, КОТОРАЯ НЕ РАБОТАЕТ ПРОСЬБА, КОТОРАЯ РАБОТАЕТ

Оцени качество архитектуры этого модуля Ответь да или нет на каждый: 1) можно ли добавить новый тип, не трогая существующие ветвления; 2) есть ли место, где ошибка обрабатывается молча; 3) можно ли протестировать эту логику без запуска всей системы; 4) есть ли дублирование с уже существующим модулем

Ответ будет вежливым, общим и положитель- На каждый вопрос есть проверяемый ответ, и ным. Никакой информации. каждое нет это конкретная работа.

Тот же принцип применим и к скиллам, которые проверяют качество: сильные из них построены не на оценке по шкале, а на чётком да или нет, и если нет, отправляют переделывать.

Цикл ревью Схема, устоявшаяся у практиков: несколько итераций полировки и одна схлопывания.

Полировка это когда ревьюер находит претензии, а исполнитель их закрывает. Обычно за три-пять проходов поток претензий иссякает, дальше начинается доёбка до запятых.

Схлопывание это отдельный проход с обратной задачей: убрать нахуй то, что наросло за время полировки. Дублирование, лишние проверки, обходные пути, которые давно никому не нужны.

ЦИКЛ РЕВЬЮ

Проверить в чистой Написать Исправить Схлопнуть лишнее сессии

остались претензии, заходим снова

Без шага схлопывания полировка раздувает проект до невъебенных размеров. Подробно разобрано в главе о том, сколько полировать.

Кто ревьюит Три варианта, и все рабочие.

Та же модель, чистая сессия. Дёшево, доступно всегда, ловит большую часть.

Другая модель. Дороже, но ловит другое: у разных семейств моделей разные слепые зоны. Практики, гонявшие ревью через две модели, отмечали, что уникальных находок у каждой примерно поровну, и именно непересекающиеся находки ценны.

Человек. Самое дорогое и незаменимое ни хуем там, где вопрос не в правильности, а в уместности.

Ревью

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

Что запомнить Нельзя быть себе судьёй. Предвзятость создаётся контекстом, а не моделью, поэтому хватает чистой сессии.

Смотри в трёх точках. Первая, реакция на постановку, самая дешёвая.

Вместо чтения кода проси пересказ обычными словами и вопрос о том, что агент решил сам.

Просьба оценить качество бесполезна. Работает список вопросов с ответом да или нет.

Несколько итераций полировки и обязательная итерация схлопывания.

И если сильные модели два раза подряд находят настоящие проблемы, проверь, не переусложнена ли сама задача.

← Роли и конвейер · оглавление · Эвалы →

Спросить книгу может любой, кто вошёл в Neuraldeep Hub: агент ищет ответ по тексту и приводит цитату со ссылкой на главу.