- Главная
- Искусственный интелект
- Управление сессией ИИ-агента: полный цикл
Управление сессией ИИ-агента: полный цикл
По мере развития курса мы перешли от теории к практике: научились запускать агента, вести базовый цикл вопрос → действие → проверка и замечать признаки Dumb Zone. Теперь углубимся в управление сессией — осознанный запуск, переключение между задачами через границы сессий, пауза, завершение и принятие решения, когда пора закончить текущую сессию и начать новую. Это практический навык, который отличает инженерный подход от vibe coding.
Что такое сессия агента на практике
Сессия — это не просто «окно ввода». Это ресурс с ограниченной ёмкостью, который вы расходуете. Каждый запрос, каждая прочитанная строка, каждый вывод команды занимает место в контексте. Управление сессией — это управление этим ресурсом: вы решаете, когда потратить токены на исследование, когда — на генерацию, а когда — остановиться и начать заново.
Основное правило: LLM не сохраняет состояние между сессиями. Закончили сессию — агент «забыл» всё, что было. Поэтому перед завершением нужно явно зафиксировать, что вы сделали, и сохранить ключевые выводы для следующей сессии.

Запуск сессии
- Стартовый контекст. После запуска агент сообщает, сколько токенов занято начальным контекстом. Если базовая линия превышает 10–15% от окна, посмотрите, какие инструкции загружены. Возможно, в AGENTS.md попал мусор или подключены ненужные файлы. Стартовый контекст — это те токены, которые вы потратили до первого вопроса: чем они меньше, тем больше рабочего пространства остаётся.
- Текущая директория. Агент привязан к директории запуска. Убедитесь, что вы находитесь в корне проекта или в правильной поддиректории. Сессия, запущенная в /tmp, не увидит вашего проекта.
- Цель сессии. Сформулируйте для себя одной фразой, что вы хотите сделать в этой сессии. Не «поработать над проектом», а «добавить эндпоинт сброса пароля». Цель определяет, что вы будете держать в фокусе, а что — игнорировать.
Три проверки занимают 30 секунд, но экономят часы: запуск не в той директории или раздутый стартовый контекст обнаруживаются сразу, а не после десяти минут работы.
Первый запрос новой сессии
Есть соблазн начать сессию с «давай сделаем Х». На практике эффективнее начать с короткого вводного запроса, который синхронизирует вас и агента:
Я работаю над проектом. Вот текущая задача: [одна фраза].
Посмотри структуру проекта и подтверди, что понимаешь, какие файлы нужно менять.
Этот запрос не делает работу, но заставляет агента изучить контекст и подтвердить понимание. Если агент неправильно понял структуру или цель — вы узнаете об этом на первой же секунде, а не в конце. Если подтверждение совпадает с вашим пониманием — можно начинать.
Запишите цель сессии в первой строке чата или в отдельный файл session-goal.md. Когда через час работы агент начнёт уходить в сторону, верните его одной фразой — «вернись к цели сессии: [текст]». Это стоит 5–10 токенов и восстанавливает фокус быстрее, чем объяснение заново.
Навигация внутри сессии
Когда сессия запущена и первый запрос подтвердил понимание, начинается основная работа. Внутри одной сессии можно пройти несколько мини-циклов вопрос → действие → проверка. Ключевые приёмы навигации.
Смена направления без потери контекста
Если в процессе работы вы поняли, что нужно изменить подход, не начинайте сессию заново. Используйте redirect-запрос:
Стоп. Забудь предыдущее направление. Вот новый подход: [кратко].
Сделай минимальный шаг в этом направлении и подтверди, что понял.
Redirect-запрос «сбрасывает» текущую линию рассуждения агента, но сохраняет весь изученный контекст — структуру проекта, прочитанные файлы, выводы команд. Вы теряете только непродуктивное направление мысли, а не проделанную исследовательскую работу. Это гораздо дешевле, чем завершить сессию и запустить новую.
Фиксация промежуточных результатов
Внутри сессии удобно использовать «чек-поинты» — короткие запросы на фиксацию того, что сделано:
Суммируй, что сделано за последние 5 шагов.
Какие файлы изменены, какие решения приняты.
Чек-поинт даёт две вещи. Во-первых, он создаёт в контексте компактную «точку сборки» — агент сам структурирует историю, и его следующие ответы будут опираться на эту структуру, а не на хаос промежуточных шагов. Во-вторых, вы получаете готовую заметку для handoff, если сессию всё-таки придётся завершить.
Когда приостановить, а когда завершить
Работа прерывается — обед, встреча, конец дня. У вас есть два варианта действий.
| Ситуация | Действие |
|---|---|
| Вернётесь через 10–30 минут | Оставьте сессию открытой. Агент не «остывает». Просто запишите на чём остановились — одной фразой в чат. |
| Вернётесь через несколько часов или на следующий день | Сделайте чек-поинт, сохраните ключевые выводы в файл (handoff) и завершите сессию. При запуске новой стартовый контекст будет чище, чем «отдохнувшая» старая сессия с заполненным окном. |
| Не уверены, когда вернётесь | Завершайте. Дешевле запустить новую сессию с handoff, чем держать в голове, что «там что-то было недоделано» и возвращаться в раздутый контекст через неделю. |
Правило простое: если перерыв больше, чем время, которое вы уже проработали, — завершайте сессию. Старый контекст к тому моменту уже частично занят шумом, а новый старт с handoff будет эффективнее.
Завершение сессии: clean exit
Завершение сессии — не менее важный навык, чем её запуск. Закончить сессию можно в любой момент: команда выхода или Ctrl+C. Но clean exit — это последовательность действий перед выходом, которая сохраняет результат и готовит почву для следующей сессии.
Три шага clean exit
- Зафиксируйте сделанное. Попросите агента суммировать, что сделано за сессию. Что изменено, что решено, какие вопросы остались открытыми. Это и есть handoff — компактная заметка для следующей сессии.
- Сохраните handoff в файл. Не держите заметку в голове и не оставляйте её в чате, который исчезнет при закрытии сессии. Запишите в файл — например,
HANDOFF.mdили серию коммитов с осмысленными сообщениями. - Закоммитьте изменения. Если в процессе работы были изменены файлы, сделайте коммит. Незакоммиченная работа после закрытия сессии — это потерянный прогресс, потому что вы не сможете объяснить агенту в следующей сессии, что именно было сделано.
# Пример handoff-заметки
## Сессия 2026-09-17 — добавление эндпоинта сброса пароля
### Сделано
- Создан файл src/routes/reset-password.ts с POST-эндпоинтом
- Добавлена валидация email через регулярное выражение
- Написаны тесты в tests/reset-password.test.ts (2 проходят, 1 падает)
### Открытые вопросы
- Не решено, отправлять ли письмо с токеном или ссылкой
- Валидация токена пока заглушена — нужно реализовать проверку срока жизни
### Следующий шаг
- Исправить падающий тест (токен истёк — ошибка 410)
Шаблон handoff-заметки сохраните как файл handoff-template.md в проекте. Когда нужно завершить сессию, просто попросите агента заполнить его. «Заполни шаблон handoff-template.md по текущей сессии» — один запрос, и handoff готов. Не нужно каждый раз придумывать формат заново.
Признаки, что пора создавать новую сессию
Контекст заполнен на 50–60%. Это не жёсткая граница, но надёжный ориентир. Если окно на 100 000 токенов, а занято 55 000 — вы в зоне риска. Если окно на 32 000, а занято 18 000 — вы уже почти в Dumb Zone. Не ждите симптомов — планируйте завершение сессии при 50%.
Задача изменилась. Вы планировали править баг, а теперь нужно писать новую фичу. Даже если контекст заполнен всего на 20%, старая сессия «заточена» под старую задачу — в контексте есть файлы, рассуждения и промежуточные решения, нерелевантные для новой задачи. Начать новую сессию дешевле, чем чистить старый контекст redirect-запросами.
Вы не можете кратко объяснить, чем сейчас занят агент. Если вы открываете терминал и не можете сходу сказать, что делает агент и на каком он шаге — контекст сессии потерял управление. Останавливайтесь, делайте чек-поинт и решайте, нужна ли новая сессия.
Агент начал «переписывать» уже сделанное. Когда модель перестаёт замечать, что нужный код уже есть, и начинает генерировать его заново — это верный признак, что контекстная история потеряла связность. Сессия слишком длинная. Завершайте.
Решение для любого из этих признаков одно: handoff + новая сессия. Не пытайтесь «дожать» текущую — это почти всегда выходит дороже, чем clean exit и перезапуск с компактным handoff.
Итоги
Чем раньше вы начнёте сознательно управлять сессиями — не «запустил и забыл», а спланировал, выполнил, завершил, — тем больше работы вы будете успевать в одной сессии и тем реже будете попадать в Dumb Zone.
В следующем уроке перейдём к практическим приёмам взаимодействия с агентом прямо в терминале: научимся формулировать запросы так, чтобы получать нужный результат с первого раза, без лишних циклов уточнений.
Глоссарий
- Сессия агента — последовательность запросов и ответов в одном контекстном окне, от запуска до завершения.
- Осознанный старт — запуск сессии с проверкой стартового контекста, директории и цели.
- Вводный запрос — первый запрос в новой сессии, синхронизирующий понимание задачи между пользователем и агентом.
- Redirect-запрос — команда смены направления работы внутри сессии без потери накопленного контекста.
- Чек-поинт — промежуточная фиксация сделанного внутри сессии (запрос «суммируй, что сделано»).
- Clean exit — завершение сессии с фиксацией результатов, сохранением handoff и коммитом изменений.
- Handoff — структурированная заметка о состоянии работы для передачи между сессиями.
- Dumb Zone — состояние, в котором качество рассуждения агента деградирует из-за переполнения контекстного окна.