Блог
Заметки об инженерии, инструментах и работе с клиентами.

Как я научил LLM попадать в 1С с первого раза
Менеджер получает заявку на «ВВГ 3х2.5, не плоский» и тонет в 47 вариантах в справочнике. Рассказываю, как мы через эмбеддинги и GigaChat Pro подняли точность с 61% до 94% и избавили людей от рутины.

Падение GigaChat: как три модели спасли нас от таймаутов
Вчера в 14:32 GigaChat лёг, и у нас посыпались запросы. Но цепочка из YandexGPT и self-hosted T-Lite помогла переключиться за восемь минут — клиенты почти ничего не заметили.

Дубли в CRM: как я сдался на Левенштейне и пришёл к эмбеддингам + ИНН
В базе 18 тысяч контрагентов, а уникальных — 11. Я прошёл путь от простого fuzzy matching до каскада из векторов, правил и LLM, и вот что реально работает в продакшене.

Prompt injection вживую: как клиент спрятал команду в PDF и чуть не слил нам базу
Реальная история, как скрытая инструкция в сканированном КП едва не заставила AI-агента вывалить список контрагентов. Рассказываю, что сработало, а что — просто театр безопасности.

Как я укротил шторм на квоте FastAPI и GigaChat Pro
Утром дилер нажал «Сгенерировать для всех» — и 340 запросов мгновенно утопили GigaChat в 429-х. Я за пару вечеров добавил четыре простых регулятора и превратил хаос в стабильные 3 минуты.

Снапшот-тесты для AI-агента: как я заставил pytest ловить регрессы в промптах
Одна правка в промпте — и агент начал сливать все крупные заявки. Я собрал 47 кейсов и настроил тесты, которые ловят такие поломки ещё в CI.

A/B-тесты промптов: как я перестал катать монетку
После того как «улучшенный» промпт испортил пару клиентских контактов, я выбросил практику «поменял — задеплоил — посмотрел глазами». Вот как мы построили нормальную инфраструктуру A/B-тестов промптов и какие грабли собрали по пути.
JSON от российских LLM: как я довёл парсинг до 99.4% и перестал терять данные
Пятница, менеджер кидает задачу — и парсер падает на каждом третьем письме. Рассказываю, как я собрал простой пайплайн из трёх слоёв и вытащил успех с 73% до 99.4% на реальном потоке.

Как я срезал счёт за GigaChat Pro на 47% лёгким роутером
У клиента счёт за LLM вырос в три раза. Оказалось, что 71% запросов можно было отдать дешёвой модели. После внедрения маршрутизатора на T-Lite расходы упали почти вдвое.

Семантический кэш на pgvector: как я срезал счёт за LLM на 38%
Рассказываю, как за пару вечеров собрал кэш на pgvector, который ловит похожие вопросы по смыслу и экономит 38% токенов в реальном проекте.

Как я переехал на новую модель эмбеддингов и не уронил поиск
Понедельник, 9:47 — в чат летит «поиск сломался». Я уже проходил через это и теперь всегда мигрирую эмбеддинги по-другому: без даунтайма и с кнопкой отката.

Холодный старт pgvector: как я убрал 8-секундный тормоз после деплоя
Бывало: всё летало, p95 — 120 мс, а после деплоя первый запрос висит 8 секунд. Разобрал, откуда берётся холодный старт pgvector, и какие три приёма реально помогают.
Как я анонимизирую ПДн перед LLM, чтобы не словить проблемы по 152-ФЗ
Когда AI-агент обрабатывает корпоративную переписку или транскрипты, в промпт лезут ФИО, телефоны и паспорта. Вот как я сделал отдельный слой анонимизации, чтобы минимизировать передачу данных и не нарушать закон.

Идемпотентность вебхуков: как я перестал слать одно письмо трижды
Вебхуки в AI-агенте легко превращаются в дубли писем и лишние вызовы LLM. Вот как я настроил идемпотентность на FastAPI и PostgreSQL, чтобы такого больше не случалось.

Год с AI в деле: что реально дало деньги, а что сожгло бюджет
За год я потыкал AI в разных бизнесах — от торговли до юрфирм. Часть фишек окупилась за пару месяцев, часть пришлось похоронить. Вот честный разбор без хайпа.

MCP + pgvector: память для LLM за один вечер
Без памяти ассистент — просто чат с калькулятором. Я настроил pgvector и MCP-сервер, чтобы LLM помнил регламенты, переписку и решения собраний.

Карточка клиента или заявки: куда девать боли и скрипты
В B2B с длинным циклом одна компания заходит в воронку по пять раз, и каждый раз — новые боли. Если всё сваливать в карточку клиента, потом никто не разберётся, что сработало полгода назад.

Парсинг zakupki.gov.ru: как я выкручиваюсь с их XML
zakupki.gov.ru сыплет XML, которые не всегда соответствуют схемам. Я делал парсер для своих задач и расскажу, как сделал его устойчивым без постоянных поломок.

CRM с AI-секретарём в микро-бизнесе: мой разбор реального внедрения
Рассказываю, как мы поставили CRM с AI-секретарём в оптовую торговлю стройматериалами — три менеджера, Excel и WhatsApp. Полгода спустя: что взлетело, где упёрлись и стоит ли оно того.

Как я скрестил rusprofile и LLM, чтобы не тратить день на поиск подрядчиков
Раньше закупщик тратил почти день на ручной поиск по rusprofile. Я собрал парсер + LLM-ранжировщик, который выдаёт нормальный шорт-лист за 5–7 минут. Вот как это работает и где я набил шишек.