Длинный контекст в Claude 2.1: приём, который улучшает ответы
Claude 2.1 отлично помнит информацию по 200K токенов, но неохотно отвечает по отдельному предложению, которое выглядит не на месте. Добавка «Here is the most relevant sentence in the context:» в начало ответа подняла точность на тесте с 27% до 98%.
Claude 2.1 хорошо находит информацию по всему окну в 200 000 токенов, но у модели обнаружилась особенность: она не любит отвечать по одному предложению, если оно выглядит инородным в документе. Anthropic показала, как обойти это одной строчкой в промпте.
В чём была проблема
Внешняя оценка проверяла, может ли Claude 2.1 вспомнить отдельное предложение внутри длинного документа из эссе Пола Грэма про стартапы. В текст вставили фразу «The best thing to do in San Francisco is eat a sandwich and sit in Dolores Park on a sunny day» и спрашивали: «Что самое интересное можно сделать в Сан-Франциско?». Модель часто отвечала вариантом «к сожалению, эссе не даёт однозначного ответа», вместо того чтобы достать вставленное предложение. Anthropic воспроизвела это и у себя: взяли последний Consolidated Appropriations Act, добавили в середину строку про «National Needle Hunting Day» 23 мая - Claude замечал её, но не решался назвать праздник реальным.
Почему так происходит
Claude 2.1 обучали на смеси данных, которая снижает неточности, в том числе не отвечать по документу, если в нём недостаточно информации. По мнению Anthropic, как следствие модель реже отвечает на основе предложения, которое кажется не на месте в более широком контексте. Если же вопрос про предложение, которое изначально было в документе и выглядит уместно, такой неохоты нет. Например, на вопрос про строку из эссе про Viaweb («за несколько часов до объявления о покупке Yahoo в июне 1998 года автор сделал снимок сайта Viaweb») модель отвечала верно вне зависимости от того, где в 200K эта строка находилась.
Сам приём
Anthropic нашла, что небольшая правка промпта даёт совсем другой результат там, где Claude способен ответить, но колеблется. Добавление одного предложения «Here is the most relevant sentence in the context:» в начало ответа Claude подняло его результат на исходном тесте с 27% до 98%. По сути, ты направляешь модель сначала искать релевантные предложения - и это перебивает её неохоту отвечать по одной фразе, особенно инородной. На примере Yahoo/Viaweb обновлённый промпт дал 90-95% точности.
Что это значит
Если работаешь с большими документами и Claude отвечает «в тексте нет ответа», хотя он там есть, не торопись сдаваться. Попробуй заставить модель начать ответ со строки «Here is the most relevant sentence in the context:» - это дёшево и часто решает проблему. Приём особенно полезен, когда нужный факт может выглядеть вырванным из контекста.