Хотите заказать веб-сайт? Связаться с нами

Отображение контекста в status line агента

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

Отображение контекста в status line агента

Почему «по ощущениям» недостаточно

Главная проблема контекста в том, что он невидим. Качество рассуждений агента деградирует по мере заполнения окна: пока сессия в Smart Zone, агент работает хорошо; за пределами — заметно глупеет.

Деградация не сопровождается предупреждением: агент просто постепенно путается, повторяется, теряет детали из начала диалога. Ощущение «что-то пошло не так» появляется поздно, когда токены уже потрачены.

Ситуацию усугубляет statelessness: каждый запрос заново отправляет модели весь контекст, и тысяча лишних токенов платится на каждом ходу. Субъективные сигналы — «стал медленнее», «забыл, что я просил» — всегда запаздывают. Только объективная метрика ловит проблему до того, как она начнёт стоить денег.

Что такое status line

Status line — постоянная строка внизу терминала, которую harness рисует поверх диалога.

Это служебная панель самой программы, а не ответ модели: она показывает состояние сессии без единого запроса к LLM. Строка обновляется в реальном времени, пока вы печатаете, пока агент думает, пока сессия просто открыта. В терминальном промптинге это ваш главный прибор управления.

Типичная статусная строка показывает несколько групп данных.

  1. Токены контекста. Использовано и лимит окна, часто в формате «12 400 / 32 000».
  2. Процент заполнения. Отношение использованного к лимиту — главный индикатор контроля Smart Zone.
  3. Стоимость сессии. Сумма, потраченная на запросы с начала разговора.
  4. Активная модель. Какая LLM обслуживает текущую сессию.
  5. Режим и статус. Состояние агента: думает, ждёт ввода, выполняет команду.
  6. Служебные пометки. Число открытых сессий, статус субагентов, предупреждения о порогах.

Не путайте status line с индикатором выполнения: это не анимация «погодите, работает», а приборная панель. Самый важный вопрос, на который она отвечает: сколько контекста осталось, пока сессия не ушла из Smart Zone.

Метрики контекста: что именно вы видите

Всё многообразие цифр на панели сводится к нескольким метрикам. Поняв, что значит каждая, вы начнёте читать строку как спидометр — одним взглядом.

Метрика Что означает Как использовать
Использовано токенов Сколько токенов занимает весь контекст сессии прямо сейчас Сравнивать с лимитом, следить за ростом на каждом ходу
Лимит окна Максимальный размер контекстного окна выбранной модели Знать, сколько работы влезет в сессию
Процент заполнения Отношение использованного к лимиту Главный триггер: приближение к границе Smart Zone
Стоимость сессии Деньги, потраченные на запросы с начала разговора Убирать контекст раньше, чем налог станет заметным
Активная модель Какая LLM обслуживает сессию Помнить, что лимит и стоимость привязаны к ней

Процент заполнения — производная величина: (использовано / лимит) × 100. Считать его вручную не нужно, но важно помнить: стопроцентный предел — не рабочая граница. Качество падает задолго до него, на отметке, где сессия покидает Smart Zone, и процентная шкала делает эту границу видимой.

Отдельная ценная метрика — стоимость. О цене вызовов мы уже подробно говорили, но там речь шла о расчётах постфактум. Status line показывает её в реальном времени: видно, как каждый «быстрый вопрос» добавляет копейки к счётчику. Это меняет поведение: когда цена сессии видна, становится понятно, почему выгоднее делать много мелких правок в одной лёгкой сессии, а не плодить тяжёлые.

Настройка status line в вашем harness

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

{
  "statusLine": {
    "show": true,
    "context": {
      "tokens": true,
      "percent": true,
      "limit": true
    },
    "cost": {
      "show": true,
      "currency": "USD"
    }
  }
}

Ключи в примере демонстрационные, но идея универсальна: включаете панель, выбираете метрики и задаёте формат. Если строка кажется шумной, уберите лишнее — оставьте только процент и стоимость: для контроля Smart Zone этого достаточно.

