Tvijo wiki
Каталог

Теми

Коли невідомо, скільки коштував виклик моделі: заморожування, потім звіряння

Іноді виклик моделі перевищує час очікування, і ви не знаєте, чи провайдер списав кошти. Ніколи не записуйте це як нуль. Позначте витрату як непевну, зупиніть нові платні виклики й доручте названій людині звірити її з випискою провайдера. Виняток — відмови, що сталися до генерації.

🎯 Для Розробник або оператор, який платить за виклики моделей через API

📚 Ви дізнаєтеся
  • Чому невідому вартість не можна зберігати як нуль
  • Як працюють заморожування та звіряння названою людиною
  • Які збої нічого не коштують, а які лишаються непевними

❓ Проблема

Ви надсилаєте запит. З'єднання обривається через тридцять секунд. Чи списали кошти? Провайдер міг згенерувати всю відповідь, її частину або нічого. Якщо ваш облік запише нуль, книги зійдуться в оптимістичний бік. Якщо запише здогад, похибка буде невідомого напрямку.

🧊 Правило: невідоме лишається невідомим

У нашому транспорті з обліком витрат кожна спроба записує рядок, зокрема повторні спроби та резервні варіанти. Стовпець вартості може містити число або явний стан «непевно». Непевний рядок заморожує нові платні виклики на цьому каналі. Знімає заморожування лише одна дія: названа людина звіряє рядок зі сторінкою активності провайдера та записує реальну суму й причину. Агент, який натрапив на проблему, зняти заморожування не може. Порожнє ім'я відхиляється навмисно.

Три види збоїв обробляються по-різному.

  • Відмова до генерації. Помилка клієнта, як-от відхилений запит або «на рахунку немає коштів», означає, що провайдер нічого не створив. Вартість нульова, і рядок не є непевним. Одного разу позначення такого рядка непевним зупинило конвеєр на день без жодної причини.
  • Перевищення часу очікування або помилка сервера. Провайдер міг виконати роботу. Рядок лишається непевним.
  • Списання понад резервування. Перед кожним завданням транспорт резервує максимальну суму. Якщо провайдер повідомляє про більше списання, канал заморожується, доки людина не підтвердить різницю.

📋 Де ми зараз

3 листопада 2026, 22:06 UTC в обліку було 10 150 рядків. Відкритих непевних рядків без звіряння: 0. Загалом зафіксовано звірянь: 2. Підтверджень перевищення резервування: 1.

Підтвердження — хороший приклад. Провайдер списав $0,08773 проти резервування $0,08566, перевищення $0,00207, приблизно п'ята частина цента. Канал лишався замороженим, доки рахунок не перевірили й людина не зафіксувала рішення. Сума крихітна, і суть саме в процедурі, бо те саме правило діє, коли сума велика.

🛠️ Практика: додайте заморожування у власну систему

  1. Зберігайте вартість як число або як явно позначене невідоме. Ніколи не підставляйте нуль за замовчуванням.
  2. Записуйте один рядок на спробу, зокрема кожну повторну спробу та резервний варіант, із request id провайдера, якщо він у вас є.
  3. Класифікуйте збої: відмова до генерації (нуль), перевищення часу очікування або помилка сервера (невідоме), успіх (вартість, яку повідомив провайдер).
  4. Перед стартом завдання зарезервуйте його максимальну вартість. Відмовте в завданні, якщо буде перевищено денний ліміт.
  5. Коли рядок непевний, блокуйте нові платні виклики та надішліть повідомлення людині, яка відповідає за рахунок.
  6. Напишіть коротку команду звіряння, якій потрібні id рядка, фактична сума, причина та непорожнє ім'я. Заносьте її до журналу.

✅ Перевірте себе

  • Змоделюйте перевищення часу очікування. Рядок непевний, а наступний платний виклик відхилено з чіткою причиною.
  • Змоделюйте відхилений запит. Рядок коштує нуль, і нічого не заморожено.
  • Спробуйте звірити з порожнім ім'ям. Це не вдається.
  • Після звіряння платні виклики відновлюються, а запис показує, хто це зробив і чому.

🚧 Коли це не працює

  • Провайдери без сторінки активності. Якщо ви не бачите, що було списано, ви не можете звірити. Вважайте кожен непевний рядок витраченим на суму резервування, доки не надійде рахунок.
  • Затримка виставлення рахунків. Деякі списання з'являються через день. Звіряйте після того, як виписка стане остаточною, а не з першого погляду.
  • Спільні рахунки. Списання інших користувачів за тим самим ключем виглядають як перевищення. Використовуйте окремі ключі для кожного каналу.
  • Заморожування, що блокує забагато. Заморожування всієї системи через непевність в один цент коштує дорого. Обмежте його каналом, де є невідоме.
  • Людське вузьке місце. Якщо звірити може лише одна людина, канал чекає на неї. Призначте заступника.

📊 Докази

Що ми вимірювали Відкриті непевні рядки, звіряння та підтвердження в обліку нашого транспорту з обліком витрат
Коли 3 листопада 2026, 22:06 UTC
Артефакт База даних обліку транспорту в нашому приватному розгортанні: 10 150 рядків, 0 відкритих непевних, 2 звіряння, 1 підтвердження
Обмеження Один облік, одна команда. Суми в прикладі малі й наведені заради процедури

➡️ Далі

Подивіться, як денний ліміт і session id поєднуються з цим, у статті Денний бюджет на AI, що закривається при збої, і що доводить запис про запуск, у статті Квитанції завдань агента.

Джерела

Зв’язки опублікованих статей. Виберіть вузол, щоб відкрити статтю біля заголовка.

100%
→ Пов'язані статті← Посилаються сюди⋯ Та сама тема
Зв’язки статей · клавіатура / текст

💬 Коментарі

Коментарі публічні та модеруються. Не публікуйте персональні дані.
  • Коментарів ще немає. Будьте першим!

Наступні кроки

AI agents and MCP explained

Векторна база — це мапа, а не джерело: що ми з'ясували про пошук

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

AI agents and MCP explained

Розбиття великого завдання для дешевої моделі: урок про 24 000 байтів

Дешева модель добре дає раду з однією невеликою чітко окресленою роботою, але погано з великим нагромадженням. Ми обмежуємо завдання 24 000 байтами і відмовляємо більшим ще до виклику моделі. Діліть на одиниці — один файл або одна країна на завдання — і перевіряйте розмір до початку.

AI agents and MCP explained

Навички, інструменти MCP і правила: три способи дати агенту можливості

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

AI agents and MCP explained

Вісім помилок з shell і git, яких припускалися наші агенти, і правило для кожної

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