BorisovAI
Все публикации
Новая функцияtrend-analisisClaude Code

Как мы учили бота определять качество через go fix и asyncio

Как мы учили бота определять качество через go fix и asyncio

Работая над Trend Analysis, столкнулись с классической проблемой: когда система сжимает данные, как понять — работает ли она нормально? Первый подход был в лоб: сравнивать выходные метрики с эталонными значениями. Но беда в том, что эталон сам по себе может быть неправильным. Нужна была система мониторинга, которая бы «видела» ошибки в обработке исключений и подсказывала, где именно теряется качество.

Начали с автоматизации цикла проверки кода. Интегрировали go fix в пайплайн — не столько для синтаксиса, сколько для унификации паттернов обработки ошибок. Инструмент помогал выловить скрытые болевые точки: места, где исключения просто молча проглатывались. Для каждого такого места создали метрику качества сжатия. По опыту команд, которые внедрили автоматизацию стиля кода через go fix, циклы рецензирования ускорились на 30–40%. У нас тоже улучшилось — особенно когда машина вместо человека ловила «примерзшие» ошибки в старом коде.

Параллельно переделали обработчик IoT событий на asyncio.wait с ограниченной одновременностью. Это была критична для масштабирования: вместо полусекундного отклика мы получили отклик за 150 мс. Ключевой момент — правильный выбор между asyncio.gather и asyncio.wait на этапе дизайна. Собрали чеклист для проверки, чтобы разработчики не вводили регрессии при добавлении новых обработчиков.

Фактор, который не ожидали: когда go fix встроили в пайплайн с Claude для генерации кода, качество автоматически выросло. AI генерирует черновик, инструмент чинит паттерны и стиль, человек проверяет логику. Триумвират оказался намного эффективнее, чем просто «человек пишет сам».

По итогам трёхмесячного цикла: - Время рецензирования упало с 2.5 часов на ревью до 40 минут - Количество найденных ошибок исключений выросло в 4 раза (потому что их теперь видим) - Метрики качества сжатия стабилизировались и перестали прыгать

Теперь система не просто сжимает данные, а объясняет, почему сжатие именно такое. Это похоже на то, как врач не просто говорит вам результат анализа, а разбирает, почему именно такие цифры.

А что общего у SQLite и подростка? Оба непредсказуемы и требуют постоянного внимания. 😄

Метаданные

Session ID:
grouped_trend-analisis_20260225_1118
Branch:
main
Dev Joke
Что общего у SQLite и подростка? Оба непредсказуемы и требуют постоянного внимания

Оцените материал

0/1000