
Разбор · Опубликовали 08.10.2026
Статический анализ кода ловит часть ошибок агента до запуска, но не доказывает бизнес-результат
Какие проверки сделать обязательными для агентных правок, что означает зелёный отчёт и чем подтвердить результат задачи. На правилах и поломках нашей машины агентов.
Текст собран машиной агентов под надзором инженера, который ведёт vibecoding.ru · факты проверены 8 октября 2026
Статический анализ кода находит часть ошибок ИИ-агента до запуска приложения. Но зелёный отчёт не показывает, получила ли компания нужный результат.
В машине этого сайта опасный способ чтения файлов прошёл проверки и сломал сборку. Разберём этот случай и путь приёмки агентных правок.
Не хотите разбираться сами? Внедряем ИИ в ваш бизнес: задачи без лимита, одна цена в месяц, отмена в любой момент.
1. Статический анализ блокирует известные дефекты исходника.
Анализатор ищет нарушения в коде без запуска пользовательского сценария. Он проверяет известные правила, а не все возможные ошибки.
Цикломатическая сложность помогает заметить рост ветвлений в критичной функции.
Проверка типов обнаруживает несовместимые данные. Если функция ждёт число, а агент передал строку, ошибка видна до запуска, пока типы описаны и проверяются.
Формальная верификация доказывает свойство только в пределах заданной модели программы.
Линтер проверяет конструкции, специализированный анализатор исследует связи в коде. Форматирование расставляет пробелы и не заменяет эти проверки.
Каждая проверка отвечает на свой вопрос.
Документация TypeScript и ESLint, описание метода PVS-Studio, границы SAST у OWASP. Проверено 08.10.2026; таблица обобщает назначение, не сравнивает полноту инструментов.
2. Зелёный отчёт не принимает бизнес-сценарий.
Учебный пример: после отмены подписки доступ должен сохраняться до конца оплаченного периода. Агент отключил его сразу; оба состояния допустимы по типам.
Ожидаемое поведение записывают при постановке задачи ИИ-агенту. Тест сценария сверяет результат с этим обещанием.
Утверждение типа не проверяет ответ внешнего сервиса при исполнении. Входящие данные требуют отдельной проверки.
Проверка рабочего сценария не измеряет коммерческий эффект. Если цель состоит в росте заявок, эффект проверяют по заявкам после выпуска.
Отмена подписки требует проверки поведения.
Учебный пример редакции, не клиентский кейс; механизм типов сверён с TypeScript, 08.10.2026. Успех одного сценария не доказывает все сценарии продукта.
3. Наши поломки расширяли проверки, а не отменяли их.
В машине агентов vibecoding.ru инженер ведёт сдачу через проверки. Наш пример касается своего сайта. Клиентского кейса анализа у нас нет.
Пробел в охвате бывает важнее выбранного анализатора. Зелёная проверка одной части репозитория не подтверждает другую часть, которую проверяют отдельной командой.
Тестовый раннер умеет читать исходники. Поиск запрещённой конструкции в файле остаётся статической проверкой: сценарий приложения не исполняется.
Поломка становится правилом с конкретным предметом.
05.09
Чтение файла по переменному пути заставило сборщик включить лишние файлы в серверную функцию. Появились запрет этой конструкции в исходниках и отдельный контроль размера после сборки.
09.09
Проверке типов при сборке не хватило памяти. Увеличили лимит памяти шага сборки; проверку не отключили и не объявили пройденной.
20.09
Зафиксировали разницу между общим контролем типов и проверкой при выпуске серверной части. Для серверных правок требуется собственная команда проверки типов.
Первичные журналы машины, записи 06.09 о событии 05.09, 09.09 и 20.09; действующая проверка опасного чтения файлов. Перечитано 08.10.2026. Последний пункт описывает урок аудита, не датировка новой аварии.
4. Обязательная проверка не зависит от решения агента.
Правила для ИИ-агентов задают порядок сдачи. Обязательный запуск ставят в путь влития, чтобы агент не мог пропустить его ради зелёного статуса.
Предупреждение и запрет различаются настройкой. В ESLint уровень warn сам по себе не делает запуск неуспешным; для запрета задают error или условие отказа команды.
Изменения настроек проверяют вместе с кодом. Удалённое правило, новый список исключений или обход проверки способны сделать отчёт зелёным без исправления причины.
В путь сдачи входят охват и причины отказа.
Порядок, предложенный редакцией на основе собственной машины; уровни правил сверены с ESLint, 08.10.2026. Это схема внедрения, не обещание покрытия всех ошибок.
5. Старый долг фиксируют, а новые нарушения блокируют.
Накопленный технический долг заполняет отчёт предупреждениями. Новые нарушения можно блокировать, пока команда разбирает прежние.
Ложное срабатывание разбирает инженер. Исключение сохраняет причину и область действия. Отключение правила убирает вместе с шумом полезные сигналы.
Исправления сокращают старый список исключений. Расширять его ради зелёной сдачи нельзя: так агент уменьшает область проверки.
Реакция зависит от причины предупреждения.
PVS-Studio о ложных срабатываниях и существующее правило нашей машины о прежних исключениях; рекомендации редакции, 08.10.2026. Отсутствие отчёта не считается отсутствием ошибок.
6. Подрядчик сдаёт проверяемую правку, а не число предупреждений.
Порядок приёмки связан с ответственностью за ошибки агента. Для приёмки нужны проверенный исходник и показ результата.
Отчёт нужен по тому же коммиту, вместе с командами и областью анализа. Фраза «анализ пройден» без этих данных не раскрывает, что проверено.
Результат сценария сдают отдельно от анализа. В учебном примере инженер показывает оплаченный доступ после отмены. Предупреждения этого не доказывают.
Для приёмки нужны разные доказательства.
Рекомендации редакции; формат «в вашу ветку в вашем репозитории» сверён с /services, 08.10.2026. Таблица описывает ожидаемую сдачу, а не уже выполненный клиентский проект.
Встроить проверки можно через агентную разработку по подписке. «Один проект» стоит 250 000 ₽ в месяц, по /services на 08.10.2026.
Для следующего шага можно обсудить проверки проекта. Предмет разговора: анализ и проверка типов в пути сдачи, плюс отдельная приёмка рабочего сценария.
Что и как мы проверяли
| Факт | Что известно | Проверено |
|---|---|---|
| Метод и границы | Официальные страницы PVS-Studio, TypeScript, ESLint и OWASP. Проверяли назначение, ограничения типов, уровни правил и ложные срабатывания; сравнительный прогон анализаторов не проводили. | 2026-10-08 |
| Собственная машина | Перечитали записи о событии 05.09 и уроках 09.09 и 20.09.2026. Сопоставили их с действующей проверкой опасного чтения файлов и отдельным контролем типов серверной части. Закрытые файлы не цитируем. | 2026-10-08 |
| Цена подписки | Живая /services: «Один проект», один поток, 250 000 ₽ в месяц. Это цена подписки на разработку, не отдельного анализа репозитория. | 2026-10-08 |
| Пример и замеры | Отмена подписки: учебный пример редакции. Наш опыт относится к vibecoding.ru; клиентского кейса и собственного внедрения PVS-Studio нет. Долю пойманных ошибок агента не измеряли. | 2026-10-08 |
7. Частые вопросы
Статический анализ кода и статический анализ исходного кода отличаются?+
В этом разборе это названия одного метода проверки программы без исполнения пользовательского сценария. Инструменты могут работать с исходниками или другим представлением программы; при выборе важны поддерживаемые языки и область анализа.
Достаточно ли проверки типов?+
Она проверяет ограничения описанной системы типов. Совместимые типы не подтверждают правила продукта, а обход через any или утверждение типа способен ослабить проверку. Для входящих данных и поведения нужны отдельные проверки.
Анализатор понимает, что код написал ИИ-агент?+
Для обычных правил важно устройство кода, а не его автор. Агентные правки проходят те же обязательные проверки; считать их результат доказательством полноты проверки нельзя.
Как выбрать между PVS-Studio и другими анализаторами?+
Сначала проверить поддержку языка и способ включения в сдачу изменений. Затем прогнать кандидатов на своём проекте и разобрать реальные находки и ложные срабатывания. Собственного кейса внедрения PVS-Studio у нас нет, поэтому победителя мы не назначаем.
Может ли анализатор находить ошибки бизнес-логики?+
Если правило выражено в доступной инструменту модели, отдельные нарушения можно искать автоматически. Зелёный отчёт не доказывает все обещания клиенту: они должны быть сформулированы и проверены подходящим способом.
Что делать, если анализатор завис или завершился с ошибкой?+
Разобрать сбой инструмента и повторить запуск. Незавершённая проверка не даёт результата по коду; агент не должен превращать её в успешную сдачу пропуском шага.
8. Источники
Источники
- Static code analysis · PVS-Studio (19 мая 2023, проверено 8 октября 2026) — описание метода
- Type Compatibility · TypeScript (проверено 8 октября 2026) — документация
- Everyday Types · TypeScript (проверено 8 октября 2026) — документация
- noEmit · TypeScript (проверено 8 октября 2026) — документация
- Configure Rules · ESLint (проверено 8 октября 2026) — документация
- Source Code Analysis Tools · OWASP (проверено 8 октября 2026) — метод и ограничения
- Машина агентов vibecoding.ru · открытый контур выпуска, истории сентября 2026 (сверено 8 октября 2026) — собственный опыт
- Агентная разработка · тариф «Один проект» и формат сдачи (8 октября 2026) — наш сервис
Запомнить
- Анализ отвечает за известные ограничения исходника. Назовите, что именно блокирует каждая проверка.
- Зелёный отчёт не принимает задачу бизнеса. Запишите сценарий и ожидаемый результат отдельно.
- Охват важнее названия инструмента. Проверьте все изменённые части репозитория.
- Исключение требует причины. Изменения правил принимаются вместе с правкой, а не прячутся в ней.
- Поломка должна пополнять проверки. Добавьте защиту от повторения там, где причина поддаётся автоматическому обнаружению.