Hurl останавливает дрейф vibe coding

Стена трёх месяцев


Если ваше приложение, созданное через vibe coding, развалилось через 3 месяца, если вы столкнулись с дрейфом, при котором ИИ перезаписывает существующую логику, если вы хотите защитить API-контракты от изменений кода — Hurl и ratchet решают эту проблему.

Вы создаёте SaaS через vibe coding. Сначала быстро. «Сделай логин» — 30 секунд. «Добавь платежи» — 2 минуты. MVP за 3 недели.

Через 3 месяца начинаются странности. ИИ «наводит порядок» в платёжной логике и тихо меняет расчёт скидки. Новый эндпоинт ломает существующую аутентификацию. Просишь рефакторинг — меняются имена полей публичного API, все клиенты падают.

Это называется логический дрейф — ИИ непреднамеренно изменяет существующую бизнес-логику. Регрессионные баги есть и в традиционной разработке. Но логический дрейф — другое. Изменения, которых разработчик не планировал, происходят без его ведома по всей кодовой базе. Потому что каждый промпт начинается в новом контекстном окне.


Дрейф в цифрах

Это не ощущения. Есть данные.

Цена скорости — сложность. Команда Carnegie Mellon сравнила 807 репозиториев GitHub до и после внедрения Cursor (MSR 2026). В первый месяц добавление кода выросло в 3-5 раз. Через 2 месяца преимущество в скорости исчезло. Осталось: рост предупреждений статического анализа на 30%, постоянный рост сложности кода на 41%. Liu et al. (2026) проанализировали 302 600 ИИ-коммитов в 6 299 репозиториях — нерешённый технический долг вырос с нескольких сотен в начале 2025 до более 110 000 к февралю 2026.

Не ускорилось — замедлилось. METR провели рандомизированное контролируемое исследование с 16 опытными разработчиками open source (2025). На знакомых проектах группа с ИИ-инструментами выполняла задачи на 19% дольше. При этом сами разработчики считали, что стали на 20% быстрее. Разрыв между восприятием и реальностью — 39пп.

Стабильность рушится при масштабе. Согласно отчёту Google DORA (2025), на каждые 25% роста внедрения ИИ стабильность доставки ПО снижается на 7,2%.

Действительно рухнула. Amazon обязала использовать ИИ-кодинг по всей компании в 2025 и развернула 21 000 ИИ-агентов. За тот же период уволены ~30 000 сотрудников. Результат: 4 инцидента Sev-1 за 90 дней. 5 марта 2026 — 6-часовой сбой, потеря ~6,3 млн заказов.


«Делай TDD» — не ответ

Исследование TDAD (arxiv 2026) проверило это точно. Qwen3-Coder 30B решал 100 экземпляров SWE-bench Verified.

УсловиеЧастота регрессий
Базовая линия (без инструкции о тестах)6,08%
Процедурная инструкция «делай TDD»9,94% (хуже)
Предоставление затронутых тест-файлов как контекста1,82% (снижение на 70%)

Не инструкция «как тестировать», а контракт «что должно пройти».


Hurl: контракты в plain text

Hurl применяет принцип Design by Contract Мейера (1992) к HTTP-границе. Инструмент тестирования, объявляющий HTTP-запросы и ожидаемые ответы в plain text. Поддерживается Orange, бинарь на Rust без зависимостей, 18,7k звёзд на GitHub.

# Успешный логин
POST http://localhost:8080/api/auth/login
{
  "email": "test@example.com",
  "password": "secret123"
}
HTTP 200
[Asserts]
jsonpath "$.token" exists
jsonpath "$.user.email" == "test@example.com"

# Неаутентифицированный доступ → 401
GET http://localhost:8080/api/pages
HTTP 401

Два контракта. Логин возвращает 200 с токеном, неаутентифицированный доступ — 401.


Почему Hurl

Unit-тесты проверяют внутренние функции — структурно связаны с реализацией. Hurl на HTTP-границе. Объявляет только запросы и ответы. Естественно независим от реализации.

Unit-тестыHurl
Объект верификацииВнутренние функцииHTTP-контракт
При рефакторинге ИИМеняются вместеНе меняются
Обнаружение дрейфаУсловноеЕстественное

Hurl проверяет не код, а поведение.


Фиксация храповиком

Когда тест Hurl проходит, он фиксируется. Это храповик. Зафиксированный Hurl-тест — это ratchet code: детерминированный код, делающий прошедший API-контракт необратимым. Агент должен рефакторить, сохраняя всё существующее поведение.


Работает и на легаси

Шаг 1: Захватите текущее поведение в Hurl. Шаг 2: Подключите к CI. Шаг 3: Теперь безопасно.

Не закладка фундамента, а сейсмическое усиление. Укрепляете здание, не закрывая магазин.


Не конец vibe coding, а эволюция

Karpathy в феврале 2026: «Эра vibe coding закончилась.» Новая парадигма — агентная инженерия. Storey (2026) ввёл когнитивный долг и долг намерения. Hurl-файл — экстернализация намерения.

Один файл Hurl — один контракт. Не меняйте модель. Добавьте контракт.


Связанные статьи


Источники

История изменений

  • 2026-05-22: Первая версия