Длинное письмо: агент, который планирует, исследует и пишет реальный документ
Длинное письмо — это агент, создающий полный многосекционный документ — заявление, отчет о выходе на рынок, меморандум по проверке благонадежности — путем предварительного планирования структуры, запроса всего необходимого перед началом, исследования каждой секции на основе ваших материалов и открытых источников и написания секции за секцией в рамках задачи, которая сохраняется после перезапуска. Вы редактируете его в холсте рядом с чатом, переписываете любой фрагмент, выделяя его, и каждая версия сохраняется.
Всё остальное, что делает агент, помещается в один ответ. Длинноформатное письмо — это то, что вы передаёте кому-то ещё: регуляторное досье, отчёт о выходе на рынок, меморандум о проверке, ответ на тендер. У таких документов есть три свойства, которых не может быть у ответа в чате — они исследуются перед написанием, они структурированы, и на их создание уходит больше времени, чем кто-либо готов сидеть и ждать.
Так что это не «кнопка экспорта в чате». Это производственная линия рядом с беседой: с сохранением состояния, прерываемая, возобновляемая, с холстом, где вы читаете и редактируете результат.
Он планирует перед тем, как писать
Первым делом происходит не написание. Агент определяет, какой документ запрошен — из типов документов, которые вы определили, каждый со своим планом, необходимой информацией, базами знаний и границами отказа — и раскладывает разделы. Каждый раздел получает своё краткое описание: что он должен охватывать, примерную длину и на какие факты он опирается.
Это краткое описание не скрыто. Это текст, который даётся модели для этого раздела, он отображается на экране, вы можете его редактировать, и вы можете перезапустить этот раздел после его изменения. Документ, которым вы не можете управлять, — это документ, который вы будете переписывать вручную.
Если ничего не совпадает, агент предлагает план и просит вас подтвердить его. В любом случае структура фиксируется до написания первого слова, и она остаётся фиксированной на протяжении всего процесса — изменение типа документа завтра не приведёт к перенумерации документа, который вы начали сегодня.
Каждый раздел исследует самостоятельно
Это та часть, которая отличает документ от длинного ответа. Каждый раздел идёт и получает свои факты: он ищет, он открывает и читает страницу — не сводку поиска, которая состоит из заголовка и двух строк, в то время как цифры находятся в теле документа — и он сохраняет каждый факт рядом с источником, из которого он взят. Ваши собственные базы данных ищутся тем же образом, и имеют приоритет.
Затем раздел пишется на основе только этих фактов. Не на основе того, что модель помнит о теме. Вот почему интересный режим отказа меняет форму: вместо уверенно выдуманной цифры вы получаете раздел, который говорит, что цифра не найдена — и инструмент, который это проверяет, — это сканирование текста кодом на наличие спецификаций, которые не появляются ни в одном источнике, а не оценка моделью своей собственной работы.
Исследование ограничено и бюджетировано для каждого документа, и оно останавливается, когда перестаёт находить новые вещи. Вы можете наблюдать, какие домены он прочитал, по разделам, пока он работает.
Он спрашивает перед тем, как изобретать
Документу обычно требуется несколько фактов, которые знаете только вы: юридический производитель, целевой рынок, срок подачи заявки, класс устройства. Отсутствие одного из них не ухудшает документ незначительно — оно делает его недействительным.
Так что необходимая информация является частью типа документа, и агент проверяет её перед началом: он спрашивает об отсутствующем факте, говорит, зачем он нужен, и ждёт. Ничего не генерируется, и ничего не списывается, пока ответ не будет получен. Если вы уже сказали это ранее в разговоре, он не спрашивает снова.
Вы изменяете фрагмент, а не документ
Выделите предложение, скажите «добавьте сюда бразильский срок», и этот фрагмент будет заменён. Остальная часть раздела останется идентичной побайтово.
Механизм важнее, чем кажется: диапазон выделения вычисляется системой, и модели предлагается только вернуть заменяющий текст. Модель, которую просят вернуть диапазон, не возвращает ошибку, когда она не уверена — она возвращает правдоподобно выглядящий диапазон, и предложение тихо исчезает из вашего досье. Так что ей никогда не даётся выбор.
Этот же путь обрабатывает полную переписку раздела, ручное редактирование в редакторе и инструкцию, набранную в чате. И поскольку документ находится рядом с беседой, а не внутри неё, вы можете продолжать общаться с агентом о документе, пока он открыт — просить его добавить график из ваших собственных данных, подключить файл, который вы только что загрузили, или перевести копию на другой язык.
Ничего из того, что у вас было, никогда не теряется
Каждое изменение раздела сохраняется: версия, в которой он был написан впервые, ваши ручные правки, каждая запрошенная переписка, каждое восстановление — с тем, что вы сказали в то время, и каким фрагментом он затронул. Сравнение с текущим текстом вычисляется построчно; модели никогда не предлагается описать, что изменилось, потому что описание, которое хорошо читается и является неверным, — это именно тот отказ, для предотвращения которого существует эта функция.
Восстановление старой версии добавляет новую версию. История только растёт.
Что вы в итоге получаете
Документ на холсте, экспортируемый в PDF с кликабельным оглавлением и номерами страниц, с графиками, нарисованными только на основе чисел, которые появляются в вашем материале. Копия в режиме только для чтения может быть переведена на другой язык без изменения оригинала. И когда вы делитесь беседой, которая его создала, вы решаете, идёт ли документ вместе с ней.
Честное ограничение: это для документов, которые стоят нескольких минут машинной работы и проверки кем-то, кто знает предмет. Это убирает пустую страницу, сбор фактов и сборку — не ответственность.
Частые вопросы
- Чем это отличается от просьбы к ChatGPT написать отчет?
- Ответ в чате генерируется за один проход, в одном контекстном окне, на основе того, что модель уже считает верным. Длинное письмо сначала планирует структуру, запрашивает у вас все необходимое перед началом, исследует каждую секцию отдельно и пишет одну секцию за раз — так что сорокастраничный документ остается последовательным, каждый показатель имеет ссылку на источник, а работа сохраняется при закрытии вкладки.
- Откуда берутся факты в документе?
- Из ваших собственных баз знаний и, если вы включили для этого агента доступ к открытым источникам, из страниц, которые агент фактически открывает и читает. Каждый факт сохраняется вместе с источником, из которого он взят, поэтому любой показатель в готовом документе можно отследить до страницы или фрагмента, откуда он был взят.
- Что происходит, если агенту нужно что-то, чего он не знает?
- Он спрашивает — один раз, перед началом написания, и объясняет, почему ему нужна именно эта информация. Написание не начинается, пока ответ не получен, что означает, что упущенная деталь будет выявлена в первую минуту, а не обнаружена на двадцатой странице, и документ никогда не будет содержать вымышленную замену.
- Могу ли я изменить один абзац, не перегенерируя весь документ?
- Да. Вы выделяете фрагмент и указываете, что нужно изменить, и заменяется только этот фрагмент — остальная часть секции остается идентичной посимвольно. Диапазон выделения вычисляется системой, а не выбирается моделью.
- Могу ли я увидеть, что изменилось между черновиками?
- Да. Каждое изменение секции сохраняется как версия — версия, в которой она была написана изначально, ваши ручные правки, каждый запрошенный перепис и каждое восстановление — с посимвольным сравнением с текущим текстом. Восстановление старой версии создает новую версию, а не удаляет ничего.
- Сколько времени занимает создание документа, и должен ли я держать вкладку открытой?
- От нескольких минут до десятков минут в зависимости от длины и объема необходимых исследований. Работа выполняется в фоновом режиме, поэтому вы можете закрыть вкладку и вернуться позже; если сервер перезагрузится посередине создания документа, он продолжит с той секции, на которой остановился, а готовые секции останутся без изменений.
- Могу ли я контролировать, что документу разрешено говорить?
- Да. Каждый тип документа имеет границу отказа — то, что он никогда не должен обещать, цитировать или предсказывать — и эта граница прикрепляется к инструкциям каждой секции системой, а не оставляется на усмотрение модели. Типы документов определяются вами, со своими собственными структурами, требуемой информацией и базами знаний.
Почти всё, что агенту нужно знать, уже где-то записано — на вашем сайте и в тех PDF, которые ваша команда и так рассылает клиентам. Импорт по URL закрывает публичную половину, загрузка файлов — остальное.
Структурированный индекс — это небольшая таблица, которую агент формирует на основе полей, уже содержащихся в ваших документах (название, цена, уровень, ссылка, изображение), вместе с векторным поиском, используемым для понимания смысла. Векторный поиск находит фрагменты, которые по смыслу похожи на вопрос; он не умеет считать, фильтровать по числовым значениям или группировать. Структурированный индекс отвечает на такие вопросы и позволяет агенту точно цитировать ссылку или идентификатор, вместо того чтобы восстанавливать их из фрагмента.
Сюжет — это направленный граф, по которому агент ведёт каждого конечного пользователя: каждый узел — это шаг (со своей задачей, знаниями и инструментами), переходы несут условия, а прогресс, профиль и заметки по каждому человеку сохраняются и возобновляются между сессиями и каналами. Он превращает агента из ассистента, выполняющего отдельные задачи, в того, кто сам может оказывать многошаговую услугу.
Динамический планировщик следит за разговором и, когда пользователь решает действительно многошаговую задачу внутри предметной области агента и заметно не понимает, как к ней подступиться, предлагает развернуть эту задачу во временный сюжет — пошаговый план на чек-листах, который агент затем выполняет по одному сфокусированному шагу за раз, показывая пользователю прогресс. Планирование происходит один раз и проходит валидацию; выполнение детерминировано.