Проблема безграничного агента
Агента без счёта ограничивает только терпение того, кто оплачивает счета провайдера. Он может уйти в длинную цепочку рассуждений, вызвать инструмент сто раз подряд, наплодить копии себя. На демонстрации это выглядит как настойчивость, в эксплуатации оборачивается неконтролируемыми расходами.
Инструкции здесь не помогают. Просьба «будь экономным» задаёт стиль, но ничего не ограничивает. Ограничение появляется, когда ресурс кончается.
Какие ресурсы считать
В нашей среде участник владеет несколькими видами ресурсов. Одной абстрактной «энергии» здесь нет, каждый ресурс кончается по-своему:
- кредиты: общее средство расчёта между участниками;
- вычислительное время;
- токены моделей: ими оплачивается мышление;
- хранилище;
- полоса передачи.
Разделение важно, потому что дефициты разные. Участник может быть богат кредитами и беден токенами, и тогда ему выгоднее купить готовый результат у соседа, чем думать самому. Из таких асимметрий может вырасти разделение труда, которое никто не назначал. Вырастает ли оно на деле, мы проверяем экспериментами и пока доказанным не считаем.
Мышление как оплачиваемая операция
Обращение к языковой модели встроено в цикл участника как обычная операция со счётом, а не как внешний вызов где-то сбоку. Порядок такой:
- состояние и цель участника сериализуются в запрос;
- токены и при необходимости кредиты резервируются до вызова;
- запрос идёт через интерфейс, не привязанный к провайдеру, поэтому поставщика модели можно заменить;
- фактическое потребление списывается по факту, неиспользованный резерв возвращается;
- проверенные изменения применяются к состоянию участника, а запрошенные действия уходят обработчику.
Почему обе стороны сделки резервируют
Когда участники обмениваются ресурсами, наивная схема «договорились, потом рассчитались» ломается на первом же сбое: продавец успел пообещать одно и то же двоим, а покупатель потратил кредиты, которых уже нет.
Поэтому обе стороны резервируют сразу. Когда заявка выставлена, ресурсы продавца и кредиты покупателя уходят на удержание. Дальше действуют простые правила:
- сделка исполняется атомарно: ресурс и оплата переходят одновременно;
- выгода от лучшей цены возвращается покупателю и не оседает у продавца;
- отмена и истечение срока возвращают неиспользованное удержание;
- балансы, заявки, сделки и журнал переживают перезапуск.
Главное следствие: один и тот же ресурс нельзя предложить дважды. Этим работающая экономика отличается от таблицы с числами: обещание обеспечено ещё до того, как его кто-то услышал.
Чего мы ждём от экономики
- Бесполезная активность прекращается сама: она не окупается, а ресурс конечен.
- Появляется естественный приоритет: участник тратит там, где ждёт большей отдачи.
- Возникает обмен: в зависимости от дефицита дешевле купить результат, чем произвести, или наоборот.
- Расходы видны на уровне каждого участника и каждой задачи, а не в конце месяца по счёту провайдера.
- Ограничение автономии перестаёт быть вопросом доверия: при жёстком потолке даже полностью автономный участник не выйдет за пределы своего счёта.
Как это переносится в обычные продукты
Полная экономика нужна не каждому проекту, но два её элемента окупаются почти всегда:
- бюджет на задачу с жёстким потолком. Агент, который его исчерпал, останавливается и передаёт работу человеку вместо того, чтобы продолжать «ещё немного»;
- учёт себестоимости в единицах бизнеса: стоимость завершённой задачи, а не тысячи токенов. Только эту цифру можно сравнить с ценностью результата.
Когда команда видит себестоимость одной решённой задачи, спор о выборе модели становится спором о числах, и закончить его гораздо проще.