All articles

Эталонная архитектура: детерминированное ядро под управлением LLM

2026-09-17

Эталонная архитектура: детерминированное ядро под управлением LLM

Принцип одной строкой: LLM работает только на краях системы (понять запрос, изложить ответ), а вся фактура добывается, хранится и проверяется детерминированным кодом. ИИ не касается фактов — он их только запрашивает и цитирует.


1. Проблема, которую решает паттерн

LLM — вероятностный генератор: он может уверенно выдумать число, дату, цену, ссылку или источник. Инструкция «проверяй факты» не является барьером, потому что зависит от честности модели. Для систем, где враньё недопустимо (финансы, юридика, медицина, справочные данные), нужен механический барьер, не зависящий от поведения модели.

Ключевая идея: вынести всё, что касается фактов, из зоны ответственности модели в зону детерминированного кода.


2. Разделение ролей

СлойКтоМожет врать?Ответственность
ИнтерпретаторLLMДа, но не критичноПонять намерение человека → привести к формальному запросу
РоутерКод (или LLM под контролем)НетВыбрать инструмент(ы) по формальному запросу
Добыча фактовКод (инструмент с зашитым источником)НетСходить в источник, взять данные, положить в хранилище
Хранилище фактовКодНетХранить факты с ярлыками (id) и метаданными источника
ВерификаторКодНетСверить факты в ответе с хранилищем по ярлыкам
ИзложениеLLM (опционально)Да → перепроверяетсяИзложить проверенные факты человеческим языком

3. Схема потока

diagram

Зелёное — детерминированный код (источник правды). Оранжевое — LLM (недоверенный край).


4. Три железных правила

  1. LLM не ходит в источники сама. В интернет / базу / API ходит только код инструмента с жёстко зашитым адресом. Модель не может подменить источник — она может лишь попросить «вызови инструмент X».
  2. LLM не наполняет хранилище фактов. В «ячейку» пишет только код инструмента. Модель физически не имеет доступа к руке, которая записывает факт. Она может только цитировать то, что код уже положил.
  3. Каждый факт проверяется по адресу, а не по смыслу. У факта есть ярлык (id), указывающий на конкретную ячейку с реальными данными. Верификатор сравнивает значение из ответа со значением в ячейке. Код не понимает темы — он сверяет «ключ ↔ ячейка», поэтому работает для любых фактов и любых источников.

5. Механика верификации

diagram

Защита от подмены ярлыка: если модель приклеит [t1] к выдуманному факту («нефть 70$ [t1]»), верификатор откроет ячейку t1 (там 21), не найдёт соответствия → заблокирует. Переиспользование чужого ярлыка ломается автоматически.


6. Типы сравнения (универсальный набор)

Верификатор — это один общий механизм плюс несколько «сравнивалок» по типу данных:

Тип фактаПравило сверки
Число / цена / ставкаЧисловое сравнение (с допуском на округление)
ДатаПривести к единому формату, сравнить
URL / идентификаторТочное совпадение строки
Свободный текст / названиеNLI-модель (подтверждается ли источником)

Добавление нового инструмента не требует нового кода проверки, если он возвращает данные в общем формате значение + id + источник.


7. Роль LLM в этой схеме

LLM оправдана только там, где детерминированный код слаб:

Всё между этими краями — выбор инструмента, добыча, хранение, проверка фактов — детерминированный код.

Если домен узкий и запросы шаблонны — LLM на входе можно заменить обычным интент-роутером. Чем критичнее система, тем больше и выхода отдают шаблонному коду, а не LLM.


8. Границы применимости

ПодходитНе оправдано
Финансы, юридика, медицина, справочные данныеТворческие задачи (текст, идеи)
Любая система, где цена ошибки в факте высокаЗадачи без проверяемых фактов
Агенты с доступом к инструментам и источникамЧистая генерация без внешних данных

9. Резюме

Недоверенный интерпретатор снаружи — детерминированное проверяемое ядро внутри.

Это применение давнего принципа надёжных систем (изолируй недоверенный компонент, критичную логику держи в проверяемом коде) к LLM-агентам. Модель никогда не является источником правды — она интерпретатор на входе и, под контролем кода, рассказчик на выходе. Факты живут в детерминированном ядре, а барьер верификации не зависит от честности модели.

Log in
ENRU