Вывод явных структур из неявных интуиций LLM: Compilence и FPF (1/2)
Почитал о проекте Compilence (Volodymyr Tkach и Yurii Chudinov). Суть ниже.
Когда хорошая LLM читает нормативный акт или методику, она часто проделывает очень полезную аналитическую работу. Восстанавливает скрытую структуру:
кто должен действовать - после какого события - при каких условиях - в какой срок - с какими исключениями - на основании какой нормы.
Именно поэтому ответы моделей иногда производят такое впечатление. Из нескольких разрозненных пунктов вдруг складывается цельная картина.
Но эта картина существует только внутри текущего ответа.
В другом запросе модель может забыть исключение, смешать старую и новую редакции, принять разъяснение за обязательную норму или достроить отсутствующее правило. Даже когда ответ снова оказывается правильным, вся работа по восстановлению связей выполняется заново.
RAG улучшает поиск: помогает найти нужные фрагменты. Но найденные фрагменты ещё надо правильно связать. Обычно это опять делает LLM - вероятностно.
Compilence предлагает следующий шаг: не оставлять полезную структуру внутри одноразового ответа, а вынести её наружу.
То есть хранить не только текст:
"Участник обязан направить уведомление в течение пяти рабочих дней".
А явную конструкцию:
- кто именно участник;
- какое событие запускает обязанность;
- когда начинается отсчёт;
- что считается рабочим днём;
- к кому относится правило;
- какие есть исключения;
- какой источник главнее;
- в какой период действует редакция.
Такую структуру уже можно проверять, версионировать, сравнивать с другими правилами и использовать многократно.
Важно: речь не о чтении скрытых мыслей модели. LLM может помочь предложить связи, но они должны стать внешними объектами и пройти проверку эксперта.
Отсюда главная цель Compilence: превратить временное "понимание" модели в долговечную смысловую инфраструктуру.
Как это может работать на практике?
Представим налоговую процедуру. ИИ-агент хочет отправить уведомление.
Обычная система спрашивает LLM: "Можно отправлять?"
Compilence-подобная система проверяет:
кто налогоплательщик - в каком он статусе - какое событие произошло - какая редакция нормы действует - наступил ли срок - нет ли приостановления - какое исключение применимо.
Если не указан статус участника, ответом будет не "скорее всего можно", а:
"Решение невозможно: отсутствует условие, от которого зависит применимость нормы".
LLM при этом не выбрасывается. Она по-прежнему может разговаривать с человеком, объяснять вывод и писать хороший текст.
Но право сказать "можно", "нельзя" или "не хватает оснований" переносится во внешний проверяемый слой.
Какие задачи это поможет решить?
Compilence становится интересен не как "улучшенный поиск", а как основа для новых классов систем.
1. Нормативный акт как исполняемая модель
Можно не только спросить, что написано в законе, но и проверить конкретный случай:
- возникла ли обязанность;
- допустим ли переход статуса;
- соблюдён ли срок;
- какое действие должно быть следующим.
Это уже шаг от поиска по НПА к Regulation as Code.
2. Проверяющий шлюз для ИИ-агентов
Агент готовит письмо, решение, договор, код или изменение статуса. До исполнения его предложение проходит проверку:
действие агента - проверка по правилам - разрешить, ограничить, предупредить или отклонить - сохранить основание.
Агент может быть творческим, но не получает права сам себе придумывать границы допустимого.
3. Смысловой анализ изменений
Обычный diff показывает, какие строки поменялись.
Семантический слой может показать, что изменилось по существу:
новое определение - изменилась область действия - затронуты три обязанности - нужно пересмотреть два процесса, четыре проверки и шаблон уведомления.
4. Воспроизведение решения на прошлую дату
Можно спросить не только "что действует сейчас?", но и:
“Почему 15 марта система приняла именно это решение?”
Ответ должен строиться по той версии корпуса, которая действовала 15 марта.
Post #324
135