Skip to main content

Когда НЕ использовать AI-инструменты как разработчик

Каждая статья про AI рассказывает, когда тянуться к этим инструментам. Почти ни одна — когда их откладывать. После двух лет ежедневного использования — где AI стабильно делает инженеров хуже, и что делать вместо.

Когда НЕ использовать AI-инструменты как разработчик

Я использую AI-инструменты каждый день. Я веду курсы по разработке с ними. Я не из тех, кто говорит, что это хайп. Но за два года наблюдений за инженерами — включая себя — я могу назвать ситуации, в которых AI стабильно делает работу хуже.

Если в этом году вы прочитаете одну контр-статью про AI в разработке — пусть это будет эта. Цена злоупотребления реальна и в основном невидима до момента, когда становится дорогой.

Правило 1: не учите фундамент через AI

Это то, что я бы написал на билборде.

Когда вы junior или подбираете новый язык, соблазн непреодолимый. Спрашиваете Claude или Copilot, получаете рабочий ответ за 10 секунд, вставляете, релизите. Баг исправлен. Дальше.

Что вы не сделали: не прочитали доку, не держали структуру данных в голове, не боролись с системой типов, не построили ментальную модель. Через полгода вы не можете дебажить свой код без AI. Не узнаёте паттерны. Ваши code review поверхностны, потому что без AI не видите, что не так.

Я наблюдал это у нескольких junior-инженеров, которых менторил. Они шипят больше за первые три месяца, чем junior’ы раньше. К девятому месяцу — плато, из которого тяжело восстановиться, потому что фундаментальные повторения не случились.

Эвристика: если вы не можете написать код без AI — вы не знаете тему. AI ок для второго раза, не для первого.

Правило 2: не используйте AI для имён, дизайна API и абстракций

Это то, что больше всего удивляет инженеров, когда я говорю это вслух.

LLM производят технически корректные имена и API. Они почти никогда не производят хороших. Разница — во вкусе: знать, что processData() — это запах, что метод с 7 параметрами просится в класс, что эта абстракция преждевременна, а та запоздала. Вкус строится годами поддержки чужого кода, особенно собственного прошлого.

Я перестал делегировать агенту:

  • Имена функций и методов
  • Границы классов и зоны ответственности
  • Дизайн API (какие аргументы, какая форма возврата, какие ошибки)
  • Когда выделять абстракцию
  • Когда не выделять

Агент даст защищаемый ответ на всё это. Редко правильный. Цена всплывает через месяцы, когда никто уже не может прочитать код.

Правило 3: не дебажьте production через AI без observability

Эта ловушка чаще ловит senior’ов, чем junior’ов.

Баг в проде. Вы вставляете стектрейс в Claude. Он правдоподобно угадывает. Вы внедряете фикс. Ошибка перестаёт появляться в тестовой среде. Шипите. Через две недели ошибка возвращается.

Что произошло: стектрейс был симптомом, не причиной. Агент угадал причину по симптому — без ваших distributed traces, метрик, истории деплоев и четырёх связанных ошибок в тот же час. Он произвёл фикс, который адресовал что-то, но не проблему.

Дебаг production требует:

  1. Воспроизвести или точно охарактеризовать сбой
  2. Изолировать, какое изменение его внесло
  3. Построить гипотезу из реальных сигналов (логи, traces, метрики)
  4. Проверить, что фикс реально адресовал root cause

AI полезен на шагах 3 и 4 — но только после того, как вы сделали 1 и 2. Пропустите — и применяете правдоподобные пластыри вечно.

Правило 4: не делайте через AI того, что не можете оценить

Если не можете отличить хороший ответ от плохого — у вас нет дела спрашивать AI.

Звучит очевидно. Но это не так. Где это кусает:

  • Пишете на языке, который плохо знаете. Агент пишет Rust, который компилируется и работает, но не идиоматичен. Шипите. Реальный Rust-инженер потом ревьюит репо — и там начинающие антипаттерны.
  • Архитектурные решения вне вашего опыта. «Kafka или RabbitMQ?» — не вопрос с одним ответом; зависит от operational concerns, которых агент не видит.
  • Security-чувствительный код. Агент даст код, выглядящий безопасным. Узнать, реально ли — только если понимаете threat model сами.

Во всех случаях AI не заменяет экспертизу. Он отмывает невежество в output, который вы шипите, не понимая, что не понимаете.

Правило 5: не используйте AI для однострочных правок

Эта мелочь, но реальная. Инженеры тянутся к AI, чтобы вставить одну строку или переименовать переменную. Ждут 4 секунды. Ревьюят результат. Принимают.

