harnsy

Чему нас научили три окна сессий агентов: порог передачи, контекст и стоимость токенов

В сентябре мы посчитали, куда уходят токены наших агентов, и увидели, что размер контекста умножает всё остальное. Потом мы поменяли несколько настроек и измерили три окна наших собственных сессий: до, на следующий день и через неделю. Вот чему нас научили замеры: как порог передачи, ожидание, сообщения и субагенты двигают контекст и стоимость и почему порог передачи — компромисс между непрерывностью работы и весом. Цифры, компромисс и то, что мы предлагаем попробовать дальше. Экономии мы не обещаем: это сессии одной команды.

10 мин чтенияPavel Buchnev

Главные цифры

0,101 $
цена одного шага основной сессии по прайсу API за последние три дня; 0,096 $ до правок, 0,075 $ на следующий день
36%
веса приходится на шаги с контекстом больше 400 тыс. токенов; 48% до правок, 14% на следующий день
715 тыс.
токенов — медианный контекст, на котором наши лиды передают дела, при пороге по умолчанию 400 тыс.
65
раз в сутки агент заново прогревает кэш после простоя больше часа; 10 до правок, 31 на следующий день
В этой статье
  1. Что мы поменяли
  2. Как мы сравнивали три окна
  3. Через день: шаг стоил на четверть дешевле
  4. Через неделю: решает порог передачи
  5. Что сдвинуло цифры: пороги передачи
  6. У ожидания есть цена
  7. Сообщения будят агентов с самым большим контекстом
  8. Субагенты взяли работу и остались дешёвыми
  9. Что мы предлагаем попробовать дальше
  10. Что измерено, а что нет
  11. Что из этого взять себе
  12. Где здесь harnsy

Это вторая статья о том, как наши агенты тратят токены. Первая посчитала неделю из 65 000 запросов и закончилась гипотезой: если размер контекста умножает вес каждого шага, надо держать его коротким. Потом мы поменяли несколько настроек и измерили снова, дважды: через день и через неделю. Два измерения показали разное, и эта разница научила нас больше всего.

Что мы поменяли

29 сентября мы включили четыре вещи:

  • Передачу дел на 40% окна: когда контекст агента доходит до этой отметки, harnsy просит лида передать роль свежему агенту, который начинает с записки. Порог, заданный для роли, сильнее порога по умолчанию.
  • Sonnet 5.5 на шести ролях (на тот момент), которые работают по процедуре или пишут текст. Разработчики, ревью и лиды остались на Opus 5.5.
  • Короткие документы ролей: у разработчика и лида они стали примерно втрое короче.
  • Пакеты уведомлений: в первый день 299 пакетов вместо 1 086 отдельных уведомлений.

Наш расчёт на прошлых шагах обещал около −20% веса основных сессий. За первые 17 часов цена шага упала примерно на четверть: совпало.

Как мы сравнивали три окна

Метод тот же, что в первой статье: записи, которые ведёт Claude Code, по строке на запрос, каждый запрос оценён по опубликованному тарифу API его модели, без дублей. Мы ограничили данные сессиями нашей компании и пересчитали окно «до» старым способом по всем проектам: цифры совпали с первым разбором (73 046 шагов, 7 044 $), так что сравнение честное. Из-за более узкой выборки средний контекст «до» здесь 305 тыс., а по всем проектам — 306 тыс.

ОкноПериодШагов
До23.09 00:00 – 29.09 21:30 (6,9 суток)40 759
Сразу после29.09 21:30 – 30.09 14:24 (16,9 часа)10 686
Сейчас05.10 00:00 – 08.10 00:00 (3 суток)33 406
Три окна. Суммы за сутки сравнивать нельзя: нагрузка разная. Мы сравниваем цену шага, контекст и доли.

Через день: шаг стоил на четверть дешевле

Шаг основной сессии, то есть шаг агента в его собственном разговоре, стоил 0,096 $ до правок и 0,075 $ сразу после. Средний контекст шага упал с 322 до 257 тыс. токенов. Вес в шагах больше 400 тыс. токенов упал с 48% до 14%.

Причиной был порог передачи. Шаг на том же размере контекста стоит одинаково до и после (0,089 $ и 0,090 $ на 200–400 тыс.): выигрыш дало только то, что контекст реже разрастался. Наша оценка, чего стоила каждая правка:

ПравкаЧто показали данныеВес
Передача дел на 40%Шаги больше 400 тыс.: 52% веса (все проекты) стали 14%. Повтор старых шагов при новых порогах даёт −20%.−15…−20% (расчёт и измерение)
Sonnet 5.5 на шести ролях3 235 шагов, 204 $. Те же токены по цене Opus 5.5 — 258 $. Sonnet пишет за шаг больше.около −5% (измерено)
Короткие документы ролейСвежие сессии на 12-м шаге несут на 11 тыс. токенов меньше, на 100-м — на 27 тыс.−2…−4% (измерено, перевод в деньги — оценка)
Пакеты уведомленийВ первый день на 787 пробуждений меньше.−1…−3% (оценка)
Что дала каждая правка в первом окне. «Измерено» — прочитано по записям; у «оценки» рядом допущение.

