Когда AI coding становится токсичным: личный опыт с Copilot и Cursor

#ai-coding#productivity#frontend#dev-tools

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

Когда AI помогает, а когда мешает

На проекте с унаследованным AngularJS-кодом Copilot был спасением — он угадывал шаблонные $scope-биндинги быстрее, чем я успевал их печатать. Но сейчас я проектирую систему событий для Web Components, и здесь каждый триггер должен быть продуман до миллисекунды.

AI начинает предлагать:

  1. Очевидные, но бесполезные варианты (спасибо, я и сам знаю про addEventListener)
  2. Решения из чужих парадигм (React-хуки в нативном JS)
  3. Опасные антипаттерны (синхронные dispatchEvent в середине жизненного цикла)

Пример реального провала:

// Что предложил Copilot
element.dispatchEvent(new CustomEvent('update', {
  detail: data,
  bubbles: true,
  cancelable: true
}));

// Почему это плохо:
// 1. Не учитывает фазу жизненного цикла компонента
// 2. Detail передаётся по ссылке — риск мутаций
// 3. Cancelable без реальной стратегии отмены

Vibe coding vs. точные спецификации

Есть задачи, где AI-ассистенты работают идеально — например, при прототипировании или написании тестов. Я называю это «vibe coding»: когда точный результат не важен, а нужно быстро набросать структуру.

Но как только требуется соблюдение:

… начинается боль. Cursor (который я пробовал вместо Copilot) особенно грешит «креативными» интерпретациями. Он может заменить простой for...of на Array.reduce с side effects, потому что «так функциональнее».

Agentic workflow: как я научился делегировать

После месяца проб и ошибок выработались правила:

Сюрпризом стало, что для TypeScript-трансформаций AI часто полезнее, чем для ванильного JS. Он неплохо справляется с:

Но ключевое слово здесь — «помощник». Как только пытаешься переложить на него принятие решений, получается дорогостоящий техдолг.

Что попробовать в 2024

Из новинок, которые выглядят перспективно:

  1. RAG-интеграции для company-specific knowledge (вместо обучения на публичном коде)
  2. MCP-анализ (Multi-Criteria Prompting) — когда AI получает не одну, а несколько точек принятия решений
  3. Локальные модели типа CodeLlama для sensitive-кода

Главный урок: AI-ассистенты не заменяют экспертизу, они меняют её фокус. Вместо запоминания API теперь важно уметь:

P.S. Через два часа после отключения Copilot я поймал себя на том, что вручную пишу JSDoc для метода, который никогда не будет reused. Старые привычки умирают тяжело.


Попробуй сам: Cursor — AI-редактор для разработчиков.


Источник: https://dev.to/nirasynthcae26/deep-dive-ai-1gdf