Перейти до вмісту

Керувати витратами

Цей посібник показує, як побачити, скільки коштують запуски агентів, і як обмежити автономний запуск.

Кожен запуск агента пише журнал запуску, що містить його вхідні токени, вихідні токени, токени міркування, токени читання з кешу й запису в кеш, оцінену вартість у центах і вартість будь-яких субагентів, яких він породив.

Ціни надходять із каталогу models.dev, який використовується лише для збагачення списку моделей ціною та вікном контексту — ніколи як джерело ідентифікаторів моделей. Модель, для якої каталог не має ціни, записує $0, а запуски з нульовою вартістю виключаються зі зведення Використання та вартість. Локальна модель Ollama тому не показує жодних витрат, хоч її кількості токенів усе одно записуються. План із фіксованою оплатою (kimi-code, підписка Claude) поводиться так само лише тоді, коли каталог не має ціни для обслуговуваної моделі; якщо має, запуск усе одно оцінюється за цими тарифами. У ланцюжку запасних варіантів запуск оцінюється за моделлю, яка насправді його обслужила, а не за тією, яку було запитано.

Перейдіть до неї з нижньої частини бічної панелі → Спостережуваність. Спочатку відкривається вкладка Використання (підсумкові кількості токенів за весь час); перемкніться на Інсайти — другу вкладку — щоб побачити основну поверхню витрат:

  • Вибір часового діапазону: останні 24 години, останні 7 днів, останні 30 днів або весь час
  • Фасетні фільтри за агентом, моделлю, статусом і роллю у вигляді знімних чипів
  • Смуга KPI: усього запусків, загальна вартість, частота помилок, частка кешу, токенів за секунду, середня затримка й час до першого токена — кожен показник із зміною щодо попереднього періоду (приховано для «Весь час»)
  • Графіки активності та вартості, а також розбивка вартість за роллю, що ділить витрати між головним агентом, його субагентами та його радником
  • Таблиця за агентами, відсортована за вартістю, — десятка найбільших із перемикачем «показати всі». Дотик до рядка фільтрує всі інші поверхні за цим агентом
  • Детальний журнал запусків, який прикріплює панель транскрипту для вибраного запуску

Налаштування → Сервер → Постачальники моделей

Розділ із назвою «Налаштування → Сервер → Постачальники моделей»

Картка Використання та вартість на цій сторінці показує спостережувані витрати за останні сім днів у вигляді однієї суми в доларах, із розбивкою за провайдерами та, коли провайдер її публікує, часом до скидання наступного вікна квоти.

Налаштування → Робочий простір → Агенти → виберіть агента → Журнали перелічує його запуски зі статусом, тривалістю, часом початку й завершення, PID та адаптером. Ця вкладка не показує вартість — для цього скористайтеся таблицею за агентами в розділі «Спостережуваність → Інсайти».

Дві slash-команди, набрані в редакторі повідомлень простору, — єдині запуски з обмеженням витрат:

/goal ship the auth refactor --budget 20
/loop keep the flaky tests green
  • Кожен відрізок запуску /goal чи /loop зупиняється, коли його оцінені витрати сягають 500 центів ($5.00). На 80% від цієї позначки цикл спершу спрямовує модель, щоб вона згорнула роботу й залишила чисте передавання, тож він не гине посеред завдання.
  • Цілу довготривалу ціль обмежено 5000 центів ($50.00), якщо ви не передасте --budget <dollars>. Наглядач протягує залишок бюджету цілі в кожен відрізок, тож явний бюджет ніколи не буде перевищено на цілий відрізок.
  • --days N додає дедлайн за реальним часом, а --max N — стелю кількості запусків. Обидва параметри необов’язкові; без них ціль обмежує лише вартість.
  • Ціль, що сягнула своєї межі, зупиняється з budgetExhausted, і відновити її можна лише підвищивши бюджет.

Оскільки обмеження прив’язане до ціни, модель, для якої каталог не має ціни, ніколи його не сягає. Такий запуск натомість обмежують запобіжник повторів у зацикленні, відмова наглядача після трьох послідовних збоїв і ви.

Повідомлення в просторі, @-згадка чи крок конвеєра не мають обмеження витрат. Запуск завершується, коли зупиняється модель, коли його зупиняєте ви або коли його спрямовує запобіжник зациклення.

Наберіть /compact у редакторі повідомлень простору. Команду перехоплює клієнт, і вона ніколи не потрапляє в транскрипт; сервер згортає старішу історію в закріплене резюме, і розмова продовжується на ущільненому контексті.

Ущільнення відхиляється, поки агент посеред ходу, і коли немає нічого достатньо старого, щоб згорнути. Вбудований harness також ущільнює самостійно, коли історія наближається до вікна контексту моделі.

Зусилля міркування агента (Налаштування → Робочий простір → Агенти) пропонує ті рівні, які публікує вибрана модель. Вищі рівні витрачають більше токенів міркування. Прибережіть найвищі рівні для роботи, яка їх потребує.

Модель — це поле рівня агента, тож агент форматування чи тріажу може працювати на дешевій моделі, а агент-архітектор — на дорогій. Відфільтруйте таблицю за агентами в розділі «Спостережуваність → Інсайти» за моделлю, щоб побачити, яка комбінація насправді вам дорого коштує.

Шукайте запуски з надмірною кількістю токенів

Розділ із назвою «Шукайте запуски з надмірною кількістю токенів»

Відкрийте журнал запусків у вкладці «Інсайти» (50 найновіших відфільтрованих запусків) і панель транскрипту для всього незвичного. Типові причини — задовгий системний промпт або персона, контекст, який мав бути ущільнений, і завдання, яке мало бути кількома меншими.

Що станеться, якщо бюджет задати в обхід системи

Розділ із назвою «Що станеться, якщо бюджет задати в обхід системи»

Для повноти: якщо monthlyBudgetCents або політику бюджету записати безпосередньо в рядок агента:

  • Бюджети оцінюються після завершення запуску, а не перед диспетчеризацією. Слухач завершення запуску порівнює витрати агента з початку місяця з його межею.
  • Перетин м’якого порогу (типово 80%) записує інцидент-попередження й породжує подію BudgetThresholdCrossed, до якої можна причепити тригер конвеєра.
  • Вичерпання бюджету записує жорсткий інцидент, породжує ту саму подію й перемикає статус життєвого циклу агента на paused.
  • Блок перед диспетчеризацією існує, але до нього звертаються лише прибиральник осиротілих запусків і узгоджувач загублених тікетів, коли планують відновлення — звичайна диспетчеризація до нього ніколи не доходить, і ніщо на шляху диспетчеризації не перевіряє статус paused. Єдиний видимий сигнал — значок життєвого циклу в оргсхемі.