Каждая ошибка становится правилом:
как diffray учится на вашем фидбеке
Почему AI code review без обучения на фидбеке — это просто дорогой генератор шума
Борис Черни, создатель Claude Code, недавно рассказал о своём рабочем процессе, и одна фраза из его треда взорвала сообщество разработчиков: «Каждый раз, когда мы видим, что Claude делает что-то неправильно, мы добавляем это в CLAUDE.md, чтобы Claude знал не делать это в следующий раз».
Продуктовый лидер Aakash Gupta резюмировал идеально: «Каждая ошибка становится правилом». Чем дольше команда работает с ИИ, тем умнее он становится.
Это именно та философия, на которой построен diffray. Сегодня мы покажем, как это работает под капотом.
Проблема: загрязнение контекста убивает качество ревью
Прежде чем говорить о правилах, нужно понять главный технический вызов AI code review — загрязнение контекста.
Исследования Anthropic показывают, что LLM, как и люди, теряют фокус по мере заполнения контекстного окна. Исправления накапливаются, побочные обсуждения наслаиваются, устаревшие выводы инструментов остаются. Результат предсказуем:
Ложные срабатывания
ИИ находит «проблемы», которых не существует
Галлюцинации
Воображаемые баги и несуществующие паттерны
Дрейф целей
Ревью становятся всё менее релевантными
JetBrains Research (декабрь 2025) количественно это подтвердил: контексты агентов растут так быстро, что становятся дорогими, но не дают значительно лучшей производительности. Больше контекста ≠ лучшие результаты.
Решение: специализированные субагенты с изолированным контекстом
Борис Черни использует субагентов как «автоматизированные инкапсуляции наиболее распространённых рабочих процессов». Его философия:
«Надёжность приходит от специализации плюс ограничения»
Вместо одного всезнающего ревьюера, его команда code review порождает несколько параллельных агентов с разными обязанностями:
Этот adversarial слой критически важен. Вторичные агенты оспаривают находки первого прохода, устраняя ложные срабатывания через структурированный скептицизм.
Результат, по словам Черни: «находит все реальные проблемы без ложных».
Как это работает технически
Когда главный агент делегирует субагенту, создаётся свежее контекстное окно, содержащее только описание задачи и релевантные параметры. Субагент может исследовать обширно — потребляя десятки тысяч токенов при поиске по коду — но возвращает только конденсированное резюме в 1000-2000 токенов.
Это сохраняет фокус основного агента, позволяя при этом глубокий анализ.
В diffray мы используем более 30 специализированных агентов, каждый сфокусирован на определённой области: безопасность, производительность, стиль кода, архитектурные паттерны и другое. Каждый агент работает в изолированном контексте и возвращает только существенные находки.
Создание правил: превращение фидбека в знания
Теперь главное событие. Субагенты решают проблему контекста. Но как заставить ИИ учиться на ваших исправлениях?
Паттерн CLAUDE.md
В Claude Code команды ведут файл CLAUDE.md в своём репозитории — своего рода «конституцию» для проекта. Файл автоматически загружается в контекст при каждой сессии.
Но есть критическое ограничение. Исследования HumanLayer показывают, что системный промпт Claude Code уже содержит ~50 инструкций, а frontier LLM надёжно следуют только 150-200 инструкциям в сумме. Качество следования инструкциям равномерно снижается с ростом их количества.
Это значит: нельзя просто сбросить 500 правил и ожидать магии.
Три уровня знаний
Эффективные правила кодируют знания на трёх уровнях:
ЧТО (Карта проекта)
## Технологический стек
- Backend: Python 3.11, FastAPI, SQLAlchemy
- Frontend: React 18, TypeScript, TailwindCSS
- БД: PostgreSQL 15ПОЧЕМУ (Архитектурные решения)
## Почему мы НЕ используем ORM для сложных запросов
История: ORM генерировал N+1 запросы в отчётах.
Решение: Сырой SQL для аналитики, ORM только для CRUD.КАК (Процессы)
## Перед коммитом
- Запустить `make lint` — должен пройти без ошибок
- Запустить `make test` — покрытие не должно падатьПроблема ручных подходов
Ручное ведение правил работает... пока ваша команда маленькая и дисциплинированная. В реальности:
Разработчики забывают обновлять правила
Правила устаревают быстрее кода
Неявные конвенции остаются неявными
Племенные знания умирают с уходом ключевых людей
Как diffray автоматизирует создание правил
diffray переворачивает процесс. Вместо ручного написания правил, вы просто даёте фидбек на ревью.
Цикл обучения
Шаг 1: Вы даёте фидбек
Поставили минус комментарию diffray? Ответили «это не баг, это специально»? Проигнорировали рекомендацию? diffray всё захватывает.
Шаг 2: Извлечение паттернов
diffray анализирует: что именно было не так? Это была ложная тревога (код правильный), неприменимый контекст (правило здесь не работает), или специфичная конвенция проекта (так мы делаем здесь)?
Шаг 3: Генерация правил
На основе паттерна diffray формулирует правило, которое определяет область действия (какие файлы/директории), что подавлять или применять, и почему. Правило связывается с исходным фидбеком для отслеживаемости.
Шаг 4: Валидация
Перед применением правила diffray прогоняет его по историческим PR. Сколько комментариев было бы подавлено? Сколько из них были реальными ложными срабатываниями? Правило применяется только если оно улучшает точность.
Типы правил в diffray
Правила подавления
«Не отмечать X в контексте Y» — подавлять определённые предупреждения в legacy-коде, тестах или сгенерированном коде.
Правила применения
«Всегда проверять Z» — гарантировать, что критичные паттерны вроде параметризации SQL или проверок авторизации никогда не пропускаются.
Контекстные правила
«Учитывать специфику» — корректировать приоритет в зависимости от типа файла, декораторов или окружающего кода.
Терминологические правила
«Мы называем это так» — научить diffray вашему доменному словарю, чтобы он лучше понимал вашу кодовую базу.
Практический пример: от раздражения к правилу
Представьте: diffray оставляет комментарий к вашему PR:
Предупреждение Производительность: Использование any снижает безопасность типов. Рассмотрите явную типизацию.
Вы знаете, что это legacy-модуль, запланированный к переписыванию в следующем квартале. Исправлять типы сейчас — пустая трата времени.
Вы отвечаете: «Это legacy, типизация будет решена при рефакторинге Q2»
Что происходит дальше:
src/legacy/, есть TODO с датойsrc/legacy/** со сроком действия (Q2)src/legacy/ — diffray молчит о типахНо важно: правило не постоянное. Срок действия означает, что после Q2 diffray снова начнёт проверять типы в этой директории.
Метрика: снижение уровня ложных срабатываний
Ключевая мера эффективности AI code review — уровень ложных срабатываний. Сколько комментариев из 100 были бесполезными?
Типичные бенчмарки индустрии:
40-60%
Базовые ложные срабатывания AI-ревью
25-35%
С ручными правилами
8-13%
diffray с изученными правилами
Как мы этого достигаем:
Изоляция контекста
Через субагентов предотвращает дрейф
Специализация агентов
Улучшает точность в каждой области
Обучение на фидбеке
Устраняет повторяющиеся ложные срабатывания
Валидация правил
Предотвращает переобучение
Начало работы: три шага
Шаг 1: Подключите diffray к вашему репозиторию
Интеграция занимает 5 минут через GitHub App или GitLab webhook.
Шаг 2: Просто работайте
Первые 2-3 недели diffray работает в режиме обучения. Он изучает структуру вашего проекта, ваши паттерны PR и стиль комментариев ваших ревьюеров.
Шаг 3: Давайте фидбек
Не игнорируйте молча комментарии diffray. Ставьте плюс полезным, минус бесполезным, отвечайте на спорные.
Каждое взаимодействие делает diffray умнее. Через месяц у вас будет персонализированный AI-ревьюер, который знает ваши конвенции лучше, чем новый разработчик после онбординга.
Заключение: ИИ, который растёт вместе с вашей командой
Философия «каждая ошибка становится правилом» — это не просто броская фраза. Это архитектурный принцип, который отделяет игрушечные инструменты от production-ready решений.
diffray построен на трёх столпах:
Субагенты с изолированным контекстом
Для точности без загрязнения
Создание правил из фидбека
Для обучения без ручной работы
Валидация на истории
Для уверенности в улучшениях
Результат: AI code review, который становится лучше с каждым PR. Не потому что модель обновили, а потому что она учится у вашей команды.
Начните обучать своего AI-ревьюера сегодня
Установите diffray и откройте PR. Бесплатно для публичных репозиториев и включает щедрый бесплатный тариф для приватных.