Перейти к содержанию

Управление контекстом

В агентском режиме контекст решает очень многое. Чем лучше агент понимает, на что именно вы смотрите, в каких границах нужно работать и какие материалы важны, тем меньше уходит времени на лишние шаги и тем аккуратнее получается результат.

Хорошая новость в том, что агент умеет собирать контекст сам. Ещё лучше — вы можете направить его, если заранее дадите нужные ориентиры.

Что агент обычно понимает сам

По ходу работы агент уже видит и учитывает:

  • вашу текущую задачу;
  • историю диалога;
  • результаты своих предыдущих действий;
  • уже изученные файлы и найденные фрагменты;
  • изменения, которые успел предложить или применить.

Во многих случаях этого достаточно, чтобы начать двигаться.

Когда стоит добавлять контекст вручную

Явно добавленный контекст особенно полезен, если:

  • нужно сразу указать важный файл или папку;
  • агент должен следовать существующему паттерну;
  • задача касается конкретного участка проекта, а не всего репозитория;
  • вы хотите сократить количество лишних поисков и чтений.

Что удобно добавлять через @

Файлы

Если есть конкретный файл, от которого надо оттолкнуться, лучше показать его сразу.

@src/auth/service.ts Вынеси отсюда валидацию в отдельный модуль

Выделенный код

Если вас интересует не весь файл, а конкретный фрагмент, выделите его и откройте агент. Это особенно удобно для локальных исправлений и точечного рефакторинга.

@code Упрости эту функцию, но не меняй её внешнее поведение

Папки и части проекта

Если задача ограничена определённой областью, полезно обозначить её напрямую.

@src/components/profile Добавь новый компонент в этой части проекта

Поиск по кодовой базе

Когда сначала нужно понять, где и как уже решена похожая задача, хорошо помогает контекст по проекту.

@codebase Где в проекте уже используется JWT?

Ошибки и диагностика

Для исправления проблем особенно полезно сразу приложить сообщения об ошибках.

@problems Исправь эти ошибки TypeScript и начни с самых вероятных причин

Практические приёмы

Заранее ограничивайте область

Это один из самых полезных приёмов в агентском режиме.

Работай только в src/features/auth/
Не меняй конфигурацию проекта

Так вы снижаете шанс, что агент пойдёт слишком широко.

Показывайте образец, если важен стиль

Если вам важно, чтобы новый код выглядел как существующий, лучше сразу дать ориентир:

@src/components/common @src/theme
Создай новый компонент в том же стиле

Разбивайте сложную задачу на этапы

Если работа большая, полезно не загружать всё одним сообщением.

Сначала изучи, как устроен модуль аутентификации
Потом предложи план изменений
И только после этого переходи к правкам

Как понять, что контекста не хватает

Обычно это видно по поведению агента:

  • он начинает читать слишком много несвязанных файлов;
  • предлагает общие, а не проектные решения;
  • не замечает важный паттерн, который уже есть рядом;
  • задаёт вопросы, ответ на которые уже есть в нужном файле, но файл не был указан явно.

В таких случаях проще всего не спорить с результатом, а добавить недостающий ориентир через @ или сузить рамки задачи.

Как понять, что контекста слишком много

Слишком широкий контекст тоже мешает. Это бывает, когда к запросу добавлено слишком много файлов, папок и тем сразу.

Симптомы обычно такие:

  • агент начинает распыляться;
  • выполнение идёт медленнее;
  • ответы и действия становятся менее точными;
  • модель цепляется за второстепенные детали.

Если это произошло, помогает одно из двух:

  1. начать новую, более узкую сессию;
  2. переформулировать задачу и оставить только действительно важные материалы.

Хороший и плохой пример

✅ Лучше:

@src/auth.ts @src/types.ts
Создай сервис на основе этих типов и не меняй публичный интерфейс

❌ Слишком размыто:

@src/ @tests/
Сделай аутентификацию лучше

Главное правило

Если коротко: агенту полезен не максимальный, а релевантный контекст.

Не нужно пытаться показать ему весь проект сразу. Намного лучше дать:

  • конкретную цель;
  • 1–3 действительно важных ориентира;
  • ограничения по области работы;
  • при необходимости документацию или диагностику.

Куда идти дальше