AI: Технический аудит документа

В статье рассматривается задача, с которой часто можно столкнуться при автоматизации интеллектуальной деятельности, а именно – технический аудит документа, и практики под эту задачу.

Уточнение: предполагается, что работа с ИИ производится через агента, т.е. задача решается за несколько сеансов взаимодействия с сохранением контекста. Все практики взяты из реально работающего решения и дают гарантированный результат даже на flash-моделях.

Вводная часть

Возьмём в качестве примера технический документ, содержащий какие-либо сущности (техническое задание, чек-лист тестирования и т.д.). Если вы сделаете аудит такого документа на предмет качества описания (ошибки, полнота и т.д.) сущностей, то статистически вы обнаружите следующие факты:

  • ИИ всегда находит разное количество проблем. Причем количественная разница может быть 3 и более раз.
  • ИИ всегда обнаруживает разные проблемы. Некоторые проблемы могут повторяться в разных ответах, но в целом множество нестабильно.

Такая недетерминированность весьма неудобна для потребителей и вызывает закономерные вопросы о полезности аудита.

Качество результата можно существенно улучшить, применив некоторые практики ...

Практики

Подготовка контекста

Обычно такую подготовку делают после аудита, и не всегда, но если хотите усиление эффекта, то рассмотрите ...

  • Выполните денормализацию лексики. Замените дискурсивные ссылки на оригинальную лексику. Обычно это подстановка значения параметров и смыслов (вместо: там, ниже, выше, ранее, смотри документе).
  • Выполните формализацию документа, если есть возможность привести документ в более формальный вид.

Прогрев контекста

Прежде, чем давать ИИ целевую задачу, стоит сперва выполнить подготовительные действия, которые помогут качественнее воспринимать текст.

  1. Извлеките из документа целевые объекты исследования (сущности).
  2. Определите неочевидные правила, скрытые зависимости, негласные допущения и прочие тематические аспекты. Если сущностей мало, то рекомендуется делать это индивидуально для каждой сущности.

Качественное принуждение

  1. Составьте список категорий рассматриваемых проблем.
    * Иногда также полезно иметь список исключаемых из рассмотрения категорий.
  2. Заставьте ИИ искать проблемы по каждой категории для каждой сущности. Если обстоятельства позволяют (скорость, деньги, ограничения токенов), то применяйте и количественное принуждение (вернуть не менее Х проблем).
    * Количественное принуждение заставит ИИ искать скрытые и неочевидные проблемы.

Дробите процесс на отдельные сеансы, если пользователь готов ждать ради лучшего качества, а входной токен дёшев.

Повторный прогон

Первый прогон аудита не даст полного покрытия проблем (особенно без количественного принуждения), поэтому стоит выполнить повторный прогон (в отдельной сессии). В идеале, повторный прогон лучше выполнить с другой LLM или с высокой температурой.

Усечение претензий

Сделайте результатом процесса только некоторое количество (например, 7) проблем, которые представляют максимальную угрозу конечной цели. Определите приоритет для категорий проблем, который ИИ будет использовать для оценки критичности проблем.

Применение

Исправляйте проблемы в документе и запускайте аудит повторно, выполните несколько раундов, пока не будут закрыты все существенные проблемы.

Инструмент рекомендован к применению в первую очередь автору документа, но потребители также могут участвовать в его улучшении. Одна голова хорошо, две лучше, а две головы с LLM ещё лучше, а если LLM разные, да ещё и модели флагманские – вообще отлично.

Экспертный вклад

Расширение пространства предметных знаний

Создайте тематический документ, который будет содержать УНИВЕРСАЛЬНЫЕ знания (применяемые к значительной части документов), помогающие понимать документы определенного вида (например, ТЗ на разработку бэкенда) в некотором домене (команда, стрим, компания), и подключите документ к промпту. В нем могут быть такие знания:

  • Трактовка, пояснения и маппинг терминов.
    * Не полагайтесь на RAG в этом аспекте.
  • Пояснения к структуре документа.
  • Пояснения к сленгу, знакам, разметке, таблицам и экстремально лаконичной лексике.
  • Рекомендации для процесса определения целевых объектов.
  • Рекомендации для процессов, выполняемым после аудита.

Доработка исходного документа

Если ИИ не хватает специфических знаний, которые нужны, чтобы правильно понимать конкретный документ, то помещайте знания в этот документ, не засоряйте пространство универсальных знаний.

Жизненный цикл артефактов

Промпт

Вы создали промпт, обкатали его с экспертом на репрезентативном корпусе документов, и, получив обратную связь, довели результат до приемлемого уровня. На этом процесс создания промпта почти завершается. Не нужно стремиться к идеальному промпту, в который вложено миллион правил и который поддерживает тысяча человек – это неэффективно. Закройте 90-95% типового функционала и направьте усилия на создание документов с четко извлекаемыми, полными и актуальными знаниями. Вкладывайтесь в культуру владения сложными комплексами знаний.

Экспертные знания

Вы создали документ, поддерживающий процесс, наполнили его знаниями и дополнили в процессе обкатки. На этом процесс сбора экспертных знаний не завершается, он может продолжаться в фоновом режиме, если пользователи хотят доучивать ИИ, чтобы получать правильный результат сразу или в следующих генерациях.