Не модель решает, а среда вокруг неё

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

Схема, с которой все начинали, помещалась в одну строку. Промпт, модель, инструмент, ответ. Она работает ровно до того момента, пока задача помещается в один шаг.

Где она ломается

Первый раз это видно, когда агенту нужно сделать три действия подряд. Он делает первое, потом второе, а к третьему уже не помнит, зачем начинал. Не потому, что модель плохая, а потому, что никто не решил, что именно ей показывать на каждом шаге.

Второй раз ломается на ошибке. Инструмент вернул не то, модель это не заметила и уверенно пошла дальше. Проверять результат было некому.

Третий раз ломается на правах. Агент может сделать что угодно, поэтому у каждого действия спрашивают разрешения, и человек за день устаёт нажимать «да».

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

Из чего этот слой состоит

По моему опыту, набор получается примерно один и тот же, как его ни называй.

Что модель видит сейчас. Не всё, что накопилось, а то, что нужно на этом шаге. Отдельная работа, которая обычно достаётся никому.

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

Что она умеет делать. Инструменты, доступы, границы. Здесь важнее не список, а то, что за его пределами находится.

Кто проверяет результат. Тесты, второй агент с задачей найти дыру, сверка с исходными данными. Без этого система уверенно выдаёт правдоподобное.

Что разрешено без вопроса. Разрешённое выполняется само, запрещённое невозможно технически, а человека зовут только туда, где действительно нужно решение. Это сильно отличается от бесконечного «разрешить действие?».

Что это меняет на практике

Раньше улучшение системы означало «взять модель посильнее». Теперь чаще означает «понять, где именно она теряет контекст, и починить это место».

Разница в том, что первое стоит денег и заканчивается, когда лучших моделей больше нет. Второе стоит работы и не заканчивается никогда, зато результат остаётся при смене модели.

У этого есть неприятное следствие для планирования. Такую работу трудно продать как «внедрение ИИ»: снаружи она выглядит как возня с настройками. Показывать приходится не демонстрацию, а разницу в проценте задач, которые доходят до конца без человека.

Куда это идёт

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

То есть учиться начинает не только модель. Начинает меняться устройство вокруг неё.

Я к этому отношусь спокойно и без восторга. Пока в большинстве систем не решены базовые вещи: непонятно, что агент видел в момент решения, невозможно повторить его шаг, и никто не считает, сколько попыток закончились ничем. Адаптивная среда поверх неизмеренной системы даст только более изобретательные способы ошибаться.

Поэтому вопрос, который я задаю первым, звучит скучно: что у вас логируется и можно ли повторить вчерашний прогон. Если ответа нет, разговор про архитектуру агентов преждевременный.

Все посты