Модуль не рождается в момент написания запроса. Он рождается в момент, когда вы проходите через четыре этапа проектирования. Пропустите хотя бы один — и получите очередной труп в папке «Избранное».
Шаг 1. ДекомпозицияРазбиваем задачу до уровня, который выполнит самая слабая модель из доступных. Это методология «Вечного стажера»: чем меньше и проще шаг, тем выше точность.
Вместо «проанализируй договор на риски» — последовательность:
- Найди пункт о штрафных санкциях.
- Извлеки сумму.
- Верни ответ в заданном формате с цитатой из текста".
Вы не можете автоматизировать то, что не разделили конечные операции с понятным результатом. Это первый и главный закон. Вы все еще техник, но уже думаете, как управленец: не «сделай мне», а «сделай вот это, потом вот это, потом верни вот в таком формате».
Шаг 2. Калибровка: принцип нулевого бюджетаПрежде чем фиксировать модуль, пройдите через мысленный эксперимент из двух сценариев. Это фильтр, который заставляет думать архитектурой, а не деньгами.
Сценарий А. Неограниченный бюджет. Представьте: у вас самая мощная модель мира, команда из десяти разработчиков, векторная база на сто миллионов документов и бюджет в сотни миллионов. Как бы вы решили задачу? Скорее всего это будет поисковая генерация, дообучение модели на ваших документах, мультимодальный анализ, оркестрация пяти агентов. Модно. Молодежно. Красиво. Дорого. И в 90% случаев избыточно.
Сценарий Б. Нулевой бюджет. У вас только браузер, локальная модель Gemma 4 E2B на ноутбуке с 16 ГБ оперативной памяти и один час времени. Как решить ту же задачу? Вы вынуждены декомпозировать процесс до предела. Вы отказываетесь от семантического поиска в пользу точного совпадения ключевых слов. Заменяете сложную оркестрацию и параллельную работу нескольких моделей со сравнением выданных ими результатов и рекурсивными повторными запросами простой и жесткой последовательностью из трех шагов. Вы не прячете ошибки модели за архитектурой — вы проектируете изначально так, чтобы ошибиться было попросту невозможно.
Парадокс в том, что решение из сценария Б оказывается точнее, чем из сценария А. Потому, что ограничение рождает дисциплину.
Нулевой бюджет — это не про деньги. Это про дисциплину проектирования. Если задача не решается на нулевом бюджете, она не решается и на неограниченном — вы просто маскируете плохую архитектуру дорогими инструментами.Для топ-менеджмента это ключевой тезис. Когда в следующий раз команда запросит бюджет на «более мощную модель, которая справится лучше», задайте один вопрос:
«
Вы прошли через упражнение нулевого бюджета? Покажите, почему без этой модели задача нерешаема на уровне архитектуры». В 80% случаев окажется, что решаемость — вопрос декомпозиции, а не вычислительной мощности.
Вернемся к кейсу про NDA, который мы разбирали в «Партизанской автоматизации», и посмотрим, как это работает на практике.
Неограниченный вариант, который мне предложили бы в классическом ИТ-проекте:
- Поисковая генерация по базе прецедентов.
- Дообучение модели на трехстах договорах.
- Мультимодальный анализ сканов.
- Оркестрация агентов.
- Срок: четыре месяца. Бюджет: полтора миллиона.
Результат: «идея не взлетела, дайте еще ресурсов».
Нулевой вариант в три атомарных шага:
- Поиск по шаблону ключевого слова «штраф».
- Извлечение абзаца.
- Проверка, что ответ в нужном формате.
Никакого семантического поиска. Никакой оркестрации. Жесткая последовательность, жесткий формат вывода, обязательная цитата. Точность выше, время — минуты, стоимость — ноль. Потому что модель работает локально, на ноутбуке, без подписки, без ключей доступа, без риска утечки.
Именно второй вариант и стал модулем. Первый не прошел бы даже декомпозицию: он сам по себе — монолит, вся логика принятия решения отдана модели, а проверить его корректность означает заново переделать всю работу за модель.
Шаг 3. ФиксацияМодуль записывается в утвержденном формате. Не в чат. Не в заметку. В спецификацию, которую может прочитать любой новый сотрудник и развернуть за пять минут. У модуля есть версия, владелец, срок ревизии и критерии приемки. Он переживет увольнение автора и смену модели.
На этом шаге вы перестаете быть техником и становитесь управленцем: процесс задокументирован и воспроизводим без вашего участия.
Шаг 4. ВстраиваниеМодуль подключается к конвейеру. Определяется условие запуска, последовательность в цепочке и протокол вывода. Модуль не существует сам по себе — он существует как часть процесса. Ни один модуль не вызывается вручную. Ни один результат не уходит в работу без прохождения валидатора.
На этом шаге вы становитесь архитектором: вы больше не решаете задачи руками, а проектируете среду, в которой задачи решают по вашим законам.
Четыре шага пройдены. Модуль задокументирован, у него есть владелец и валидатор. Но пока он лежит в библиотеке сам по себе — это просто текст. Чтобы модуль работал и не галлюцинировал, ему нужна среда исполнения. Посмотрим на одном механизме.
Модуль мертв без операционной системыБиблиотека модулей без среды исполнения — это набор текстовых инструкций. Прогресс по сравнению с кладбищем промптов, но не более.
Сценарий: модуль «Проверка штрафных санкций» возвращает результат. Цитата пустая. Модель не нашла дословного подтверждения и попыталась «договорить» сумму. В обычном чате вы бы этого не заметили. В библиотеке модулей без операционной системы — тоже не заметили бы, потому что нет механизма, который проверяет.
В когнитивной операционной системе срабатывает
аксиоматический слой: правило
«Любой вывод должен сопровождаться цитатой из исходного документа. Если цитата отсутствует — результат не валиден». Система блокирует вывод. Модуль получает сигнал об ошибке. Запрос повторяется с принудительным извлечением цитаты. Если цитаты нет — модуль возвращает статус «отсутствует», а не выдумывает сумму.
Один механизм. Одна строка в Конституции операционной системы. И галлюцинация становится невозможной не потому, что модель «стала умнее», а потому что среда исполнения не позволяет ей солгать.
Модули — это мышцы. Операционная система — это нервная система. Мышца без нерва дергается случайно. Мышца, подключенная к нервной системе, двигает тело точно и предсказуемо.