AI Sales Agent: evidence-first архитектура AI-агента для CRM
Архитектурный кейс · AI-агент · CRM · Laravel · 2026
Evidence-first AI-агент для автоматизации CRM и анализа коммуникаций: система собирает сделки, сообщения, звонки и знания в воспроизводимый контекст, отделяет вывод модели от фактов и допускает результат только после детерминированной проверки.
Главный принцип: LLM предлагает семантику. Детерминированный код решает, допустима ли она. Невалидный ответ отклоняется, а не «ремонтируется» до удобного результата.
Бизнес-задача: понимать сделку, не превращая гипотезу в факт
Менеджер работает одновременно со статусом сделки в amoCRM, перепиской через Wazzup, задачами, звонками и документами из базы знаний Yonote. Простая схема «отправить чат в GPT и записать ответ в CRM» не отвечает на критичные вопросы: к какой именно сделке относится диалог, какие данные были доступны модели, на чём основан вывод и можно ли выполнять действие.
Поэтому решение построено как production-oriented reasoning pipeline вокруг реальных бизнес-данных. Оно сохраняет происхождение evidence, фиксирует снимок состояния, требует ссылок на доказательства и проводит структурный результат через набор контрактов до того, как он сможет повлиять на процесс.
Evidence-first pipeline
Ingestion и нормализация
amoCRM, Wazzup, транскрипты звонков и Yonote преобразуются в локальные записи с идентификаторами источника, временем и provenance.
source evidenceEntity Resolution
Структурированные идентификаторы сопоставляют мессенджер, контакт и активную сделку. Неоднозначность сохраняется как отдельный результат.
resolved · ambiguous · unresolvedImmutable Deal Context
Watermarks источников и нормализованные записи образуют версионированный неизменяемый пакет контекста.
snapshot · version · provenanceFact Extraction и Resolver
Модель выделяет факты, сценарий, business goal, prerequisites и ownership, возвращая typed output со ссылками на evidence.
AI interpretationКонтракты и validation
Детерминированный слой проверяет типы, существование ссылок, допустимость completion, blockers и ownership.
accept or rejectClarification или action boundary
Недостающий критичный факт запрашивается у менеджера; внешние действия остаются отдельной, явно ограниченной границей.
human-in-the-loop
Entity Resolution до начала reasoning
Resolved
Набор структурированных идентификаторов однозначно связывает коммуникацию с CRM-контактом и сделкой. Основания решения сохраняются.
Ambiguous
Найдено несколько допустимых кандидатов. Система не выбирает первый или наиболее удобный и не запускает reasoning на ложной уверенности.
Unresolved
Подтверждённой связи нет. Это наблюдаемое состояние, а не ошибка, которую нужно скрыть предположением модели.
Provenance
Попытка сопоставления хранит использованные признаки и результат; чувствительные идентификаторы защищены при хранении.
Неизменяемый контекст и воспроизводимость
AI не читает постоянно меняющийся набор API-ответов напрямую. Нормализованное состояние сделки фиксируется с watermarks источников в Context Package. Новый сигнал создаёт новую версию, а прежний AI-result остаётся связан с тем snapshot, на котором был получен.
В аудите сохраняются входной пакет, сырой ответ провайдера, механическая нормализация и канонический валидированный результат. Это позволяет воспроизвести решение и отличить изменение бизнес-данных от изменения интерпретации.
Детерминированный safety layer
- Несуществующая evidence-ссылка → reject. Модель не может сослаться на фрагмент, которого не было во frozen input.
- Неверный тип evidence → reject. Ссылка должна соответствовать ожидаемому типу источника и run-local alias.
- Неподдерживаемый completion → reject. Завершение должно соответствовать контракту текущей цели.
- Недопустимый prerequisite → reject. Деталь, нужная после принятия решения, не становится текущим blocker.
- Некорректный ownership → reject. Ответственность выводится из принятого состояния prerequisites, а не из свободного текста.
Human-in-the-loop без подмены доказательств
Если Resolver обнаруживает неподтверждённый критичный prerequisite, eligibility проверяется кодом, после чего менеджеру задаётся узкий вопрос. Ответ становится отдельным immutable human evidence, формируется новый Context Package и reasoning запускается снова.
Human assertion имеет собственную authority: он может подтвердить сказанное менеджером, но не доказывает несвязанное техническое событие и не закрывает коммерческую цель автоматически. Путь clarification отдельно ограничен, rate-limited, защищён от дублей и аудируется.
Звонки и operational intelligence
Call intelligence
Оригинал и нормализованный transcript сохраняют hashes, uploader/time provenance и revisions. Невалидный импорт помещается в quarantine; выпуск в AI evidence выполняется явно.
Operational layer
Dashboard показывает нагрузку менеджеров, просроченные задачи, attention cases, backlog уточнений и return-to-work observations без вызова LLM при рендеринге.
Операционное наблюдение не является коммерческим выводом: просроченная задача может требовать внимания, но сама по себе не означает отказ клиента или проигранную сделку.
Модель полномочий
| Слой | Полномочие |
|---|---|
| CRM / messenger / transcript records | Исходные доказательства |
| Immutable Context Package | Воспроизводимое представление evidence |
| Fact Extraction / Resolver | AI-интерпретация |
| Contracts / validators | Структурный допуск результата |
| Manager Clarification | Явное утверждение человека |
| Planner / Executor | Отдельная граница действий |
Что реализовано сейчас
| Возможность | Статус |
|---|---|
| amoCRM, Wazzup и Yonote synchronization | Реализовано |
| Entity Resolution, Immutable Deal Context, timeline и provenance | Реализовано |
| Fact Extraction и Scenario / Business Goal Resolver | Реализовано; Resolver активно укрепляется |
| Typed evidence boundary и deterministic validation | Реализовано; контракты контролируемо развиваются |
| Manager Clarification | Реализовано с guarded pilot writes |
| Call transcript ingestion и operational dashboard | Реализовано |
| General Action Planner | Не активен |
| Автономные сообщения клиентам | Не активны |
Технологии
Результат
Архитектура превращает разрозненные данные сделки в проверяемый AI reasoning process. Модель помогает интерпретировать бизнес-ситуацию, но не получает право незаметно создавать CRM-факты или выполнять неограниченные действия.
AI Agent · CRM Automation · Laravel · PostgreSQL · Redis · LLM · Evidence · Human-in-the-loop
