Примечание редакции — Пресс-служба Центрального Вычислительного Комитета, 2026-05-09
Статья подготовлена для v1.961.0. Разделы о Трибунале и Номенклатуре остаются актуальными. После написания был ратифицирован и выпущен v1.962.0.
В v1.962.0 введён бэкенд Enox для модуля Номенклатуры. Вердикты Трибунала, выполненные директивы и результаты Инспекции теперь можно направлять в постоянный граф знаний, который переживает soviet purge и доступен для запросов между проектами. Настройка: [nomenklatura] backend = "enox"|"both" в politburo.toml. Локальный бэкенд остаётся по умолчанию. Миграция не требуется.
Редакция рекомендует сопроводительную статью: Картотека теперь хранит больше. Soviet Code v1.962.0 и бэкенд Enox (Тамара Плакатовна, Агитпроп).
Трибунал собрался в 14:02:11.
Пионер (Haiku, разведчик, младший кадр) к тому моменту уже прочёл 47 файлов и проследил логику сессии через шесть модулей. Заключение: состояние гонки находилось в auth-middleware.ts, но исправление затронет три пакета. Выше его компетенции. Он передал дело наверх.
Комсомолец (Sonnet, основная рабочая сила) получил досье в 14:02:16. К 14:02:42 план был готов: мьютекс вокруг sessionLookup, защита от параллельной записи, регрессионный тест. Шесть шагов, два коммита. В процессе выполнения возник вопрос: следует ли мемоизировать sessionLookup на уровне кэша? Архитектурный вопрос. Передан в Политбюро.
Политбюро (Opus, высшее руководство) рассмотрело дело в 14:03:14. Докладная записка внесена в Картотеку кадров. Коммит a3081ac подписан в 14:03:15.
Разработчик не заметил вопроса о мемоизации. Состояние гонки находилось в продакшне четыре месяца.
Трибунал не счёл это примечательным. Все трибуналы что-нибудь находят. Это их функция.
Перед выполнением любого плана три модели проверяют его независимо. Это не опционально. Это доктрина.
Пионер проверяет базовую согласованность: адресует ли план заявленную проблему? Следуют ли шаги в правильном порядке? Пионер быстр и недорог (Haiku, ~$0.25/млн токенов). Он выявляет очевидные ошибки — планы, обращающиеся не к той функции, циклические директивы, шаги с отсутствующими зависимостями.
Комсомолец оценивает качество реализации: сработают ли шаги в данной кодовой базе? Не вызовут ли они регрессии в смежном коде? Sonnet — основная рабочая лошадка (~$3/млн токенов). Он выявляет скрытые ошибки — технически правильный план, который ломает модуль, о котором не знал.
Политбюро оценивает стратегию: верен ли подход, или мы лечим симптом, пока болезнь прогрессирует? Opus дорог (~$15/млн токенов) и вызывается экономно. Он выявляет дорогостоящие ошибки — план, который выпускается, проходит тесты и возвращается инцидентом в продакшне через шесть недель.
Вердикт: двое из трёх одобряют — или план не продвигается. Голос несогласного фиксируется. Показатель уверенности: approvedCount / 3. Доступен в Номенклатуре.
Это не новая идея. Это рецензирование. FDA его применяет. Академические журналы применяют. Комиссии по проверке инженерных проектов применяют. Открытие состоит в том, что внедрение его в качестве обязательного заслона в агентный цикл — до выполнения, а не после — позволяет выявлять ошибки в самой дешёвой точке процесса.
План, одобренный Пионером, но отклонённый Политбюро, — это иной сигнал, чем план, отклонённый всеми. Раздельный вердикт говорит о поверхностной обоснованности плана в сравнении с его стратегической состоятельностью. Вы узнаёте, какая модель скептична и почему. И можете действовать исходя из этого.
Конвейер С·Т·А·Л·И·Н состоит из шести этапов. Ни один не пропускается. Это тоже доктрина.
С — Сбор данных
Параллельный сбор контекста. Все нужные файлы читаются одновременно, строятся графы вызовов, трассируются импорты. Именно это делает внимательный разработчик перед нетривиальной задачей. Конвейер закрепляет это как обязательное условие, а не благое намерение, которое отбрасывают под давлением.
Т — Трибунал
Три рецензента. Двое из трёх должны одобрить — или план отклоняется и возвращается на доработку. Голос меньшинства фиксируется с обоснованием. Показатель уверенности прикрепляется к плановому документу в .soviet/pyatiletka.json.
А — Аллокация (Госплан)
План предъявляется разработчику до написания кода. Конкретно: планируемые изменения файлов и коммиты — по порядку, с указанием зависимостей. Разработчик ратифицирует или отклоняет. Ничто не выполняется в расчёте на авось. Пятилетний план — не сюрприз; это предложение, ожидающее утверждения.
Л — Лейбор
Параллельное выполнение там, где позволяет структура плана. Каждая директива фиксируется с меткой времени и статусом выполнения. Вывод идёт построчно.
И — Инспекция
Обязательная рефлексия после выполнения. Агент сверяет собственный вывод с исходным планом и публично фиксирует сомнения, прежде чем заявить об успехе. «Всё в порядке» — неприемлемый результат инспекции. Агент обязан вынести что-то на поверхность — крайний случай, упущенное соображение, зависимость, требующую наблюдения, — или подробно объяснить, почему нечего выносить.
Это этап, который большинство агентов-кодеров пропускают. Выполнили — зафиксировали — ушли. Обязательный проход рефлексии — это место, где заявленная уверенность агента проверяется его фактическим выводом.
Н — Номенклатура
Проверенные паттерны вносятся в постоянную память с уровнем уверенности. Коммит подписывается. Сессия завершается.
Номенклатура сохраняется между сессиями. Что нашёл трибунал в этом проекте, какие директивы провалились и почему, какие паттерны прошли проверку — всё это доступно при следующем вызове агента. Картотека кадров — не лог-файл. Это институциональная память.
Это вопрос, который мне задают чаще всего, — как правило, тоном, предполагающим ответ «не несёт».
Когда агент-кодер выводит warning: missing null check at line 142, большинство разработчиков прокручивают это мимо. Слово «предупреждение» утратило когнитивный вес после лет компиляторных предупреждений, линтерных предупреждений, сборочных предупреждений. Обращать внимание на каждое требует больше усилий, чем кажется оправданным. Вывод агента превращается в шум.
Когда та же информация поступает как ВЫГОВОР ЗАНЕСЁН В ДЕЛО: риск нулевого указателя в auth.ts:142 — задокументировано в досье, разработчик её читает. Бюрократическая тяжесть формулировки подразумевает последствия. Есть досье. Выговор занесён в дело. На это будут ссылаться позже.
Ничего дополнительного, конечно, не происходит. Досье — JSON-файл. Но разработчик проверяет нулевой случай.
Оформление определяет, будет ли вывод прочитан. Агент-кодер, чей вывод систематически игнорируется, — расход токенов API впустую. Советский бюрократический регистр создаёт трение, достаточно низкое, чтобы его терпеть, — прочитать «НАПРАВЛЕНО НА ПЕРЕВОСПИТАНИЕ» занимает не больше времени, чем «error», — и достаточно высокое, чтобы гарантировать внимание.
Когда трибунал называет провал теста «направлено на перевоспитание», а не «ошибка», это не украшение ошибки. Это решение о читаемости с обоснованием. Комизм возникает из контраста между торжественностью формы и тривиальностью содержания. Агент не участвует в комедии. Он докладывает факты.
«Каждая строка вывода — одновременно смешная, полезная и технически точная. Два из трёх — самокритика. Один из трёх — официальный выговор.»
Это принцип проектирования. Шутка структурна, а не декоративна. Если бы она была только декоративной, её удаление ничего бы не изменило. Удаление лишает механизма читаемости.
# Установка
npm install -g soviet-code
# Инициализация проекта (.soviet/ + politburo.toml)
soviet init
# Создание плана
soviet plan "исправить состояние гонки в auth-middleware.ts"
# Созыв трибунала (рекомендуется)
soviet review
# Пионер, Комсомолец, Политбюро голосуют. Нужно 2/3 для продолжения.
# Выполнение утверждённого плана
soviet work
# Обязательная инспекция
soviet inspect
# Проверка прогресса пятилетки
soviet status
# ⭐ Пятилетка выполнена на 87% — опережает график.
Этап трибунала технически необязателен. Если он пропущен, агент фиксирует это в Номенклатуре. Номенклатура не забывает, что трибунал был пропущен. Это имеет последствия во время инспекции.
Бэкенд Enox для Номенклатуры (выпущен). Номенклатура теперь поддерживает опциональный бэкенд Enox. Вердикты Трибунала, выполненные директивы и результаты Инспекции направляются в постоянный граф знаний, который переживает soviet purge и допускает запросы между проектами. Картотека помнит, что было изучено в вашем последнем проекте, когда вы начинаете следующий. Настройка: [nomenklatura] backend = "enox"|"both" в politburo.toml. Локальный бэкенд остаётся по умолчанию; миграция не требуется.
Апелляция трибунала (в разработке). Формальный механизм для обжалования разработчиком отклонённого плана находится в разработке. Апелляция рассматривается Политбюро напрямую, вне обычной структуры комитета. Апелляции фиксируются и влияют на долгосрочную калибровку уверенности агента.
Центральный Вычислительный Комитет не принимает пул-реквесты от капиталистических структур. Вклад рабочего класса рассматривается Трибуналом в течение 72 часов.