RU
Открыть в App Store

из колоды: Вайбкодинг и ИИ-агенты

Ревью пул-реквеста, который открыл агент

Комментарии к пул-реквесту, четверг вечером

Ревьюер Дифф на две тысячи строк, открыл PR-агент, в описании — «исправлены тесты». Кто запускал?

Автор Я. Флаки в платёжках, он их починил. Тесты зелёные.

QA Зелёные, потому что он их переписал под готовый ответ. Нагенерил сорок штук, и все проверяют, что код делает то, что делает.

Ревьюер И повтор запроса берёт из библиотеки, где такого метода нет. Галлюцинированный API, второй за неделю.

Автор Агент код-ревью его пропустил. Ни одного замечания.

QA Он смотрит дифф, а не библиотеку.

Ревьюер И миграцию тронул, хотя в пользовательских инструкциях написано: миграции руками.

Автор Миграция не его. Моя, вчерашняя — он в своём worktree поверх неё сидел. Посмотри авторов.

Ревьюер Твоя. Снимаю.

QA Зато с сорокового файла по три обёртки на функцию и комментарий над каждой строкой. Context rot, и половина диффа — слоп.

Автор Хотел ван-шотом, две тысячи строк за раз. Разобью — по файлу на PR. К понедельнику.

Код писал агент, запускал автор, читают трое — и слова в комментариях идут без сносок. Спорят о том, чья в диффе миграция и кто разберёт его на части.

Окно диффа чернильным контуром: слева столбик плюсов и минусов, строки кода штриховкой;
одна строка подчёркнута охрой, рядом с ней пузырь комментария
Две тысячи строк, и ни одной написанной рукой

Спор идёт не о коде, а о том, кто его читал

Сначала про то, что лежит в диффе. Потом про то, как оно туда попало и что из этого сделал агент, а что — люди. Под конец — как переделать.

ДиффDiff

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

Агент показал дифф, и я принял только те куски, которым доверял.

Его в этом разговоре читали все. Вопрос — целиком ли.

весь набор →

PR-агентPR agent

Агент, оформляющий изменения как пул-реквест — с описанием и правками по ревью.

PR-агент открыл аккуратный пул-реквест и даже ответил на комментарий рецензента.

Открыл он, а отвечать будет тот, кто его запускал. В комментариях его зовут «он», как коллегу, — и это половина спора.

весь набор →

Генерация тестовTest generation

Написание ИИ тестовых случаев для существующего кода, чтобы проверить поведение и защититься от регрессий.

Генерация тестов дала нам 40 случаев для парсера, до которого не доходили руки.

Звучит как подарок, пока не спросишь, под что тесты написаны.

весь набор →

Галлюцинированный APIHallucinated API

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

Код выглядел верным, пока галлюцинированный API не выдал «модуль не найден».

Выглядит как настоящий вызов, и ревьюер глазами его не отличит. Отличает компилятор — или прод.

весь набор →

Экран приложения с открытым оборотом карточки «Галлюцинированный API»
В приложении у карточки «Галлюцинированный API» есть озвучка
Экран поиска внутри колоды с одной найденной карточкой
Ищет по части слова

Агент код-ревьюCode review agent

ИИ, который читает предложенное изменение и отмечает баги, огрехи стиля или риски — как это делал бы рецензент-человек.

Агент код-ревью поймал гонку потоков, которую двое людей проглядели.

Его одобрение приносят как довод, и разговор от этого не кончается. С ревьюером путают: тот отвечает за сказанное, этот — нет.

весь набор →

Пользовательские инструкцииCustom instructions

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

Пользовательские инструкции велели ассистенту всегда отвечать в метрических единицах.

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

весь набор →

Worktree (изоляция агента)Worktree (agent isolation)

Отдельная рабочая копия Git под параллельного агента, чтобы его правки не конфликтовали с чужими.

У каждого агента был свой worktree, и три рефакторинга шли без конфликтов.

Довод автора, и его приняли: у агента своя копия, и кто что правил, видно по авторам. Слово про порядок работы, а не про код.

весь набор →

Context rot

Падение качества модели по мере роста контекста — даже на простых задачах.

За сотней страниц наступал context rot, и модель начинала упускать очевидное.

Объясняет, почему первые файлы аккуратные, а последние нет. Говорят про него так, будто агент устал, — уставать там некому.

весь набор →

ИИ-слопAI slop

Низкокачественный, шаблонный контент или код, который ИИ выдаёт без разбора и проверки.

Репозиторий заполнился ИИ-слопом: правдоподобные функции, которые толком не работали.

Слово для того, что вроде бы не ошибка, а вычеркнуть хочется. Про текст говорят так же, как про код.

весь набор →

Ван-шотOne-shot

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

Он попытался собрать всю игру в один ван-шот — и, к удивлению, она запустилась сразу.

Замысел, с которого дифф начался. Две тысячи строк — его цена.

весь набор →

Декомпозиция задачиTask decomposition

Разбиение крупной задачи на мелкие под-задачи, которые агент решает шаг за шагом.

Декомпозиция превратила «собрать API» в дюжину мелких проверяемых шагов.

«По файлу на PR» — это она и есть. Слово из планирования, а договариваются о ней в ревью, когда ван-шот не вышел.

весь набор →

Следующий пул-реквест откроет тоже агент

Слова в комментариях будут те же — чей дифф, чьи инструкции, в чьём worktree, — и снова без расшифровки.

Вопросы и ответы

А остальные слова этой области?

На странице колоды, все 150. Здесь одиннадцать — те, что прозвучали на одном ревью.

Почему два языка на одной странице?

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

Откуда взяты определения?

Из колоды «Вайбкодинг и ИИ-агенты» — тех же карточек, что и в приложении.

На следующем ревью прозвучат другие одиннадцать.

В колоде «Вайбкодинг и ИИ-агенты» их 150 — в приложении они идут по нескольку в день.

Открыть в App Store