Перейти к содержимому
Прогресс курса
0 из 12 модулей

Модуль 7

Память и контекст

Три уровня памяти агента: сессия, AGENTS.md проекта, глобальный AGENTS.md. Возврат в прерванную работу, побочные вопросы через /btw и подключение lean-ctx для сжатия того, что агент читает.

20 мин

Содержание модуля
  1. Сессия переживает терминал
  2. Глобальный AGENTS.md
  3. Побочный вопрос: /btw
  4. lean-ctx: шлюз контекста

Чему научишься

  • различать три уровня памяти агента: сессия, AGENTS.md проекта, глобальный AGENTS.md
  • возвращаться в прерванную работу через /sessions и opencode run --continue
  • задавать побочный вопрос командой /btw без роста контекста задачи
  • подключать lean-ctx к OpenCode и измерять экономию командой lean-ctx gain

Агент помнит ровно то, что где-то сохранено. В OpenCode v2 у памяти три уровня: сессия хранит историю диалога, проектный AGENTS.md хранит правила проекта, глобальный AGENTS.md хранит твои личные правила для всех проектов. Встроенной памяти, где агент сам записывает выводы между сессиями, в v2 нет: структуру ты держишь в файлах.

УровеньГде живётЧто хранитЧто переживает
Сессияфоновый сервер OpenCodeисторию диалога и правокзакрытие терминала
AGENTS.md проектакорень репозитория, в gitправила проекта: команды, структура, конвенциисмену агента и человека
Глобальный AGENTS.md~/.config/opencode/AGENTS.mdличные правила: язык ответов, стиль коммитоввсе проекты на машине
Проектный AGENTS.md разобран в модуле 3, здесь про остальные два уровня.

Сессия переживает терминал

История сессии живёт на фоновом сервере OpenCode; окно терминала её только показывает. Список сессий открывает /sessions, недавние показывает Ctrl+O. Из внешнего терминала последнюю сессию продолжает opencode run --continue.

Вчерашнее расследование не нужно начинать заново: открой сессию и спроси, на чём остановились.

Возврат в сессию расследования из модуля 2

/sessions

Открыта сессия «Баг отрицательного quantity» от вчера

На чём мы остановились?

Нашли и починили: POST /api/orders с quantity: -2 теперь возвращает 400, проверили curl'ом. По скидке из pricing.ts решений не принимали.

Глобальный AGENTS.md

Правила проекта читают все, кто открыл репозиторий. Личные правила в командный файл не положишь: язык ответов, привычка «сначала план», стиль коммитов касаются только тебя. Для них есть глобальный ~/.config/opencode/AGENTS.md: OpenCode читает его в каждом проекте на машине, в git он не попадает.

~/.config/opencode/AGENTS.mdДока: инструкции
# Мои правила

- Отвечай по-русски, термины оставляй как есть
- Коммиты по Conventional Commits: feat, fix, docs
- Перед правкой чужого кода покажи, что собираешь менять
Правило работает с первого вопроса

Как оформляем коммиты?

В проектном AGENTS.md стиля коммитов нет, действуют твои личные правила из глобального файла: Conventional Commits, типы feat, fix, docs.

Побочный вопрос: /btw

Внутри задачи всплывают побочные вопросы: почему падает тест, чем typeof отличается от instanceof. Спрашивай через /btw <вопрос>: ответ соберётся на контексте сессии и текущей модели, но в диалог не попадёт и на дальнейший ход задачи не повлияет.

Побочный вопрос внутри задачиДока: TUI
/btw чем typeof отличается от instanceof?
Ответ покажет рядом с диалогом, история сессии не вырастет.

lean-ctx: шлюз контекста

Длинные логи тестов и полные листинги файлов съедают окно контекста раньше, чем задача решена. LeanCTX ставит локальный шлюз между агентом и тем, что он читает: MCP-инструменты ctx_* отдают структурные чтения и кэш, shell-обёртка сжимает вывод команд. Для OpenCode включается гибридный режим одной командой init.

Установка и подключениеДока: LeanCTX
npm install -g lean-ctx-bin            # бинар через npm, работает на Windows
lean-ctx init --agent opencode         # подключить к OpenCode: MCP + сжатие команд

lean-ctx read src/routes/orders.ts -m map   # структурный взгляд вместо полного текста
lean-ctx -c "git log -n 10 --oneline"       # сжатый вывод команды для агента
lean-ctx gain                               # сколько контекста сэкономили

Окупается на ежедневной работе: шумные shell-команды (тесты, сборки, git) и репозиторий от 50 файлов. На крошечном репо с редкими командами экономия близка к нулю, и README проекта честно об этом говорит. Свою цифру смотри командой lean-ctx gain, недельный итог — lean-ctx savings --period week.

Практика модуля

  1. Дока: инструкции
    # Мои правила
    
    - Отвечай по-русски, термины оставляй как есть
    - Коммиты по Conventional Commits: feat, fix, docs
    - Перед правкой чужого кода покажи, что собираешь менять
  2. как оформляем коммиты?
  3. Дока: TUI
    /sessions
  4. Дока: CLI
    opencode run --continue "что осталось сделать по скидке из pricing.ts?"
  5. /btw чем typeof отличается от instanceof?
  6. Дока: LeanCTX
    npm install -g lean-ctx-bin
    lean-ctx init --agent opencode
  7. lean-ctx read src/routes/orders.ts -m map
  8. lean-ctx gain
    lean-ctx-off

Отмечено 0 из 8

Проверь себя

Вопрос 1 из 5

Прогресс квиза
Терминал закрыли и открыли заново. Где сейчас история вчерашней сессии?

Шпаргалка модуля

Память

Сессия
история диалога на фоновом сервере; /sessions, Ctrl+O
AGENTS.md проекта
правила проекта в git, модуль 3
Глобальный AGENTS.md
~/.config/opencode/AGENTS.md, личные правила для всех проектов

Возврат и побочные вопросы

/sessions
список сессий
opencode run --continue
продолжить последнюю сессию из терминала
/btw <вопрос>
побочный вопрос без попадания в диалог

lean-ctx

lean-ctx init --agent opencode
включить ctx_* и сжатие команд
lean-ctx read <файл> -m map
структурное чтение вместо полного текста
lean-ctx -c "<команда>"
сжатый вывод команды
lean-ctx gain
статистика экономии
lean-ctx-off / --raw
выключить сжатие / одна команда как есть