Окно цели отличается от остальных: в нём сразу три кнопки, потому что цель можно не только задать, но и снять.
Окно цели
Цель треда — это короткая задача, которую агент держит в голове на протяжении всего диалога, даже если вы давно про неё не вспоминали.
- Открывается пункт Goal в меню треда. Подпись пункта объясняет, что речь о задаче и о бюджете токенов на неё.
- Справа от пункта видна текущая цель или пометка not set, если цель ещё не задана.
- Заданная цель дублируется чипом goal в меню, поэтому её видно, не открывая окно.
- В окне два поля: сама цель и бюджет токенов.
- Поле цели многострочное, потому что задачу обычно приходится описывать подробно.
- Поле бюджета однострочное и принимает только цифры, буквы и другие символы просто не вводятся.
- Бюджет помечен как необязательный, его можно оставить пустым, и тогда ограничения не будет.
- Кнопка Save отправляет цель агенту. После успеха в переписке появляется уведомление Goal set.
- Если агент отклонил запрос, появляется уведомление Server rejected the goal, и цель при этом не меняется.
- Кнопка Clear снимает цель, и она появляется в окне только когда цель уже задана.
- Пустое поле цели при сохранении работает как снятие цели, отдельного подтверждения при этом не спрашивается.
- Кнопка Cancel закрывает окно без изменений.
Окно расхода токенов
Окно токенов показывает, сколько места в контексте модели занято, сколько осталось и из чего сложился расход.
- Открывается пункт Tokens в меню треда. Подпись пункта говорит про окно контекста и разбивку расхода.
- Справа от пункта может стоять процент занятости контекста, а в меню он же дублируется чипом context.
- Окно состоит из отдельных разделов, каждый со своим названием и списком строк.
- Раздел Context отвечает на главный вопрос: сколько токенов занято сейчас, какое окно у модели, сколько осталось и каковы обе доли в процентах.
- Раздел Thread показывает, сколько раз переписку сжимали. Это число растёт по мере сжатий.
- Раздел This turn разбирает расход последнего хода по частям: всего, ввод, из них закэшированный ввод, запись в кэш, вывод и размышления модели.
- Раздел Thread total показывает то же самое, но по всему диалогу целиком.
- Некоторых разделов может не быть: приложение показывает только те, для которых движок прислал данные.
- Пока вы не отправили ни одного сообщения, вместо разделов показана короткая надпись о том, что токенных данных ещё нет.
- Числа подписаны слева, значения справа, и крупные значения сокращаются: например, 12.5K вместо полного числа.
- Разделы с большим числом строк прокручиваются, окно не растёт бесконечно.
Сжатие переписки
Сжатие убирает старую переписку и заменяет её короткой сводкой, чтобы освободить место в контексте модели.
- Пункт Compact context стоит в меню треда и подсказывает, что история будет заменена сводкой.
- Пункт всегда спрашивает подтверждение отдельным окном, потому что полную историю переписки после этого вернуть нельзя.
- В окне прямо сказано, что будет: переписка схлопнется в короткое резюме и отменить это невозможно.
- Кнопка Compact запускает сжатие, Cancel закрывает окно и ничего не делает.
- Пока сжатие идёт, пункт в меню меняет подпись на Compacting context… и становится недоступным.
- Сжатие недоступно, пока идёт ход агента, поэтому дождаться конца работы придётся заранее.
- Пока идёт сам процесс, в ленте появляется полоса Compacting context со своим таймером, а не с временем хода.
- Когда сжатие закончилось, в ленте остаётся строка-разделитель вида Context compacted с указанием, сколько заняло сжатие.
- Если сжатие не уложилось в десять минут, приложение прекращает ждать и показывает предупреждение, но само сжатие при этом не отменяется и может ещё закончиться позже.
- В ленте во время сжатия ничего не рисуется: индикация живёт только в полосе работы, чтобы не путать с обычным ходом агента.
Перенос в новый диалог
Перенос заканчивает текущий диалог и открывает новый, передав агенту сводку сделанного, чтобы он продолжил с того же места.
- Пункт Continue in new thread стоит в меню треда и подсказывает, что будет создан новый диалог со сводкой.
- Пункт недоступен, пока идёт ход агента или отправляется сообщение, а также если диалог ещё не создан.
- При открытии окна приложение само собирает сводку из переписки: цель, последние запросы, текущее состояние и то, что уже сделано.
- Сводка приходит обычным текстом с заголовками, поэтому вы сразу видите, что именно перенесётся.
- Сводка обрезается по длинам: цель и ответы агента короче, а из вывода команд попадает только самый конец, потому что именно он важнее.
- Поле сводки многострочное и большое, в нём можно править текст перед отправкой.
- Кнопка Create & switch создаёт новый диалог и переключает на него, а сводка становится первым сообщением в новом диалоге.
- Пока новый диалог создаётся, пункт в меню показывает Creating new thread и временно недоступен.
- Кнопка Cancel закрывает окно, ничего не перенося, и текущий диалог остаётся как был.
- Если сводка пустая, перенос не происходит, и приложение сообщает, что продолжать нечего, потому что диалог пуст.
- Внутри сводки может быть до четырёх блоков: цель, последние запросы, текущее состояние и сделанные команды с их выводом. Пустые блоки в сводку не попадают.
Технические данные
| Параметр | Значение |
|---|---|
| Окон на экране | 4 |
| Обязательных полей | нет, все четыре окна можно закрыть отменой |
| Подтверждение перед необратимым действием | только у сжатия переписки |
| Символы в поле бюджета цели | только цифры |
| Формат крупных чисел токенов | 12.5K, а миллионы как 1.5M |
| Разделов в окне токенов | Context, Thread, This turn и Thread total |
| Что показывает окно токенов до первого сообщения | надпись об отсутствии данных |
| Число запросов в сводке при переносе | до 6 последних |
| Сколько последних ответов агента попадает в сводку | до 2 |
| Сколько последних команд попадает в сводку | до 4 |
| Предел ожидания при сжатии | 10 минут |
| Заголовки в сводке переноса | цель, последние запросы, текущее состояние, что сделано |
Что агент умеет
- Агент может держать цель диалога в голове на протяжении всей работы, и вы задаёте её один раз, а не повторяете в каждом сообщении.
- Агент получает бюджет токенов вместе с целью и сам решает, как его учитывать.
- Агент может продолжать с того же места в новом диалоге: сводка передаёт ему, что было задумано, что уже сделано и где вы остановились.
- Агент может освободить место в контексте сжатием переписки, и тогда длинная работа продолжается без того, чтобы окно контекста переполнилось.
- Расход каждого хода виден по частям, поэтому сразу понятно, сколько стоит один заход агента против другого.
Ограничения
- Сжатие переписки необратимо: полная история диалога после него не восстанавливается, остаётся только сводка.
- Сжатие нельзя запустить во время хода агента, поэтому в длинной работе придётся дождаться паузы.
- Сжатие показывает строку в ленте, но саму сводку в переписке не показывает: что именно агент выбросил, остаётся неизвестным.
- Бюджет токенов приложение только передаёт агенту и больше нигде его не показывает: счётчика расхода по этой цели в приложении нет, и ход по нему не останавливается.
- Пустая цель при сохранении снимается без вопроса, поэтому случайно стёртый текст цели можно потерять одним нажатием.
- Перенос собирает сводку простым правилом, а не пониманием смысла диалога: длинные обрезаются, а из команд в сводку попадает только конец вывода.
- Перенос в новый диалог недоступен, пока идёт ход или отправляется сообщение, и при пустом диалоге он просто ничего не делает.
- Сводка при переносе идёт обычным сообщением, поэтому новый диалог начинается с чужого текста, а не с вашего вопроса.