Проверки самого ответа
Проверки, которые проходит готовый ответ перед отправкой — что ловит каждая, как часто срабатывает и почему часто срабатывающая проверка это ошибка, а не тщательность.
Поиск решает, что модели разрешено увидеть. Эта страница — о том, что происходит после того, как она что-то написала: о мгновении между последним токеном и ответом, появляющимся у кого-то на экране.
Этот этап существует из-за одного неуютного наблюдения: правило в промпте — это просьба. Можно написать «никогда не приводи цифру, которой нет в материале» в начале каждого хода, и большинство ходов это соблюдут; а те, что не соблюдут, — ровно те, которые внимательный читатель и так бы заметил. Поэтому правила, которые действительно работают, пишутся не как просьбы, а как проверки готового текста, в коде, где фраза либо есть в материале, либо её там нет.
Форма проверки
Каждая проверка здесь состоит из одних и тех же трёх частей, и порядок фиксирован — именно порядок делает её посильной:
- Детерминированная предпроверка. Работа со строками и шаблонами по только что написанному ответу — без вызова модели, без сетевого обращения. Почти всегда она говорит «такой формы нет», и на этом всё заканчивается.
- Один извлекающий вызов, только если предпроверка сработала. Модель просят дословно выписать предложения из материала — не судить и не делать выводов. «Выпиши все предложения, где сказано, разрешено ли это» — вопрос с проверяемым ответом; «верен ли этот ответ» — нет.
- Решение возвращается в код. Выписанное предложение засчитывается, только если оно встречается в материале символ в символ. Без этого сравнения судья может выдумать фразу и опровергнуть ею верный ответ — это не гипотеза, а именно та причина, по которой сравнение существует.
Часто срабатывающая проверка — это ошибка. Одна из здешних когда-то определяла, что ответ «упомянул классификацию», по слову с заглавной буквы, за которым следует код. В регуляторной прозе такая форма совпадает со ссылками на статьи, кодами валют, регистрационными номерами химикатов, названиями месяцев — и со словом within, как в «должно быть подано в течение 30 рабочих дней». Она срабатывала на 57 ответах из 100, и каждое срабатывание стоило извлекающего вызова и полного переписывания — на ответах, которые и так были верны. Привязанная к настоящим словам классификации, она срабатывает на 4. Проверка с высокой частотой попаданий не тщательна: она измеряет не тот объект, и платит за это вашим временем отклика.
Что ловит каждая
Каждая существует потому, что однажды вышел ответ, который выходить не должен был. Частоты измерены на сохранённых реальных ответах и намеренно низки.
| Что делает ответ | Почему это важно | Срабатывает |
|---|---|---|
| Утверждает, что материал явно разрешает или запрещает нечто, а такой фразы в материале нет | «В материале написано X» — утверждение о тексте, и его можно сверить дословно | 2 из 279 |
| Отвечает «да, принимается», тогда как материал прямо говорит, что принято не будет | Худший отказ, на который способен этот продукт: по нему готовят подачу и получают отказ | 1 из 300 |
| Приводит цифру, которой нет ни в одном найденном фрагменте | Число со ссылкой рядом — самое убедительное из того, в чём агент может ошибиться | — |
| Даёт цифру, не называя юрисдикцию, когда все фрагменты пришли из одной | Пошлины и сроки различаются по рынкам; число без привязки применят не там | — |
| Ссылается на единственный фрагмент из другого документа, а не из названного в вопросе | Два акта часто описывают почти одно и то же, и лучше совпадает по формулировке обычно неверный | 2 из 399 |
| Цитирует исключение из материала и затем отменяет его общей практикой | Материал был прочитан верно, а потом отговорён | 1 из 109 |
| Целиком является вызовом инструмента, а не ответом | Сырой синтаксис вызова не должен доходить до читателя — см. Работа на открытых моделях | — |
Прочерки — не пропуски. Те проверки старше описанной здесь дисциплины измерений, и их частоты не считались тем же способом; они перечислены потому, что работают, а не потому, что можно привести число.
Что происходит при срабатывании
Ответ пишется заново, с тем же материалом перед моделью, плюс одна фраза о том, что было не так с первой попыткой. Не удаление и не замена извинением.
Это осознанный выбор. Материал, отвечающий на вопрос, обычно всё ещё там — первая попытка прошла мимо него, прочитала соседнюю строку или ушла в обтекаемость. Переписывание с теми же фрагментами его возвращает. Отказ — нет.
У корректирующей фразы есть правило, за которое заплачено: она говорит, что произвести, и никогда — чего избегать. Ранняя версия одной из них показывала неверный формат тремя примерами и затем просила модель его не производить. Модель произвела его снова, и читатель получил извинение вместо ответа — который лежал в найденном материале слово в слово.
Коррекция, которая говорит лишь «ты ошибся», часто ничего не меняет. Одна проверка ловит ответ, сославшийся на фрагмент из чужого документа. Услышав только это, модель трижды из трёх ответила так же — она считала, что использует нужный документ. Результат изменило другое: ей дали соответствие, которое она не могла вывести сама: вот эти номера фрагментов — из документа, о котором вас спросили; тот, на который вы сослались, — нет. Даже тогда она исправляется примерно в одном случае из трёх. Проверка честно называет себя улучшением, а не решением.
Чего этот этап не делает
- Он не проверяет, истинен ли ответ. Он проверяет, истинны ли утверждения ответа о материале. Это разные вещи, и здесь разрешима только вторая.
- Он не срабатывает на большинстве ходов. Так задумано. Низкие частоты выше — смысл конструкции, а не её ограничение.
- Он не заменяет того, чтобы материал был верным. Если фрагмент, решающий вопрос, вообще не был найден, никакая проверка вывода его не выдумает. Это задача поиска, и она решается там или не решается вовсе.
- Каждая проверка при сомнении пропускает. Если извлекающий вызов упал или вернул нечитаемое, ответ уходит как есть. Слой верификации, способный блокировать ответы, когда бэкенд тормозит, — отказ худший, чем тот, от которого он защищал.
Смежное
- Обоснованные ответы — что модели вообще было позволено увидеть
- Работа на открытых моделях — поломки модельного слоя, которые этот этап подстраховывает на выходе
- Конвейер написания — та же дисциплина применительно к длинным документам