Право на суждение. Агентность как принцип проектирования ИИ-систем

- -
- 100%
- +
Причина, по которой памятью распоряжаются снаружи, снова уважительная. Контекстное окно не бесконечно; на длинной истории что-то сжимать приходится просто чтобы всё поместилось. Прогонять давнее через сводку, а недавнее держать целиком — разумная политика по умолчанию, и во времена тесных окон она была почти безальтернативной. Речь опять не о том, плоха эта политика или хороша, а о том, чьё суждение она собой замещает: механическое правило встало на место решения о важности, которое могло бы приниматься по смыслу.
Из всех изъятий это, пожалуй, легче всего пропустить, потому что оно рядится в чистую техничность. «Управление контекстом», «стратегия памяти» звучат как санитарная процедура, как забота о ресурсе, а не как решение о содержании мысли. Оттого его редко ставят в один ряд с роутером или схемой — а напрасно: свернуть воспоминание не менее весомо, чем перехватить задачу или сковать форму. И у этого вида есть более скрытая, более коварная разновидность — когда сжатие происходит не в служебной памяти между ходами, а на самом входе, до модели, и та получает уже чужую сводку вместо исходного материала, не подозревая, что видит пересказ. Эта разновидность заслуживает отдельного, подробного разбора; здесь довольно зафиксировать сам тип: суждение о релевантности вынесено за модель.
Стоит отметить и то, как этот вид складывается с прочими. Система, уже перехватившая задачу и стеснившая форму ответа, тем же движением распоряжается и памятью модели — одна и та же внешняя логика правит входом, петлёй, выходом и тем, что между ними хранится.
Так незаметная служебная операция — подчистка контекста, рутинная сводка — оказывается четвёртым видом таксономии: изъятием суждения «что помнить» — ещё одним замороженным решением о том, что из прошлого имеет вес.
Остаётся последний тип, и самый откровенный из всех. До сих пор изымали то, что скрыто внутри работы модели, — выбор задачи, второй заход, форму, память. Но есть суждение, вынесенное наружу демонстративно, у всех на виду: право самого действия. И на нём впервые обнаружится, что изъятие бывает не только по недосмотру.
3.5. «Действовать ли»: гейты автономии
Модель разобралась в задаче, выбрала, что сделать, и готова это сделать — отправить письмо, оформить возврат средств, удалить запись, изменить настройку. Между решением и его исполнением встаёт последний вопрос: пускать ли модель к самому действию. Чьё это суждение — действовать ли?
Всё чаще его держит у себя человек или жёсткое правило. Между намерением модели и его воплощением ставят гейт автономии — обязательную остановку, на которой действие должно быть подтверждено извне, прежде чем оно совершится. Самая частая его форма — human-in-the-loop: человек в контуре, чьё одобрение требуется, чтобы шаг состоялся. docs-бот может составить ответ и предложить оформить возврат, но само оформление уйдёт в очередь на подтверждение оператору; агент может подготовить письмо, но не отправит его без нажатия «отправить»; система может предложить удаление, но исполнит его лишь после явного «да».
Гейт принимает разные формы, но все они — вариации одной остановки. Иногда это очередь на подтверждение, где каждое предложенное действие ждёт живого одобрения. Иногда — режим «только предложить»: модель формирует список того, что сделала бы, а исполняет его человек. Иногда — песочница, где модели позволено что угодно, но лишь понарошку, без выхода наружу. Иногда — белый список: этих действий не касайся без санкции, а вот эти совершай свободно. От самого глухого гейта, где подтверждают всё, до самого узкого, где живой рукой держат одну-единственную необратимую операцию, тянется целый разброс — и место, в которое систему поставили на этой линии, и есть то решение о доверии, что здесь вынесено за модель.
Перед каждым действием опущен шлагбаум. Модель доезжает до него со всем решённым — куда ехать и зачем, — и останавливается, ожидая, пока поднимут. Поднимает не она.
Разыграем оба края на поддержке. docs-бот разбирает жалобу, признаёт её обоснованной, готовит возврат средств и кладёт его в очередь оператору; оператор, глянув, одобряет — гейт сработал ровно там, где деньги покидают счёт, и никого не стеснил. А теперь тот же бот с гейтом на всём подряд: чтобы заглянуть в документацию, он спрашивает разрешения; чтобы уточнить у пользователя деталь — спрашивает разрешения; чтобы предложить черновик, которого ещё никто не видел, — снова спрашивает. Первый гейт бережёт; второй превращает способную систему в того, кто ежеминутно дёргает человека за рукав по пустякам. Механика подтверждения одна и та же; смысл — противоположный.
Тот же расклад повторяется всюду, где система дотягивается до мира. Агент, управляющий инфраструктурой, волен сколько угодно рассуждать о том, какой сервер перезапустить, — но сам перезапуск в бою держат за гейтом, и это разумно. Тот же агент, вынужденный спрашивать разрешения, чтобы всего лишь прочитать лог, упирается в изъятие без повода. Финансовый помощник может собрать и обосновать сделку, но исполнение уводят за подтверждение — из-за той же необратимости, из-за которой оформление возврата не отдают боту насовсем.
Этот вид стоит в таксономии особняком, и различие важно. Прежние четыре изымали суждение внутри мышления модели — что делать, повторять ли, как выразить, что помнить. Гейт мышления не трогает: модель по-прежнему сама решает, что нужно сделать, и решает целиком. Изъято ровно одно — право перейти от решения к делу. Граница проведена не внутри рассуждения, а на его выходе, там, где мысль становится поступком с последствиями в мире.
И даже здесь важно, что именно перекрывает шлагбаум. Хороший гейт держит спусковой крючок, оставляя модели всё суждение: реши сама, что и почему, — а совершит поступок пусть человек. Гейт похуже перекрывает не поступок, а само решение: план не исполнить, пока его не утвердят, — и тогда к изъятию права действовать тихо примешивается изъятие права судить, то самое, что мы разбирали в первых четырёх видах. Санкционировать поступок и санкционировать мысль — разные вещи, и смешивать их значит под видом одного гейта ставить два.
И вот здесь впервые за главу стоит остановиться и качнуть маятник в другую сторону. До сих пор всякое изъятие мы разбирали как то, что модель могла бы вынести лучше, — как заморозку, доставшуюся системе по инерции. С гейтом всё иначе. Действие в мире необратимо там, где мысль обратима: неверный вывод можно переписать, а переведённые деньги, отправленное письмо, удалённую запись — уже нет. Остановка перед необратимым — не обязательно небрежность и не обязательно долг. Очень часто это трезвый, обдуманный выбор: отдать модели всё суждение о том, что делать, но оставить за человеком право санкционировать сам поступок. Изъятие права действовать сплошь и рядом делается нарочно — и по хорошей причине.
У этого есть причина глубже, и она объясняет, почему именно здесь маятник качнулся. За первыми четырьмя изъятиями чаще всего стояла ставка против умения модели: её не пускали выбирать, повторять, формулировать, помнить из страха, что не справится, — а такая ставка тает по мере того, как модель крепнет. Гейт стоит на другом основании. Он поставлен не против умения, а против последствий, а последствия действия не уменьшаются оттого, что модель поумнела: перевод остаётся необратимым, письмо — отправленным, запись — удалённой, как бы хорошо система ни рассуждала. Оттого повод остановиться перед необратимым не выветривается со сменой поколений так, как выветриваются поводы для прочих изъятий, — и оттого право действовать возвращают не так, как остальные.
Что не отменяет вопроса, как именно гейт поставлен. Одно дело — шлагбаум перед необратимым и дорогим: перед платежом, перед рассылкой тысяче адресатов, перед удалением данных. Другое — шлагбаум перед всем подряд, включая чтение справки и черновик, который, кроме модели, ещё никто не видел. Первый — граница, поставленная с умыслом, вокруг того единственного места, где цена ошибки высока. Второй — тот же старый рефлекс тотального контроля, просто переехавший на действия: подтверждать всё, на всякий случай, не различая необратимого и пустякового. Тогда гейт из осмысленной остановки вырождается обратно в изъятие по привычке — модель, способная сама отличить рядовое от опасного, снова просит разрешения на каждый шаг. Разница между этими двумя гейтами не в механике, механика одна; она в том, вынесено ли решение «здесь нужна санкция» осознанно или проштамповано на всём скопом.
У тотального гейта есть цена тоньше, чем раздражение. Когда подтверждать приходится всё, подтверждение становится рефлексом. Человек, которому за день подсовывают три сотни одобрений, из которых почти все — рутина, перестаёт вчитываться и штампует «да» не глядя, — и тогда то единственное опасное действие, ради которого гейт и ставили, проскакивает вместе со всеми. Остановка, размазанная по всему подряд, не ловит редкий рискованный шаг, а топит его в потоке безобидных. Гейт, поставленный везде, охраняет хуже гейта, поставленного в одном верном месте; изъятие, сделанное на всякий случай, подрывает ту самую защиту, ради которой его вводили.
Потому право действовать и занимает в карте суждений особое место. Прочим четырём видам предстоит прямой возврат: выбор задачи, второй заход, форму, память модели можно отдать. С этим возврат условен. Его не отдают безоглядно; его разбирают как то самое изъятие, которое бывает и правильным, — и вопрос не в том, вернуть или нет, а в том, где санкция человека оправдана последствиями, а где она лишь тень былой недоверчивости к слабым моделям. Этот разбор впереди — там, где речь пойдёт о риске и о том, каким сценариям можно доверять, а каким нет. Здесь довольно поставить сам тип на его место в перечне и отметить его особость: это первое суждение, об изъятии которого нельзя сказать «верните — и дело с концом».
Так пятый и самый заметный вид таксономии — гейт автономии, шлагбаум перед действием — приносит с собой то, чего не было в первых четырёх: законный повод для изъятия. Проявитель показывает под «подтверждением действий» замороженное суждение «действовать ли» — но впервые оговаривается, что замороженным оно бывает и по уму, а не только по инерции.
Пять видов собраны. У четырёх изъятие выглядело долгом, у пятого — порой осознанным выбором, и это расхождение требует, чтобы его назвали прямо. Все пять, при всей несхожести механик, держатся на чём-то одном; и различие между изъятием по уму и изъятием по привычке, только что мелькнувшее на гейте, просит своей формулы.
3.6. Общий знаменатель: замороженное чужое суждение
Пять видов, пять механик, пять разных мест в системе — и всё же за ними одно. Роутер, перехвативший задачу; конвейер, запретивший второй заход; схема, отлившая форму; харнесс, свернувший память; гейт, придержавший действие, — сколь ни различны их устройства, все они делают ровно одно и то же. Каждый берёт суждение, которое модель могла бы вынести сама, выносит его вместо неё и замораживает результат снаружи. Это и есть формула, к которой сводится вся таксономия: изъятие агентности — это вынесенное за модель и застывшее чужое суждение.
Стоит назвать механику точным словом. Замороженное суждение — решение, вынесенное один раз, на этапе проектирования, и застывшее в коде: оно принято до того, как появился конкретный запрос, и применяется ко всем запросам одинаково, не пересматриваясь. Заморозка — не про то, что решение плохое; про то, что оно неподвижное. Классификатор выбирает ветку сегодня по правилу, записанному вчера; одноходовость отвергает второй заход, которого ещё не было; схема диктует форму ответу, который ещё не возник. Во всех случаях живое суждение, чуткое к конкретному входу, заменено мёртвым — вынесенным заранее и навсегда.
Суть заморозки — в том, когда принято решение. У живого суждения есть свойство, отличающее его от замороженного: оно выносится в тот момент, когда виден конкретный вход. Модель решает на инференсе — глядя на этот запрос, этот контекст, этот промежуточный результат; её суждение рождается вместе с задачей и подстроено под неё. Замороженное решение вынесено раньше — на этапе проектирования, когда конкретной задачи ещё не было, а был лишь воображаемый средний случай. Изъятие, если смотреть в корень, и есть этот сдвиг момента: суждение переносят с исполнения на проектирование, от того, кто видит вход, к тому, кто входа не видел. Всё прочее — механика: роутер, схема, гейт — лишь разные способы закрепить сдвиг в коде. Оттого замороженное суждение и не ошибается в привычном смысле — ему нечем ошибиться, оно вынесено до того, как появилось на чём ошибаться; оно просто не пересматривается, когда вход оказывается не тем, под который его выносили.
В этом свете флагманский случай книги встаёт на своё место — как один из. Инъекция, при которой модель получает подложенный контекст и отвечает по нему, не выбирая, что искать, — это заморозка суждения «что и где искать», ровно того же рода, что и все прочие. Она заметнее остальных, потому что стоит на входе и бьёт по самому очевидному — по фактам в ответе; оттого с неё удобно начинать. Но особого статуса у неё нет. RAG — не болезнь и не исключение; это первый узнанный симптом паттерна, который, узнав, видишь повсюду. Инъекционное извлечение — частный случай изъятия, а не отдельная беда.
Конец ознакомительного фрагмента.
Текст предоставлен ООО «Литрес».
Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.



