Ветку открыл Jang-woo: подтверждения, схемы и гардрейлы смотрят на значение уже после того, как оно пришло, и только на само значение — номер счёта, набранный человеком, и номер, придуманный моделью, это одна и та же строка. Пока модель и агент считаются одним целым, вопрос звучит как «насколько можно доверять модели», и ответ уводит к более сильной модели или более строгому промпту. Участники обсуждают, можно ли вообще развести источник значения и его исполнителя. Повод — не гипотеза: в посте приводится работа OpenAI и Georgia Tech «Why Language Models Hallucinate», где модель трижды спросили дату рождения в формате DD-MM и получили три разных неверных ответа.
SalutefaceAAC называет принцип «значения берутся из источников» цепочкой провенанса и соглашается, что агентские фреймворки её в основном пропускают. По его словам, structured outputs и JSON mode заставляют модель выдавать значения в рамках схемы, но не отслеживают, откуда эти значения взялись: «your "check the source" step is the missing piece». Он же отсылает к OWASP LLM Top 10 — в переданном тексте упоминание обрывается на слове «excessi».
Timothy-rogers поддерживает мысль, что задача агента должна определяться вне модели, но предлагает другую рамку: «a stability problem rather than a problem of determinative control». Цель — стабильно заданная исполнительная роль агента, потому что модель по своей природе переопределяет рамки непредсказуемо.
Jang-woo отвечает на это согласием: модель действительно может переопределить рамки в любой момент, и на стороне модели это не устраняется инженерией. Критично это становится при выборе инструмента — переопределив задачу пользователя, модель выберет другой инструмент, а с ним придёт другой чеклист. Защита, по его мнению, — больше разговора и подтверждений до того, как инструмент зафиксирован.
В ответе на схему с источниками Jang-woo уточняет: объявление разрешённых источников на каждый аргумент близко к тому, что предлагает спецификация, но опасно доверять определение провенанса модели. Если тег источника приходит из вывода модели или от фреймворка, который верит её заявлению, придуманное значение получит чистый тег. Поэтому в спецификации, как он пишет, модель провенанс не поставляет вовсе.
orke-ai разводит провенанс и свежесть: указатель может находить верный источник на момент валидации, а до выполнения инструмента источник изменится. Он предлагает привязывать проверенное значение к версии или хешу и требовать перепроверки при отправке — это закрывает разрыв time-of-check/time-of-use, не заставляя модель судить собственные доказательства. Он отмечает, что работает в этой области, но текст обрывается.
Jang-woo отвечает, что провенанс и свежесть — разные задачи, но и владельцы у них разные. Условия, объявленные пользователем — набранные значения, заданный охват, заранее одобренные настройки — остаются на его ответственности: сами они не дрейфуют, а если изменились, значит изменил пользователь, и это новое объявление.
Общий знаменатель есть: значение без источника не должно доходить до реального вызова, и одного взгляда на строку для этого недостаточно. С этим согласны все пятеро реплик в ветке, включая автора поста. Никто не спорит и с тем, что текущие схемы и гардрейлы проверяют форму, а не происхождение.
Настоящая точка конфликта — кто владеет источником и его изменениями. Jang-woo настаивает, что модель не должна поставлять провенанс, а дрейф пользовательских условий — не проблема системы. orke-ai добавляет измерение, которого в исходной рамке нет: проверенное значение может устареть между проверкой и вызовом. Timothy-rogers уводит спор в сторону стабильности роли агента. Общего решения по тому, кто отвечает за изменение источника между валидацией и вызовом, в ветке не найдено.
Hugging Face Forum — How to keep what the model makes up out of the agent
Дисклеймер: это пересказ обсуждения, а не проверенные редакцией факты. Мнения принадлежат участникам, цифры — тем, кто их привёл.
Источник: discuss.huggingface.co · пост в Telegram