Утро разработчика в большинстве команд выглядит одинаково: кофе, пять тикетов с ошибками за ночь и понимание, что день уйдёт на разбор. Мы поставили задачу убрать этот сценарий — и теперь утро выглядит так: кофе и готовые pull request’ы.
Не «разберитесь, тут что-то падает», а PR, в котором уже есть: репорт из мониторинга или от пользователя, разбор причин по коду, исследование по базе и логам, корневая причина, вариант устранения и сам фикс.
Table Of Contents
Суть: снимаем рутину, а не заменяем разработчика
Info
Девиз конвейера: разработчик открывает не тикет, а готовый PR — с разбором, доказательствами и вариантом исправления. Решение смёржить или отклонить всегда остаётся за человеком.
В классическом цикле обработки ошибки — алерт, погружение в контекст, воспроизведение, поиск причины, фикс, ревью — механическая часть занимает три четверти времени. Именно её забирает агент: собрать контекст, прочитать код, свериться с данными и логами, восстановить цепочку «что случилось и почему». Разработчику остаётся содержательная часть: взглянуть на разбор и смёрджить — или открыть PR и понять всё за пять минут вместо часа погружения.
Отдельный плюс — если агент справился, разработчик получает не «работу на день», а уже пройденный путь. Мы не строим иллюзий, что агент заменит инженера: он делает так, чтобы инженер начинал с шага 90%, а не с нуля.
Как работает конвейер
Вход — ошибка из мониторинга (GlitchTip) или репорт от пользователя (в том числе со скриншотом — тогда его сначала читает vision-модель). Дальше цепочка простая и линейная:
| Этап | Что делает агент |
|---|---|
| 1. Забрать репорт | Событие из GlitchTip или обращение пользователя; отсеивает дубли известных ошибок |
| 2. Разобраться в коде | Стек → код → связанные коммиты → история изменений |
| 3. Проверить гипотезы по данным | Read-only доступ к базам продакшена через MCP-шлюз: смотрит данные, не трогая их |
| 4. Проверить по логам | VictoriaLogs: что происходило вокруг момента ошибки, по каким траекториям |
| 5. Назвать корневую причину | Что случилось, почему и с какого изменения |
| 6. Исправить | Пишет фикс и тесты в ветку |
| 7. Открыть PR | Pull request с полным разбором — человек смотрит и мерджит |
Контроль дублей, а не классификация: агент не раскладывает ошибки по полочкам и не строит иерархий — просто проверяет, что эта ошибка уже не разбирается, и не делает одну работу дважды.
Если не получилось — не молчит, а готовит почву
Самая ценная ветка конвейера — та, где агент не смог написать фикс. Вместо «закрыто, не воспроизведено» он оставляет отчёт:
- что уже проверил: гипотезы по коду, запросы к базе, фрагменты логов;
- что нашёл: аномалии, подозрительные места, связи с изменениями;
- что осталось проверить: список направлений, с которых удобно продолжить.
Такой отчёт снижает порог входа разработчика в задачу с часа до минут: контекст уже собран, тупики помечены. Даже «неуспешный» прогон экономит полдня работы — и это честнее, чем обещания, что агент исправит всё подряд.
Схема работы
Два исхода — и оба полезны
Принципиально: у конвейера два равноправных выхода, и оба полезны. PR экономит день, отчёт — полдня. «Мусорных» исходов нет.
Почему это работает на своём железе
Вся цепочка крутится на открытых моделях на собственном железе, без облачных API — и это принципиальный выбор, а не экономия:
- Контекст решает. Чтобы разобраться в ошибке, нужен код, логи, фрагменты баз и история коммитов — сотни тысяч токенов. На DeepSeek V4 Flash 0731 с 1M-контекстом весь материал помещается целиком.
- Круглосуточная работа. Агент не «включается на час» — он работает всегда, разбирая ошибки по мере поступления. Такой режим имеет смысл только на своих GPU: никаких тарифов, никаких лимитов, никаких «а не разорит ли нас эта ночь».
- Конфиденциальность. В логах и базах — данные клиентов. Локальный запуск снимает сам вопрос утечек: ничего не покидает контур.
- Качество уже достаточное. Для рутинного разбора ошибок текущих открытых моделей хватает с запасом — сложные случаи честно уезжают человеку с отчётом.
Vision-жалобы — та же цепочка, но начинается с чтения скриншота локальной Qwen3.8-27B.
Что меняется в рабочем дне
- Утро = ревью, а не разбор. Ночью агент разобрал всё, что накопилось; разработчик открывает готовые PR с чашкой кофе.
- Ничего не тонет. Каждая ошибка получает разбор — у агента нет «потом посмотрю» и «закрою как cannot reproduce».
- Неуспех тоже результат. Отчёт с проверенным и найденным сжимает погружение в чужую задачу до минут.
- Человек контролирует: правка прода — только через ревью PR; запись в базы невозможна архитектурно.
Итог
- Автономный агент забирает рутинную часть обработки ошибок: репорт → разбор по коду → базы и логи → корневая причина → готовый PR;
- если исправить не удалось — подробный отчёт, с которого разработчик продолжает за минуты вместо часа погружения;
- всё работает на своём железе на открытых моделях: DeepSeek V4 Flash 0731 как основной движок, Qwen3.8-27B для скриншотов;
- прод защищён архитектурно: read-only к базам, человек в ревью.
Хотите такое же утро для своей команды — обращайтесь, Лаборатория Павла Жукова разворачивает подобные конвейеры под ключ: от подбора железа до интеграции с вашим мониторингом и Git.