Та же правка занимает 1 секунду руками, если бы просто сделали. Совокупное время ожидания агента на тривиальных правках, по моим замерам, больше времени, которое он экономит на средних.

Эвристика: если пальцы знают, что набирать — набирайте. Агент — для случаев, когда работа в том, чтобы решить, что набирать.

Правило 6: не используйте AI для того, что должно быть в памяти

Что должно жить в голове — договорённость с другой командой, ограничение, которого нет в коде, политически тонкий компромисс, объясняющий странность кода — это нельзя делегировать агенту. У агента нет памяти этого между сессиями. Он отрефакторит странный код, существующий по причине, которую никто не задокументировал.

Документируйте почему. В комментариях кода где уместно, в CLAUDE.md если агенту нужно знать, в design docs. «Почему» — часть инженерии, не передающаяся AI, и самая ценная часть.

Правило 7: не используйте AI, чтобы пропустить code review

Вы написали код. (Даже если набирал агент — вы написали, вы отвечаете.) Прочитайте. Строка за строкой. Вслух, если помогает.

Инженеры, пропускающие этот шаг потому что «агент уже валидировал», копят невидимый долг до момента, когда он становится подавляющим. Валидация агента — статистическая: этот код похож на код, который работает. Это не то же, что валидация вдумчивого человека: этот код корректен для этой системы, в этом контексте, для того, чего я хочу достичь.

За два года это паттерн, наиболее коррелирующий с инженерами, чьи карьеры стопорятся: они относятся к AI как к gate’у качества. Это не он.

Что я делаю вместо

Для каждого случая — что я реально делаю:

СитуацияЧто я делаю
Учу новую темуСначала строю ментальную модель. AI — для второго проекта, не первого.
ИменаПишу три варианта руками. Выбираю лучший. Иногда прошу AI критику.
Production-дебагПодтягиваю логи, traces, метрики. Формирую гипотезу. Потом AI помогает с фиксом.
Код вне моей экспертизыПарю с человеком-экспертом, когда ставка оправдывает. AI — не замена.
Тривиальные правкиНабираю. Быстрее, без переключения контекста.
Важный контекстДокументирую. В коде, в CLAUDE.md, в design doc.
Code reviewЧитаю каждую строку, каждый раз. AI — junior-коллаборатор, не senior.

Глубже

Фрейм, который я бы предложил каждому инженеру задавать перед тем, как тянуться к AI:

Какой навык я строю — и AI делает меня сильнее или слабее в нём?

Для механической работы AI делает сильнее, освобождая время для важной работы.

Для работы суждения AI делает слабее, позволяя аутсорсить повторения, строящие суждение.

Инженеры, которые будут процветать в следующее десятилетие — те, кто видит разницу. Не те, кто использует AI агрессивнее, и не те, кто его отвергает. Те, кто точно знает, когда отложить.


Если хотите структурированный путь к работе с AI как реальным инженерным инструментом — с честным разбором tradeoffs — начните с Prompt Engineering и автоматизации AI-воркфлоу. Глубже в production AI-системы — курсы Разработка на Claude API и Claude Code Mastery подхватывают там, где статья заканчивается.

Поделиться
X LinkedIn
Следующий шаг

Закрепите эту тему на курсе

Структурированный путь от теории к production-коду — с проектами и код-ревью.

Oleksii Anzhiiak

Автор статьи

Oleksii Anzhiiak

Софтвер-архитектор, Senior .NET инженер и со-основатель

Алексей Анжияк — софтвер-архитектор, Senior .NET инженер и со-основатель ToyCRM.com и ProfectusLab. Имея более 15 лет опыта, он специализируется на распределённых системах, облачной инфраструктуре, высоконагруженной backend-разработке и платформах аутентификации. Занимается проектированием архитектуры, созданием безопасных систем авторизации и разработкой современных образовательных программ, которые помогают студентам получить реальные карьерные результаты.

LinkedIn →

Рекомендуем посмотреть

Подобранные сторонние видео по теме. Открываются на YouTube.

~1:56:00
Продвинутый Andrej Karpathy

Создаём GPT с нуля

Редкий практический разбор внутреннего устройства GPT — от теории к коду. Для инженеров, а не пользователей.

~11:00
Начинающий DeepLearning.AI

Объяснение Large Language Models

Чёткое и структурированное введение в LLM без перегрузки.

~32:00
Средний Sebastian Raschka

Как работают Transformer-модели

Инженерно точное объяснение архитектуры трансформеров.

Связаться с нами