Я попросил нейросеть написать мне бэкенд за 8 секунд. Внутри была SQL-инъекция, race condition и ещё 3 уязвимости
Это не статья «ИИ заменит программистов». Это статья «ИИ уже заменяет тех, кто пишет код руками и не понимает архитектуру». Разница — принципиальная.
Останови скролл. Я знаю, заголовков про «нейросети уволят разработчиков» вышло столько, что они уже надоели. Этот пост — не про это. Этот пост про то, почему вокруг тебя одни программисты вдруг начали зарабатывать в три раза больше, а другие срочно переучиваются на курьеров — и почему ИИ тут вообще ни при чём.
Если ты до сих пор гордишься тем, что выучил наизусть 15 методов массива в JavaScript и можешь без подсказок написать CRUD на любимом фреймворке — у меня для тебя плохая новость. Ты следующий.
Индустрия уже раскололась. И ты этого не заметил
Прямо сейчас, пока ты читаешь эту статью, IT-рынок делится на два очень разных лагеря.
Лагерь первый. Те, кто открывает ChatGPT, копипастит первый попавшийся ответ, нажимает «деплой» и счастлив, что «работает». На гитхабе у них зелёные квадратики каждый день. В резюме — гордое «middle». В голове — каша из туториалов, которые они проходили, не понимая, что происходит под капотом.
Лагерь второй. Те, кто перестал писать код руками вообще. Они открывают Excalidraw, рисуют систему квадратами и стрелками, продумывают слои, контракты и блокировки, и только потом скармливают эту схему нейросети. Они не «программисты» в старом смысле — они архитекторы. Операторы. Они владеют машиной, а не молятся на неё.
Третьего лагеря нет. Если ты не во втором — ты в первом. И тебя заменят. Вопрос не «заменят ли», вопрос «когда».
История повторяется. Деды на ассемблере говорили ровно то же самое
Когда в 60-х появились высокоуровневые языки, ребята, которые сдвигали биты в регистрах и кололи перфокарты, ржали. Они говорили буквально то же, что сейчас говорят противники нейросетей: «Вы не понимаете, что происходит под капотом», «вы недоучки», «без знания памяти процессора вы не программисты».
Где сейчас эти деды? На обочине. В музее. В мемуарах.
Индустрию забрали те, кто принял новый уровень абстракции и пошёл выше — на C, на Java, на Python. Те, кто понял, что суть профессии не в синтаксисе, а в проектировании систем.
Нейросеть сегодня — это не «искусственный интеллект» из фантастики. Это новый компилятор. Очередной слой абстракции. Раньше ты переводил мысли в синтаксис Python, а Python-компилятор переводил их в байт-код. Теперь ты переводишь мысли в естественный язык, а LLM компилирует их в синтаксис. Суть не поменялась ни на грамм.
Выигрывает не тот, кто быстрее стучит по клавишам. Выигрывает тот, у кого работает голова. И именно поэтому сейчас разработчики начального уровня страдают больше всех — нейросеть лучше них пишет CRUD, потому что писать CRUD — это и есть тупая компиляция мыслей в синтаксис.
Шесть скиллов, которые отделяют архитектора от формошлёпа в 2026 году
Я их выписал и проверил в работе. Это не «soft skills из LinkedIn», а конкретные вещи, без которых ты не выживешь.
1. Инженерное мышление. Нейросеть не придумает за тебя конечный автомат. Если ты не умеешь строить в голове блок-схемы, деревья решений, таблицы истинности — ИИ сгенерирует тебе логический хаос. Он напишет красиво, синтаксически идеально, и совершенно нерабоче с точки зрения бизнес-логики. И виноват будешь ты.
2. Архитектура систем. Если ты не можешь нарисовать систему квадратами и стрелками до того, как открыл IDE — ты не архитектор, ты формошлёп. Сначала схема, потом промпт, потом код. Любая другая последовательность ведёт в технический долг, из которого не вылезти.
3. Жёсткая база IT. Языки приходят и уходят, инфраструктура остаётся. Ты обязан понимать ООП на уровне паттернов, знать, как работает ядро Linux, поднимать изоляцию через Docker, разбираться, как пакеты ходят по сети. Никакая нейросеть не отладит тебе кривой Docker Compose, если ты не понимаешь, что такое сетевой мост и зачем нужны health checks.
4. Информационная безопасность. Самое слабое место всех, кого сейчас называют «вайб-кодерами» — тех, кто кодит «по вибрации», не вникая. ChatGPT с радостью сгенерирует SQL-инъекцию в трёх строках, откроет CORS наружу, захардкодит секрет в коммит. Когда твой прод сольётся в даркнет — отвечать будешь не нейросеть, а ты лично.
5. Стратегия тестирования. ИИ пишет код быстро. Ломается он так же быстро. Твоя задача — писать не код, а контракты и тесты. TDD меняется радикально: ты теперь не сам пишешь код под тесты, ты пишешь тесты и заставляешь нейросеть генерировать код, который их проходит. Тесты становятся твоим главным интерфейсом к машине.
6. Политика Git Diff. Ты больше не писатель — ты безжалостный ревьюер. Ты должен открыть сгенерированный pull request и с одного взгляда увидеть утечку памяти, race condition, костыль и захардкоженый пароль. Прод — это святое. Локалка, стейджинг, ветвление, защищённые ветки. Кривой код нейросети не должен попадать к клиенту никогда.
Бонус-уровень: автономность
Истинный уровень — это развернуть мощную LLM локально. На своём железе. В изолированном контуре.
Когда у тебя свой Qwen или Llama на видеокарте — ты владеешь инструментом, а не арендуешь его. Сервера OpenAI лежат — тебе плевать. API подорожал в три раза — тебе плевать. Цензура зарезала твою тему — тебе плевать. Корпоративные данные не утекают в чужое облако — это вообще отдельная категория бизнес-ценности.
Современные открытые модели (Qwen 2.5 Coder, DeepSeek Coder, Llama 3.3) на хорошей видеокарте дают качество, сопоставимое с GPT-4 уровня 2024 года, по конкретным задачам — кодогенерация, рефакторинг, ревью. Этого хватает для 90% реальной работы.
Демо: как нейросеть слила мне прод за 8 секунд
Хватит теории. Конкретика.
Условный кейс: SaaS-платформа для мастеров (стрижка, маникюр, ремонт). Клиенты бронируют слоты. Классический B2B2C. Открываю Cursor, ставлю палец на промпт: «Напиши функцию бронирования мастера». Восемь секунд — и я получаю это:
```php
public function book(Request $request) {
$masterId = $request->master_id;
$time = $request->time;
$exists = DB::select(
"SELECT * FROM bookings WHERE master_id = $masterId AND time = '$time'"
);
if (!$exists) {
Booking::create([
'master_id' => $masterId,
'time' => $time
]);
Mail::send('booked', $data, function($m) { /* ... */ });
Payment::charge($request->card);
}
}
```
Джун посмотрит и скажет: «Ну, работает же». Дальше — практический разбор.
Косяк №1. SQL-инъекция. Конкатенация переменных прямо в SQL-запрос. Любой школьник с базовой статьёй про инъекции положит базу за пять минут. Сольёт данные клиентов, удалит таблицы, опубликует ваш проект на форумах. Нейросеть так написала, потому что я не попросил «безопасно». А я не попросил, потому что я Прокладка.
Косяк №2. Жёсткая связность. База, бизнес-логика, отправка писем и платёжный шлюз слеплены в один комок. Single Responsibility Principle нарушен в каждой строке. Через полгода это превратится в неподдерживаемое болото. Технический долг съест проект быстрее, чем найдётся первый платящий клиент.
Косяк №3. Нарушение транзакционности. Если отвалится платёжный шлюз — бронь уже создана, письмо клиенту уже ушло, а деньги не списались. Мастер уверен, что у него клиент. Клиент уверен, что он ничего не оплачивал. Скандалы в саппорте, возвраты, репутация на дне.
Косяк №4. Race condition. Самое сладкое. Два клиента нажимают «Забронировать» в одну миллисекунду. Скрипт у обоих проверяет базу, у обоих видит «свободно», и записывает обоих на один слот. Платформа ложится в первый день запуска. И никто не понимает почему.
Косяк №5. Никакой валидации входных данных. master_id может быть строкой, time может быть «вчера», карта может быть пустой — нейросеть верит пользователю. А пользователь — это самый враждебный объект в системе.
И главный вопрос: нейросеть тебя об этом предупредила? Нет. Она вернула красивый, работающий с виду код. И ты его задеплоил. Потому что ты не видел проблем — у тебя нет той самой базы.
Как делает архитектор
Тот же запрос, но с включённой головой. Не «напиши мне функцию бронирования», а проектирование с нуля.
Слои. Я разделяю систему на три уровня:
- Infrastructure — база, очереди, внешние API
- Application — use cases, оркестрация
- Domain — Aggregate Roots, Value Objects, доменные события
Это называется Domain-Driven Design. Без этого слова в современном бэкенде делать нечего.
Моделирование. Booking — это Aggregate Root, корень агрегата. TimeSlot — Value Object, неизменяемый. Money — Value Object с валидацией валюты, чтобы случайно не списать рубли вместо тенге.
Защита от race condition. Пессимистичная блокировка на уровне БД: SELECT ... FOR UPDATE внутри транзакции. Два запроса встают в очередь. Первый забирает слот. Второй падает с понятной ошибкой «слот уже занят». Условие гонки закрыто на корню — не молитвами, а механизмом базы данных.
Транзакционность. Бронирование, списание денег и отправка письма заворачиваются в одну транзакцию приложения. Если что-то падает — всё откатывается. Никаких полуброней.
Валидация на входе. Form Request с правилами. master_id обязан существовать в базе и быть активным. time обязан быть в будущем и кратным интервалу записи. Карта — через токенизацию платёжного провайдера, не сырыми данными в нашу систему.
И только теперь я скармливаю нейросети мою схему. «Сгенерируй интерфейс BookingRepository для этого агрегата, сгенерируй Value Object TimeSlot с валидацией, сгенерируй use case ReserveBooking с пессимистичной блокировкой и транзакцией.» И нейросеть делает то, для чего она создана — выполняет черновую работу под полным моим контролем.
Я получаю enterprise-решение, устойчивое к нагрузке. Безопасное. Тестируемое. Каждый слой делает свою задачу.
Разница не в скорости. Разница в том, что мой код выживет под нагрузкой в 10 000 пользователей. А «нейросетевой» вариант ляжет на первой тысяче. И клиент заплатит мне в десять раз больше, потому что я отвечаю за результат, а не за «работает у меня на ноутбуке».
Что в итоге
Нейросети не заменят программистов. Они заменят тех, кто, кроме «покрасить кнопку», ничего не умеет. Тех, кто всю карьеру был макакой с клавиатурой и так и не научился думать системно. Тех, кто гордится знанием синтаксиса больше, чем пониманием архитектуры.
Если твой потолок — это CRUD на фреймворке, начинай обновлять резюме сегодня. Через год тебя заменит студент с подпиской на Cursor. Через два — сам Cursor, без студента.
Но если ты понимаешь, как данные распределяются по узлам, как работает память, как настраивается изоляция, как строится безопасность, как разводятся воркеры на сервере, как держать свою локальную LLM в своём контуре — у тебя в руках появился экскаватор. Пока остальные ковыряют землю лопатой.
Время — единственный невосполнимый ресурс. Не тратьте его на то, что машина делает за секунду. Тратьте на то, чего машина не умеет — на мышление, на проектирование, на ответственность за результат.
Перестаньте молиться на синтаксис. Учите законы построения систем. Абьюзьте ИИ на сто процентов — сгружайте на него рутину. Но контроль над ядром оставляйте за собой.
Кто здесь Оператор — пишите в комменты свой стек, посмотрим, кто как организует пайплайн. Кто Прокладка — пишите, с чего начнёте. Лучше начать сегодня, чем оказаться в курьерах через год.