Контекст — это продукт
Модели стали достаточно хороши, и узкое место сместилось. Ошибки, на которые я обращаю внимание сейчас, редко бывают ошибками беглости. Это ошибки границы. Система видела неправильный документ, доверилась устаревшей инструкции, вспомнила то, что должна была забыть, или её попросили принять решение, которое ей следовало только получить.
Люди называют работу по исправлению первой из этих проблем инженерией контекста. Название немного громкое. В основном это редакторская работа. Прежде чем модель говорит, кто-то должен решить, что она содержит. Prompt — это последний сантиметр этого решения. Это не весь продукт.
Три границы сливаются в один разговор о prompt. Это разные дизайны.
Что она может видеть. Контекст. Какие источники, чьи правила, насколько свежие данные, сколько их, что запрещено. Модель — требовательный читатель. Ей не нужен весь архив. Ей нужен небольшой, актуальный срез, где противоречия уже разрешены. "Мусор на входе, мусор на выходе" — это была пословица о тренировочных наборах. Теперь это ошибка во время выполнения, и она появляется в предложении, которому человек вот-вот доверится.
Что она может решать. Архитектура решений. Классифицировать намерение, выбрать рабочий процесс, выбрать модель, ранжировать, одобрить, эскалировать. Это узкие выборы с ограниченным выходом. Поместить их в то же поколение, которое содержит документы, значит сделать модель автором выбора, который система должна была принять на себя. Видеть файл — не то же самое, что выбирать действие.
Что ей разрешено делать. Детерминированное управление. Политика, разрешения, рабочий процесс, который действительно запускается, запись, которая действительно сохраняется. Тщательное контекстное окно не предоставляет ничего из этого. Оно только делает последующее решение менее слепым.
Внутри первой границы стоит ясно различать три момента.
Поиск — это не память. Результат поиска с прошлого года — это не факт, к которому система привязалась. Если рассматривать их одинаково, система будет цитировать результат с уверенностью памяти. Память должна быть намеренной. Она должна иметь владельца и срок действия. Поиск может быть широким. Память должна быть узкой.
Инструкции — это данные, и они конфликтуют. Личное предпочтение, политика компании, описание инструмента и только что введённое предложение — это четыре автора. Они будут не согласны. Если ничто их не ранжирует, сделает это модель, и каждый раз по-разному. Это ранжирование — решение о продукте: чьё слово главное.
Больше контекста — это не больше истины. Каждый дополнительный абзац — это шанс отвлечь. Я предпочту, чтобы система сказала, что не знает, чем наблюдать, как она импровизирует из кучи почти релевантного текста. Вычитание — это сложный навык, и именно он делает ответ полезным.
Личные системы делают ставки очевидными. Когда контекст — это ваши собственные файлы и ваши собственные незавершённые мысли, граница — это продукт. Что в область действия. Что истекает. Что никогда не покидает машину. Более длинный prompt ничего из этого не решает, и он не решает, что система может решить или что она может делать. Это отдельные дизайны. Каждый из них должен быть готов показать свою работу.1
Примечания
-
Я использую "инженерия контекста" как название для того, что модель может видеть, а не как продукт. Архитектура решений и детерминированное управление — соседние проблемы. Это не три слова для одного prompt. ↩