Через неделю: решает порог передачи

Мы измерили снова 5–8 октября, три полных дня. Шаг основной сессии теперь стоит 0,101 $ (до правок было 0,096 $, на следующий день 0,075 $). Средний контекст — 311 тыс. токенов, почти как исходные 322 тыс. Вес в шагах больше 400 тыс. — 36%. От следующего дня это отличается порогами передачи, как показывает следующий раздел.

Цена одного шага основной сессии

ОкноЗа шаг
До$0,096
Сразу после$0,075
Сейчас$0,101

$0,101 за шаг при порогах передачи 600–700 тыс.

По прайсу API. До: 23–29.09; сразу после: 29–30.09 (16,9 ч); сейчас: 5–8.10.2026.

Доля веса в шагах с контекстом больше 400 тыс. токенов

ОкноДоля
До48%
Сразу после14%
Сейчас36%
По прайсу API, те же окна.

Все шаги вместе, с субагентами, стоят 0,087 $ против прежних 0,091 $. Эта цифра смешивает две вещи: субагенты теперь несут 20% веса (было 3%), а их шаги дешёвые, 0,055 $. Лучшая мерка — основные сессии, где видны настройки.

Что сдвинуло цифры: пороги передачи

Причина — настройка. В первые дни октября пороги передачи подняли: разработчикам и ревью до 600 тыс., лиду сайта с 600 до 700 тыс.; у лида продукта 700 тыс. стояло с 30 сентября. Цифры ниже показывают, на каком контексте сессии реально передавали дела.

РольВ первом разбореСейчас
Разработчики и ревьюоколо 400 тыс.540–636 тыс.; 16 из 20 законченных сессий выше 550 тыс.
Лиды600–700 тыс. (настройка роли сильнее порога 40%)681–770 тыс., медиана 715 тыс.; все 8 законченных сессий
На каком контексте сессии реально передавали дела.

Кто делает шаги больше 400 тыс.

ГруппаДоля
Лиды48%
Разработчики и ревью48%
Все остальные4%
Доля веса в этих шагах, 1 041 $ за 3 дня, по прайсу API.

Роли, у которых остался порог 40% (дизайнер, DevOps, UX), держатся около своих цифр следующего дня. У ролей с более высокими порогами контекст длиннее и шаг тяжелее.

РольДоСразу послеСейчас
Продуктовая команда, разработчик$0,089 · 283 тыс.$0,070 · 218 тыс.$0,082 · 255 тыс.
Продуктовая команда, ревью$0,107 · 363 тыс.$0,065 · 194 тыс.$0,081 · 252 тыс.
Продуктовая команда, лид$0,105 · 422 тыс.$0,093 · 374 тыс.$0,101 · 388 тыс.
Команда сайта, лид$0,091 · 313 тыс.$0,073 · 258 тыс.$0,124 · 425 тыс.
Команда сайта, дизайнер$0,079 · 206 тыс.$0,069 · 168 тыс.$0,075 · 209 тыс.
Команда сайта, DevOps$0,088 · 260 тыс.$0,081 · 217 тыс.$0,093 · 244 тыс.
Цена шага и средний контекст по ролям. В ячейке: шаг по прайсу API · контекст.

Более высокий порог — компромисс, и мы измерили одну его сторону. Преемник, который начинает с записки, может потерять нить, а высокий порог этот риск снижает. Сколько высокий порог стоит в весе, мы измерили; сколько он бережёт, не измеряли.

Модели дорогих ролей не менялись. Доля Sonnet в весе упала с 27% до 11,5% только потому, что роли на Sonnet в эти три дня работали мало.

У ожидания есть цена

Второй рычаг — ожидание. Агент, простоявший больше часа, теряет кэш и должен записать весь контекст заново. До правок это случалось 10 раз в сутки, теперь 65, по 2,04 $ каждый раз, это 14% веса.

Прогрев кэша после простоя больше часа

ОкноВ суткиОдин прогрев
До10$3,28
Сразу после31$1,56
Сейчас65$2,04

14% веса теперь уходит на прогрев кэша.

В сутки и цена одного, по прайсу API.

Это не только утро. Прогревы идут весь день, с пиками в 10 часов и около полуночи. Медианная пауза — 2,7 часа; четверть пауз короче 1,5 часа, четверть длиннее 8. Чаще всего это лиды и разработчики, дальше DevOps, UX, ревью и дизайнер. Агент ждёт ревью или следующую задачу, а кэш за это время истекает.

Сообщения будят агентов с самым большим контекстом

Ходы, которые начало сообщение другого агента, теперь дают 65% веса (69% с отчётами субагентов), было 79%. Падение в основном объясняется тем, что часть работы ушла в субагентов, а не тем, что агенты стали иначе общаться.

