Добавить в корзинуПозвонить
Найти в Дзене

Переписал /tools/check-norm-ai на Neuron. Пока ничего волшебного не случилось

Привет.
У меня есть проект gostcheck.ru → страница /tools/check-norm-ai, где человек пишет запрос про строительство, а нейроночка отвечает, какие нормы (СП, СНиП, ГОСТ) скорее всего применимы и на что обычно ругается экспертиза. До сих пор там была классическая схема: Работало. Люди получали ответы. Но код в сервисе разросся, добавлять что-то новое становилось всё неприятнее, а качество иногда плавало. Я переписал это на Neuron (neuron-ai + neuron-laravel).
Сделал минимально возможный переход — просто перенёс логику в агента. Планы на ближайшее время (реалистичные, без обещаний «всё взлетит»): Буду держать в курсе, если что-то реально полезное появится.
Оглавление
Лого gostcheck.ru
Лого gostcheck.ru

Привет.
У меня есть проект gostcheck.ru → страница
/tools/check-norm-ai, где человек пишет запрос про строительство, а нейроночка отвечает, какие нормы (СП, СНиП, ГОСТ) скорее всего применимы и на что обычно ругается экспертиза.

До сих пор там была классическая схема:

  • эмбеддинг запроса (с суффиксом «нормы требования пункт таблица…»)
  • поиск 12 ближайших чанков в pgvector (отсекаем > 0.62 по L2)
  • если нашлось — пихаем их в контекст + специальный промпт «пиши цифры, заполняй typical_remarks»
  • если ничего — общий промпт «по экспертизе ГИПа»
  • потом вызов → сохранение → редирект

Работало. Люди получали ответы. Но код в сервисе разросся, добавлять что-то новое становилось всё неприятнее, а качество иногда плавало.

Я переписал это на Neuron (neuron-ai + neuron-laravel).
Сделал минимально возможный переход — просто перенёс логику в агента.

Что реально изменилось:

  • Снрвис сократился.
  • System prompt вынесен в отдельный класс агента. Один раз написал — больше не копипащу и не рискую забыть/испортить.
  • RAG-настройки (top_k=12, max_distance=0.62, query expansion) теперь лежат в одном месте — в методе rag() агента или в конфиге vector store.
  • Легче добавлять инструменты. Пока не добавил ни одного, но структура уже готова — просто создаёшь класс Tool и регистрируешь.

Что не изменилось и не стало лучше (честно):

  • Качество ответов почти не поменялось. Нейросеть всё та же, чанки те же, промпт почти тот же → и ответы примерно те же.
  • Памяти разговора нет. Каждый запрос — чистый лист. Продолжить диалог «а теперь учти вентиляцию» пока нельзя.
  • Скорость ответа не ускорилась (может даже чуть замедлилась из-за дополнительных абстракций).
  • Никаких вау-эффектов пока не появилось.

Зачем тогда вообще переписывал?

  1. Чтобы дальше не мучиться с ростом сложности.
    Хочу добавить загрузку PDF, вызов калькуляторов, генерацию чек-листа на 50 пунктов, multi-agent (один ищет нормы, второй критикует, третий пишет отчёт) — с текущим контроллером это был бы ад.
  2. Код стал поддерживаемым.
    Если через полгода захочу поменять модель или vector store — меняю в одном месте, а не правлю 10 if-ов.
  3. Хочу посмотреть, куда это заведёт.
    Neuron — относительно молодой стек (особенно для PHP), но уже выглядит как то, на чём можно строить что-то посерьёзнее, чем «промпт + контекст».

Планы на ближайшее время (реалистичные, без обещаний «всё взлетит»):

  • добавить хотя бы базовую память разговора (через Redis или базу, 1–2 дня работы)
  • протестировать 30–50 запросов «до» и «после» — посмотреть, упало/выросло качество
  • если всё ок — добавить 1–2 простых инструмента (например, вызов одного из существующих калькуляторов на сайте)
  • если инструменты заработают нормально — попробовать multi-agent workflow

Буду держать в курсе, если что-то реально полезное появится.

Помощник по нормам — замечания экспертизы, что проверить | СтройCompliance