Как перестать бездумно копировать код нейросетей и начать в нем разбираться
В последнее время все чаще ловлю себя на мысли, что разработка превращается в странный аттракцион. Модель сгенерировала полторы тысячи строк кода, тесты зеленые, сервис как-то крутится, а в голове пустота. Ты жмешь git commit и понимаешь: случись баг на проде ночью, разбираться в этих абстракциях придется с нуля.
Явление уже окрестили «вайбкодингом». Быстро, весело, но навыки понимания архитектуры и фундаментальных концепций вымываются за считанные недели.
Недавно наткнулся на проект AntiVibe. Это расширение (скилл) для Claude Code, созданное специально против слепого принятия кода. Автор решил развернуть возможности ИИ в обратную сторону: заставить модель не просто писать код за вас, а подробно объяснять архитектурные развилки, разбирать компромиссы и обучать разработчика прямо в процессе работы.
Что умеет AntiVibe
Проект не требует специальной разметки репозитория или свежей истории коммитов. Вы натравливаете утилиту на любой файл, модуль или старый легаси-проект, а она генерирует структурированный разбор.
Вместо банального пересказа строчек («тут мы объявили функцию, а тут вернули ответ») фокус смещается на причины:
- почему выбран конкретный паттерн проектирования
- какие альтернативные решения существовали
- в каких сценариях такой подход оправдан, а где он выстрелит в ногу
- с какими фундаментальными концепциями CS связан написанный код
AntiVibe умеет работать в двух основных направлениях: образовательный разбор (learning deep dive) и строгий архитектурный аудит.
Режимы глубины и аудит для сеньоров
Одна из самых удобных вещей здесь — адаптация под уровень разработчика. Если вы только знакомитесь с новым стеком, вам не нужны заумные термины без контекста. А если вы смотрите знакомый фреймворк, подробные объяснения базовых вещей будут только раздражать и тратить токены.
В конфиге или прямо в командной строке можно задать уровень:
- Junior. Модель дает полные примеры, разжевывает базовые термины и подбирает аналогии.
- Mid. Основной акцент делается на логике принятия решений и связях между модулями.
- Senior (режим аудита). Запускается отдельный агент-аудитор. Он полностью пропускает теорию и ищет краевые случаи, проблемы с тестируемостью, архитектурные риски и скрытые компромиссы в производительности.
Чтобы не перечитывать одно и то же в каждом отчете, в конфигурационный файл можно добавить список уже известных концепций (known_concepts). Если вы указали там React hooks или REST API, инструмент упомянет их одной короткой строкой и не станет тратить контекстное окно на лекцию по основам веба.
Как устроен проект внутри
Под капотом AntiVibe представляет собой набор скриптов на Bash, шаблонов разметки и специализированных агентов для Claude Code:
antivibe/
├── SKILL.md # Главное описание навыка
├── hooks/
│ └── hooks.json # Хуки для автоматического запуска
├── scripts/
│ ├── capture-phase.sh # Определение фаз реализации
│ ├── analyze-code.sh # Парсинг структуры кода
│ ├── find-resources.sh # Поиск внешних источников
│ └── generate-deep-dive.sh # Сборка финального markdown
├── agents/
│ ├── explainer.md # Агент для обучения и объяснений
│ └── auditor.md # Агент для архитектурного аудита
├── templates/
│ └── deep-dive.md # Шаблон отчета
└── reference/
├── language-patterns.md # Паттерны языков и фреймворков
└── resource-curation.md # База проверенных ссылок
Скрипты анализируют контекст и выбирают подходящего агента: explainer для обучающего разбора или auditor для технической ревизии. Результат сохраняется в отдельную папку (по умолчанию deep-dive/) в виде аккуратного Markdown-файла с датой.
Установка и первые шаги
Для использования нужен установленный Claude Code. Сначала клонируем репозиторий:
git clone https://github.com/mohi-devhub/antivibe.git
cp -r antivibe ~/.claude/skills/antivibe
После этого в сессии Claude Code появляются новые команды. Базовый запуск создает компактный отчет с минимальным расходом токенов:
/antivibe
Если хочется получить подробный разбор с подборкой ссылок на документацию, разбором предварительных требований и построчным анализом, вызываем расширенную версию:
/antivibe full
Инструмент понимает естественные фразы в диалоге. Например:
"walk me through src/auth/"
"audit this, just the trade-offs"
"explain for a junior"
Пример сгенерированного отчета по модулю авторизации выглядит примерно так:
# Deep Dive: Authentication System
## Overview
This auth system uses JWT tokens with refresh token rotation...
## Code Walkthrough
### auth/service.ts
Purpose: Token generation and validation
Key Components:
- generateTokens(): Creates access/refresh tokens
- verifyToken(): Validates JWT signatures
## Concepts Explained
### JWT (JSON Web Tokens)
What: Stateless authentication tokens
Why: Server doesn't need to store sessions
When: APIs, SPAs, microservices
## Learning Resources
JWT.io: Official documentation
Auth0 Guide: Best practices
Если настроить хуки из папки hooks/, утилита сможет автоматически генерировать отчеты после завершения конкретной задачи или в конце рабочей сессии.
Практические сценарии
Где эта штука экономит время в реальной работе:
- Онбординг в незнакомый проект. Запускаете команду на незнакомом каталоге, получаете карту связей, архитектурный контекст и ссылки на профильную документацию.
- Работа с чужим пулл-реквестом. Вместо того чтобы вручную разбирать хитросплетения нового сервиса, можно запросить аудит компромиссов и сразу увидеть потенциальные проблемы с граничными условиями.
- Освоение нового стека. Когда нужно быстро написать микросервис на Go после трех лет на Python, AntiVibe покажет идиоматичные конструкции и объяснит, почему в этом языке принято делать именно так.
Проект поддерживает TypeScript, JavaScript, Python, Go, Rust и Java. Расширить список можно через правку файла паттернов в репозитории.
Кому пригодится репозиторий
AntiVibe вряд ли нужен тем, кто использует генеративный код исключительно для создания одноразовых лендингов или мелких скриптов автоматизации.
Но если вы работаете над долгоживущими проектами и хотите держать кодовую базу под контролем, инструмент помогает избавиться от ощущения «магии». Это хороший способ превратить сгенерированный код в инструмент профессионального роста, а не в мину замедленного действия. Начать стоит с установки базового скилла и прогона через него пары свежих коммитов в компактном режиме.