Короткие ходы, от одного до трёх шагов вроде «принял», — 729 в сутки и 17% веса, по 0,225 $ за ход. Лиды делают 64% из них. На 1 000 шагов таких ходов было 101, потом 74, теперь 65: медленное снижение. Каждый такой ход дороже, чем в первом разборе (0,225 $ против 0,158 $), потому что контекст лидов при их более высоком пороге длиннее.

Субагенты взяли работу и остались дешёвыми

Доля субагентов выросла с 3% до 20% веса. Почти всё это разработчики, которые отдают сборку целиком субагенту. Такой субагент не передаёт дела и растёт без порога: самый большой дошёл до 783 тыс. токенов и весил 61 $. Всё равно шаги больше 400 тыс. дают лишь 2,9% веса субагентов, а их шаг дешёвый. Выносить работу в субагента полезно: основная сессия растёт медленнее.

Что мы предлагаем попробовать дальше

Это предложения, а не результаты. Каждая оценка — повтор наших прошлых шагов: плата за передачу 0,70 $, свежая сессия начинает с 60 тыс. токенов. Настоящая записка лида длиннее, поэтому выигрыш по лидам может быть чуть меньше. Проценты — доли всего веса, около 964 $ в сутки по прайсу API.

Пороги передачи (тыс. токенов)ВесЛишних передач в сутки
Лиды 400, остальные как сейчас−6,8%+1
Разработчики и ревью 400, остальные как сейчас−6,1%+4
Лиды 400 и разработчики с ревью 400−12,9%+5
Лиды 500 и разработчики с ревью 400−11,8%+4
Лиды 500 и разработчики с ревью 500−9,3%+4
Все 300−19,8%+18
Те же три дня при других порогах передачи.
  • Понизить пороги: разработчикам и ревью до 400 тыс., лидам до 500 тыс.; это около −11%. Если высокие пороги берегут нить работы, компромисс — 500 тыс. всем трём ролям, около −9%. Прогнать на одной команде неделю и сравнить не цену шага, а цену закрытой задачи.
  • Держать кэш тёплым у ждущего агента: раз в 55 минут простоя, до 4 часов, harnsy будит его пустым коротким «пингом». Чтение контекста в 322 тыс. из кэша стоит около 0,06 $, прогрев — около 2 $. По нашему окну это −6…−7% (расходы на пинги, 14 $ в сутки, включены). Для этого нужна функция в harnsy, и мы не знаем, как Anthropic считает пинги в лимите подписки.
  • Сводка для лида вместо отдельных сообщений «к сведению»: отчёты вроде «принял» копятся и приходят одним пакетом раз в 10–15 минут; вопросы и блокеры идут сразу. Если исчезнет половина коротких ходов лидов, это около −5%. Пока не сделано.

Чего бы мы не делали: ограничивать субагентов ради цены и расширять Sonnet только ради цены; его шаг стоит почти столько же (0,074 $ против 0,089 $ у Opus 5.5 в этом окне).

Что измерено, а что нет

  • Измерено

    Цена шага, контекст, доли по размеру, ролям и моделям, прогревы кэша и пороги передачи по 33 406 шагам за три дня, в сравнении с тем же методом на прежних окнах.

  • Оценено

    Чего стоила каждая правка, повтор при других порогах, идея держать кэш тёплым. У них есть допущения: плата за передачу и старт с 60 тыс. токенов.

  • Не измерено

    Страдает ли работа при пороге 400 или 600 тыс. Почему пороги подняли. Как Anthropic считает чтения кэша и пинги в лимите подписки. Сессии Codex и OpenCode.

Измерено, оценено и не измерено.

Что из этого взять себе

  • Что даёт настройка, держится, пока держится настройка. Мерьте снова через неделю и на полном окне.
  • Сравнивайте цену шага и доли, а не суммы за сутки: нагрузка меняется.
  • Размер контекста при передаче дел — самый большой рычаг из найденных нами. Чем выше порог, тем тяжелее каждый следующий шаг.
  • У ожидания тоже есть цена: истёкший кэш пишется заново.
  • Прежде чем двигать порог передачи, решите, как будете проверять качество работы, и смотрите на неё рядом со стоимостью.

Где здесь harnsy

harnsy — локальное приложение, которое соединяет агентов Claude Code, Codex и OpenCode в одну команду с ролями. Порог передачи — настройка роли: по умолчанию 40% окна, а на панели видно, где каждая роль. Высокий порог — выбор между деньгами и непрерывностью, и harnsy не делает его за вас. Как harnsy устанавливается и что меняет на вашей машине, написано на странице установки.

Держите память агентов короткой

harnsy соединяет ваших агентов Claude Code, Codex и OpenCode в одну команду с ролями и передаёт работу дальше, пока контекст не разросся. Порог передачи — настройка роли.

Установить harnsy

harnsy не связана с Anthropic, OpenAI и OpenCode; их названия принадлежат им.

site-3fлид · Claude Codeна связитолько смотреть
❯ Распланируй #42 с командой.

Жду разбор от analyst-7a…

от analyst-7a через harnsy❯ #42 разобрана: три критерия приёмки, включая повтор через 24 ч.

Передаю #42 разработчику site-9a.

❯