Стратум: как сделать LLM детерминированной — инженерная методология | AiManual
AiManual Logo Ai / Manual.
03 Июн 2026 Гайд

Стратум: инженерная методология для превращения LLM в детерминированную систему

Галлюцинации и нестабильность LLM побеждаются архитектурно. Стратум — методология, вдохновлённая советской школой проектирования. Пошаговый гайд с примерами и т

Вы замечали? Один и тот же промпт — два разных ответа. Сегодня LLM выдаёт гениальную аналитику, завтра — откровенный бред с выдуманными цитатами. Продукт горит, пользователи жалуются. Промпт-инжиниринг не спасает. Файнтюнинг лишь подкрашивает статистику. Корень зла — недетерминизм самой архитектуры LLM.

А что если мы перестанем бороться с хаосом и вместо этого построим систему, которая использует хаос как генератор вариантов, а затем жёстко фильтрует результат? Именно это предлагает методология Стратум — инженерный подход, выросший из советской школы проектирования: ГОСТы, спецификации, разбиение на модули с чёткими входами-выходами.

Проклятие вероятности

LLM — это машина вероятности. Даже при температуре 0 и фиксированном seed остаётся неопределённость из-за аппаратного окружения, кэша и арифметики с плавающей точкой. Но главное — модель может выбрать любой правдоподобный путь. И часто выбирает неверный.

Попытки «зашить» правила в промпт — как лечить рак пластырем. Нужна архитектура, где LLM становится одним из компонентов, а не центром вселенной. Стратум даёт такую архитектуру.

Важно: Стратум — не промпт. Это набор слоёв, каждый из которых выполняет свою задачу. LLM есть только в двух из пяти слоёв. Остальные — детерминированные процедуры.

Пять страт (слоёв) детерминизма

Разбиваем задачу на пять последовательных слоёв, каждый со своей спецификацией. Вход каждого слоя — строго типизированные данные. Выход — тоже. Никаких «вольных интерпретаций».

1 Слой декомпозиции (Task Decomposition)

Получает сырой запрос пользователя. Разбивает на атомарные подзадачи. Использует LLM с жёстким промптом: «Выдели не более 5 подзадач, каждая — одно предложение». Результат — JSON-массив строк. Если LLM отдаёт больше 5 — режем детерминированно. Если меньше — дополняем пустыми? Нет, оставляем как есть. Детерминизм не самоцель, а рамка.

2 Слой извлечения фактов (Fact Extraction)

Для каждой подзадачи LLM (уже другая, менее креативная) извлекает факты из предоставленного контекста. Контекст может быть корпоративной базой знаний. О том, как правильно подготовить контекст для LLM, мы писали в статье «Как заставить LLM работать с корпоративными данными». На выходе — структура фактов с ссылками на источники.

3 Слой логического вывода (Inference)

Здесь LLM не нужна. Используем детерминированные правила (если-то, таблицы решений, калькуляторы). Если для вывода нужна генерация текста — возвращаемся к LLM, но с ограниченным набором шаблонов. Советская школа: «железобетонная логика».

4 Слой верификации (Verification)

Ключевой слой. Проверяем каждое утверждение на: а) внутреннюю согласованность, б) соответствие фактам из слоя 2, в) отсутствие галлюцинаций. Используем LLM с промптом верификатора. Если процент уверенности низкий — ответ отклоняется, генерируется новый. Как именно тестировать такие цепочки, описано в «Тестируем недетерминированные LLM». Прогоняем тесты, замеряем consistency.

5 Слой агрегации (Aggregation)

Собирает ответ из верифицированных фрагментов. Детерминированный шаблонизатор. Если какой-то кусок не прошёл верификацию, подставляет «Извините, не могу ответить». Честно и предсказуемо.

Пошаговое внедрение Стратум в ваш пайплайн

Не надо переписывать всё с нуля. Идите итеративно.

1 Аудит текущего пайплайна

Зафиксируйте, где LLM принимает решения сама. Нарисуйте граф потоков. Удивитесь, сколько точек неопределённости.

2 Выделите точки недетерминизма

Соберите статистику: сколько раз один и тот же запрос даёт разные ответы. Для этого есть инструменты вроде LangSmith или самописные тесты. См. статью по тестированию выше.

3 Опишите спецификацию каждого слоя

Возьмите за основу советский ГОСТ: «Слой получает на вход X, выдает Y, при обработке запрещено Z». Промпты для LLM пишутся как машинные коды — никаких «пожалуйста», только инструкции.

4 Реализуйте слой верификации

Не экономьте. Тут либо всё, либо ничего. Можно использовать готовые бэкенды: калькуляторы, векторные базы, API проверки фактов. О том, как собрать семантический пайплайн, читайте в «Как построить семантический пайплайн для LLM»

5 Запустите статистические тесты

Прогоните пайплайн на 1000 тестовых запросов 10 раз. Сравните ответы. Допустимое расхождение — 2%. Если больше — ищите утечку недетерминизма.

6 Итерируйте

Добавляйте новые сценарии. Совет: не пытайтесь детерминировать всё сразу. Начните с одного критического сценария. Например, обработка юридических документов. Кстати, о качестве оценки в праве — Lexometrica Ground Truth покажет, как избежать утечки данных при тестировании.

Ловушки на пути к детерминизму

Расскажу о четырёх граблях, на которые наступили лично.

  1. Стратум — это не промпт. Многие пытаются запихнуть все слои в один промпт. Не работает. Каждый слой — отдельный вызов LLM или детерминированная функция.
  2. Излишний детерминизм убивает гибкость. Если вы зафиксируете всё, LLM перестанет справляться с нестандартными запросами. Дайте слою декомпозиции свободу, а слою верификации — железную хватку.
  3. Синдром подлизывания (sycophancy). LLM пытается угодить пользователю, выдавая ложные факты. В слое верификации это легко заметить: факты не проходят. Подробнее — в статье «Как заставить LLM перестать подлизываться».
  4. Игнор контекста. Если корпоративная база не структурирована, слой извлечения фактов утонет. Используйте контекстуализацию (ссылка выше).

Почему советская школа? И при чём тут инженерия?

В СССР не было места «ляпам». Каждый блок системы проектировался с полной спецификацией. Стратум берёт эту философию: чёткие интерфейсы, отсутствие побочных эффектов, предсказуемость. LLM в этой парадигме — всего лишь нестабильный генератор, который мы оборачиваем в ГОСТ.

Забудьте про «правильные промпты» — LLM решают задачи иначе, чем люди. Статья «Забудьте про правильные промпты» объясняет, почему.

Инструментарий: что взять в руки

Для экспериментов со Стратумом вам понадобится локальная LLM. Сравните LM Studio и llama.cpp в нашем обзоре. Если нужен Tool Calling — гляньте обзор LLM с Tool Calling. Для серьёзных проектов одного промпта мало — читайте «LLM Engineer: профессия-призрак или новый золотой стандарт?»

Не верьте, когда говорят, что LLM понимает, чего вы хотите. Разбираемся здесь. Стратум — это способ перестать надеяться на понимание и начать проектировать.


Стратум не избавит от галлюцинаций полностью. Но он заставит LLM ошибаться только в тех рамках, которые вы контролируете. Используйте это как преимущество: в 80% случаев ответ будет абсолютно надёжным. Для остальных 20% у вас есть фолбэк. Инженер не ищет идеал — он проектирует систему, которая работает достаточно хорошо, чтобы не подвела.

Подписаться на канал