Задача была сугубо прикладная: для тестирования векторной базы данных нужен был корпус текста с научной терминологией, перекрёстными ссылками и нестандартными именами собственными — всё это плохо поддаётся векторизации и хорошо нагружает retrieval-системы. Готовых подходящих текстов не нашлось: «Манифест Киберпанка» слишком короткий, а Предложение 653 из «Видоизменённого углерода» существует только как сюжетный элемент, реального текста у него нет. Писать вручную — долго и странно. Так появился повод проверить агентную архитектуру в деле.

Автор выбрал жанр биопанк и сформулировал рабочее название: Директива 401 «О лицензировании корпоративного биологического присутствия и коммерческой эксплуатации белковых носителей». Концепция документа строится вокруг идеи «Body as a Service» — тело клонированного или синтетического организма трактуется как арендуемая инфраструктура, а органы чувств описываются как платные программные функции: «визуальный интерфейс глазного яблока», «аудио-декодирование слухового аппарата». Санкции за нарушения — не лишение свободы, а биологические ограничения: снижение выработки АТФ или блокировка нейромедиаторов.

АгентРольОсобенности
ЮристОсновной генератор текста статей законаВидит весь документ, пишет и редактирует статьи, мизантроп по промпту
ЭкспертАнализ и экспертная оценка текстаДва режима: корпоративный и либеральный (может критиковать и спорить)
ГоферВспомогательная логикаМаршрутизация задач внутри системы
КиперХранение состоянияВедёт актуальную версию документа
КоординаторСборка финального документаУправляет итоговым выводом

Технологический стек подобран под принцип жанра «high tech — low life»: локальный запуск на GPU 16 ГБ через Ollama, две модели — gemma3:27b и gemma4:31b, оркестрация через LangGraph, интерфейс на Streamlit. LangGraph — библиотека поверх LangChain, которая позволяет описывать агентные пайплайны в виде графов состояний: каждый узел — это агент или инструмент, рёбра — условия передачи управления. Это удобно, когда нужно организовать нелинейный диалог между несколькими агентами с общим контекстом.

Агентная система из пяти ролей (Юрист, Эксперт, Гофер, Кипер, Координатор) управлялась через LangGraph с UI на Streamlit.

Систему агентов автор назвал Департаментом Юридической Био-инженерии. В него входят пять ролей. Юрист — основной генератор текста, видит весь документ целиком, пишет и редактирует статьи закона; по промпту это «мизантроп, прожжённый профи, адепт Корпоративного Совета». Эксперт анализирует написанное и имеет два режима: в корпоративном он действует в интересах Совета, в либеральном — может критиковать текст, использовать сарказм и смотреть на закон с гуманистической точки зрения. Гофер, Кипер и Координатор обеспечивают вспомогательную логику — хранение состояния, маршрутизацию задач и сборку финального документа. Пользователь выступает Супервизором от Корпоративного Совета.

В промпте Юриста жёстко закреплена терминология: слова «человек», «права», «свобода», «смерть» применительно к биологическим активам запрещены, вместо них — «биологический носитель», «протеиновая оболочка», «утилизация», «эксплуатационная пригодность». Каждая статья должна начинаться с утверждения прав Лицензиара — корпорации. Вымышленный мир включает шесть корпораций Корпоративного Совета: «Апекс Геномикс» владеет патентными правами на ДНК-последовательности, «Гидрасинт Корп» монополизировала синтетические органы, «Нейроком» контролирует нейроинтерфейсы и когнитивные лицензии, «Биора Корп» занимается утилизацией биологических отходов.

Итоговый документ — пять глав и 24 статьи, около 200 КБ текста. Время генерации одной итерации в начале работы составляло 6 минут, к концу выросло до 15 — по мере того как рос объём контекста, который модель должна удерживать при каждом обращении. Это типичное ограничение локальных LLM при работе с длинными документами: скорость инференса падает нелинейно с ростом длины промпта.

С практической точки зрения эксперимент демонстрирует несколько вещей одновременно. Локальные модели размером 27–31 млрд параметров уже способны генерировать связные юридические тексты с выдержанной стилистикой и специализированной терминологией — без обращения к облачным API. LangGraph позволяет организовать разделение ответственности между агентами с разными «личностями» и контролировать поток документа через граф состояний. Наконец, жанровые ограничения (биопанковая терминология, запрет на определённые слова, обязательная структура статей) работают как дополнительный стресс-тест для модели — и именно такой текст оказывается полезным корпусом для проверки retrieval-систем.