← AI-native IDEs: Cursor, Copilot, and the new editor workflow
01 / 07 · 35 min

Three gears: autocomplete, chat, and agent

A mental model of the AI editor: how autocomplete, chat, and agent mode differ, how much control you cede at each gear, and how to pick a mode for the size and risk of a task.

Lesson content is currently available in Russian.

What you will learn

  • →Различать три режима AI-редактора по уровню делегирования и цене ошибки.
  • →Выбирать режим под задачу по трём осям: размер изменения, ясность намерения, риск.
  • →Замечать момент, когда выбранная передача перестала работать, и переключаться.

Коробка передач AI-редактора

AI-нативный редактор — это не один инструмент, а три разных режима работы с моделью, и путать их дорого. Autocomplete продолжает то, что вы уже печатаете: модель видит файл и позицию курсора, предлагает следующий фрагмент серым «ghost text», вы принимаете его клавишей Tab. Chat — разговор о коде: вы задаёте вопрос или описываете изменение, модель отвечает текстом и блоками кода, которые ещё нужно применить. Agent mode — делегирование: агент сам читает файлы, строит план, редактирует несколько модулей и запускает команды, а вы принимаете результат по диффу.

Полезная метафора — коробка передач. Первая передача (autocomplete) даёт максимальный контроль: вы видите каждое предложение до того, как оно попадёт в код, цена ошибки — одна-две строки. Вторая (chat) — вы отдаёте модели формулирование решения, но применяете правки сами. Третья (agent) — вы отдаёте и решение, и исполнение, оставляя себе ревью и проверку.

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

Autocomplete: скорость на прямой

Механика автокомплита одинакова везде: серое предложение появляется по мере набора, Tab принимает его целиком, Esc отклоняет. В Cursor частичное принятие — Cmd+→ (по слову), в Copilot варианты листаются через Alt+] и Alt+[. Современный автокомплит предсказывает не только вставку нового кода, но и следующую правку существующего: Cursor Tab после переименования поля предложит обновить остальные использования и сам перепрыгнет к следующему месту изменения; в Copilot то же делает функция Next Edit Suggestions.

Где эта передача сильна: boilerplate, тесты по образцу соседних, повторяющиеся структуры, код, который вы и так собирались написать, — модель просто печатает быстрее вас. Здесь автокомплит даёт чистый выигрыш времени почти без риска, потому что вы способны мгновенно оценить каждое предложение.

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

Chat: обсуждение перед изменением

Вторая передача — чат о коде: в Cursor это режим Ask, в VS Code — Copilot Chat в режиме Ask. Его работа — не редактировать, а объяснять и предлагать: разобраться в незнакомом модуле, сравнить два подхода, расшифровать ошибку, набросать план изменения. Контекст вы добавляете явно: в Cursor — @-символы (@Files, @Folders, @Code), в Copilot — переменные вроде #file и участник @workspace для вопросов по всей кодовой базе. Ответ приходит блоками кода, которые вы применяете вручную или кнопкой Apply — момент применения остаётся за вами.

Главная ценность чата — он заставляет сформулировать намерение до правок. Хорошая привычка: перед любым нетривиальным изменением задать три вопроса — «как сейчас устроено X?», «какие есть варианты изменить X под Y?», «какие риски у варианта Z?» — и только потом переходить к правкам на подходящей передаче. Пять минут такого диалога часто экономят час переделок.

Антипаттерн — использовать чат как медленный автокомплит: просить «напиши функцию», копировать результат, просить следующую. Если вы уже точно знаете, что нужно, и изменение локально — быстрее Cmd+K или Tab. Если изменение многофайловое и вы готовы его описать — пора на третью передачу.

Agent: делегирование и правило выбора

Третья передача — агент: в Cursor это панель Agent (бывший Composer), в VS Code — agent mode в Copilot Chat. Вы описываете цель, агент сам находит нужные файлы, редактирует их, запускает терминальные команды и итерирует, пока задача не решена. Защитные механизмы встроены: Cursor создаёт checkpoints с возможностью отката, VS Code просит подтверждение на запуск команд. Ваша роль смещается от написания кода к постановке задачи и ревью диффа.

Как выбирать передачу? Оцените задачу по трём осям. Размер: строка — функция — несколько файлов. Ясность: точно знаю, что писать — знаю смутно — не знаю. Риск: одноразовый скрипт — обычный код — критичный модуль. Знаю точно и локально → Tab или Cmd+K. Не понимаю, как подступиться → chat, пока не появится план. Понимаю цель, изменение многофайловое, риск управляем → agent с обязательным ревью. Критичный код на любой передаче требует парного внимания: тесты до и после, маленькие шаги.

И следите за сигналами переключения. Третий раз переписываете промпт агенту — спуститесь на передачу ниже: задача не сформулирована. Руками делаете десятую однотипную правку — поднимитесь выше: это работа для агента. Умение вовремя переключаться и отличает нового специалиста от человека, который просто «пользуется нейросетью».

Practice

Три задачи — три передачи

Выберите в своём рабочем репозитории три реальные микрозадачи: (1) код по знакомому образцу, (2) вопрос по незнакомому участку плюс мелкая правка, (3) небольшое изменение на 2–3 файла. Выполните каждую на подходящей передаче: Tab/автокомплит, chat, agent.

Deliverable

Три диффа и таблица 3×4: задача, выбранный режим, что делегировали модели, что оставили под ручным контролем.

Checkpoint

На примере своих трёх задач объясните, почему каждый режим был адекватен: сколько контроля вы отдали, какова была цена возможной ошибки и по какому сигналу вы бы переключили передачу?

  • ✓ Названы три режима и различие между ними по уровню делегирования.
  • ✓ Выбор режима обоснован через размер изменения, ясность намерения и риск.
  • ✓ Сформулирован хотя бы один личный сигнал переключения между режимами.

Check yourself

Какой режим даёт максимальный контроль над каждой строкой кода?

01Какой режим даёт максимальный контроль над каждой строкой кода?

Вы приняли подсказку автокомплита с мыслью «вроде похоже на правду». Что это за сигнал?

02Вы приняли подсказку автокомплита с мыслью «вроде похоже на правду». Что это за сигнал?

Чем agent mode принципиально отличается от chat?

03Чем agent mode принципиально отличается от chat?

Вы третий раз переписываете промпт агенту, а результат всё не тот. Что делать?

04Вы третий раз переписываете промпт агенту, а результат всё не тот. Что делать?

Почему невнимательность на третьей передаче дороже, чем на первой?

05Почему невнимательность на третьей передаче дороже, чем на первой?

Sources

Three gears: autocomplete, chat, and agent · AI-native IDEs: Cursor, Copilot, and the new editor workflow · VORCL