Кроме постоянной строки почти все harness дают команды ручного запроса: /context или /status внутри диалога, либо вызов из оболочки. Они полезны, когда панель отключена или нужно увидеть цифры в конкретный момент. Но ручные команды не заменяют постоянную видимость: пока вы думаете «а не пора ли проверить», панель уже ответила на этот вопрос.

Пороги и автоматизация уборки

Самая ценная функция status line — превращение гигиены контекста из «настроения» в систему с порогами. Суть: заранее определить три отметки и ввести для каждой автоматическое действие.
  1. До 50%. Рабочая зона. Ничего не делаем, печатаем дальше.
  2. 50-70%. Зона внимания. Закрываем текущую подзадачу, не начинаем новую крупную.
  3. 70% и выше. Зона решения. Завершаем задачу, чистим сессию или переносим ценное в новую.

Эти отметки работают в связке с приёмами из прошлого урока: уборка начинается не потому, что «кажется, пора», а потому, что стрелка пересекла порог. Многие harness позволяют добавить предупреждение от самого агента — при достижении процента он напомнит о необходимости сжать историю или перезапуститься.

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

Практика: читаем status line и действуем

Разберём рабочий день с настроенной строкой. Открываете сессию — панель показывает близкий к нулю процент: чистое начало, самая продуктивная зона.
Программист смотрит на индикатор заполнения контекста

Выполняете несколько правок, между задачами бросаете взгляд вниз: 40%, потом 55%. На отметке 60-70% применяете правило из предыдущей секции: текущую подзадачу заканчиваете до результата, а новую крупную не начинаете в этой сессии.

Сравнивайте цифры с поведением агента: если процент низкий, а агент путается — проблема не в объёме, а в структуре контекста, о которой говорил урок 28, и лечить её нужно не сжатием, а перезапуском. Если процент высокий, а агент всё ещё точен — не полагайтесь на удачу: следующие ходы могут всё испортить. Панель даёт повод проверить состояние сессии в связке с реальными результатами.

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

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

Итоги

Status line превращает управление контекстом из гадания в инженерную дисциплину: токены, процент заполнения и стоимость видны в реальном времени, без единого запроса к модели.

Настроив панель под себя и задав пороги, вы решаете, когда чистить сессию, по цифрам — раньше, чем сессия выйдет из Smart Zone и начнёт приносить ошибки.

В следующем уроке разберём другую сторону эффективной работы: проблему исследования кодовой базы, когда агент не смотрит в существующий код и вместо этого изобретает велосипед.

Глоссарий

  1. Status line — служебная строка внизу терминала, отображающая состояние сессии агента в реальном времени.
  2. Контекст сессии — весь текст, который отправляется модели при каждом запросе: история диалога, файлы, инструкции.
  3. Токен — единица измерения текста, на которую опирается LLM при обработке.
  4. Context window — максимальный объём контекста в токенах, который модель может обработать за один запрос.
  5. Процент заполнения — отношение использованных токенов к лимиту окна.
  6. Smart Zone — диапазон заполнения context window, в котором агент рассуждает качественно.
  7. Dumb Zone — состояние сессии, в котором переполненный контекст снижает качество работы агента.
  8. Порог заполнения — заранее выбранное значение процента, при пересечении которого выполняется действие по очистке.
  9. Стоимость сессии — сумма, потраченная на запросы к модели с начала разговора.
  10. Записка-передатка (handoff) — короткий файл с описанием сделанного и оставшегося для новой сессии.
  11. Statelessness — свойство LLM не сохранять состояние между запросами, из-за которого контекст отправляется заново при каждом ходу.
  12. Harness — программа-оболочка, через которую пользователь взаимодействует с LLM и управляет агентом.
  13. Сессия (session) — один непрерывный разговор с агентом, ограниченный context window.

Теги: