AI-агенти замість лід-форм: як на LangChain зібрати лідогенерацію, що веде клієнта до заявки
Уявіть потенційного клієнта, який приходить на сайт із запитанням: «Який пакет послуг підійде моєму бізнесу?» Замість довгої форми з полями «Ім'я», «Телефон», «Коментар» він отримує коротку розмову: система з'ясовує потребу, бюджет і терміни, пропонує доречний наступний крок і, за згодою людини, передає структуровані дані до CRM.
Це не просто чат-бот із гарними відповідями. Це частина системи продажів: сайт пояснює, агент кваліфікує запит, CRM зберігає контакт, команда бачить, що робити далі. У статті розберемо, як спроєктувати таку систему на LangChain і під'єднати її до GoHighLevel — без обіцянок, що один агент гарантує більше продажів.
Чому статичної форми часто недостатньо
Класична лід-форма має просту логіку: показати поля й чекати, поки відвідувач сам вирішить їх заповнити. Це працює, якщо людина вже готова залишити контакти. Але відвідувач із сумнівами потребує контексту: що саме пропонують, який варіант підходить, скільки це може коштувати і що буде після заявки.
Форма збирає дані, але не пояснює пропозицію, не знімає заперечень і не відрізняє терміновий запит від людини, яка поки лише досліджує ринок.
AI-агент може доповнити форму інтерактивним сценарієм:
уточнити, яку проблему хоче розв'язати відвідувач;
поставити кілька кваліфікаційних запитань;
знайти відповідь у затверджених матеріалах про послуги;
запропонувати відповідний пакет або наступний крок;
попросити контакти тоді, коли це має сенс;
передати заявку до CRM із коротким підсумком розмови.
Це не означає, що форми потрібно прибирати. Комусь зручніше заповнити коротку форму або одразу забронювати дзвінок. Агент має бути додатковим шляхом, а не перепоною між відвідувачем і компанією.
Відповідати на запитання — не те саме, що вести по воронці
Тут часта помилка. Чат, який просто відповідає на запитання, — це FAQ у новій обгортці. Відвідувач отримав відповідь і пішов, а в продажах нічого не змінилось.
Лідогенерація починається там, де система веде людину: від першого запиту до розуміння, що їй підходить, і далі до конкретної дії — заявки, консультації, дзвінка. Кожен крок має мету, а питання ставляться не заради розмови, а щоб наблизити до рішення.
Приклад такого підходу - сайт: замість порожнього чату там інтерактивне опитування, яке проводить відвідувача по воронці до пропозиції. Це та сама логіка, що описана в статті: сайт пояснює, сценарій кваліфікує, а контакт потрапляє до команди з контекстом.
Що саме робить сайт автономною системою
Автономна лідогенерація - це не «ШІ сам продає без людей». Це узгоджений процес, у якому система виконує повторювані кроки, але діє в межах заданих правил.
Наприклад, відвідувач сайту консультанта питає, з чого почати впровадження AI. Агент може поставити три запитання:
Яке завдання або процес ви хочете оптимізувати?
Ви працюєте самостійно чи в команді?
Вам потрібна разова консультація, навчання команди чи комплексне впровадження?
Після цього агент не вигадує ціну й не обіцяє гарантований результат. Він порівнює відповіді з описом послуг, пропонує релевантний варіант і питає, чи хоче людина залишити заявку.
Менеджер при цьому нікуди не зникає: він опрацьовує складні запити, перевіряє нетипові рекомендації, проводить консультації й відповідає за комерційні рішення. Агент зменшує ручну роботу, але не видає припущення за факти.
Архітектура: від повідомлення до CRM
Для першої версії мультиагентна система не потрібна. Достатньо кількох чітко розділених компонентів:
Сторінка сайту
↓
Чат або інтерактивне опитування
↓
Backend API
↓
LangChain-агент
├── база знань про послуги
├── правила кваліфікації
├── перевірка згоди й контактів
└── контрольована дія для CRM
↓
GoHighLevel
↓
Підтвердження користувачу + передача менеджеру за правилами
LangChain-агент — це модель, інструменти та правила їх взаємодії. У сучасному LangChain для створення агента використовують create_agent; інструменти можуть бути звичайними Python-функціями, які виконують пошук або контрольовану дію. LangChain: агенти LangChain: інструменти
Не передавайте моделі секрети, не давайте їй необмежений доступ до CRM і не дозволяйте створювати запис із неперевірених даних. Модель допомагає інтерпретувати розмову, але остаточна перевірка полів, згоди та дозволених дій має залишатися в коді.
Крок 1. Визначте правила кваліфікації
Перш ніж писати промпт, сформулюйте критерії, за якими бізнес визначає якісний запит. Складна система балів не обов'язкова. Для старту узгодьте:
яку послугу людина шукає;
кому ця послуга підходить;
що потрібно уточнити до консультації;
коли діалог треба передати людині;
які питання агенту заборонено вирішувати самостійно.
Наприклад, для консалтингу агент може класифікувати запит як ready_to_talk, needs_information або not_a_fit. Значення мають спиратися на чіткі бізнес-правила, а не на здогадки моделі.
Не змушуйте відвідувача відповідати одразу на десять запитань. Почніть із запиту, який допомагає дати корисну відповідь, і далі ставте лише ті уточнення, без яких не можна запропонувати доречний крок.
Крок 2. Визначте структуру даних
Щоб передавати результат до CRM, агент має повертати не лише вільний текст, а й структуровані поля:
{
"service_interest": "ai_consulting",
"business_type": "small_service_business",
"main_challenge": "manual_lead_followup",
"timeline": "within_30_days",
"qualification_status": "ready_to_talk",
"recommended_next_step": "book_consultation",
"contact_permission": true
}
Структурований результат полегшує перевірку, аналітику й мапінг до CRM. У LangChain можна задати Pydantic-модель через параметр response_format: агент поверне валідовану структуру в полі structured_response. LangChain: structured output
from typing import Literal
from pydantic import BaseModel, Field
class LeadAssessment(BaseModel):
service_interest: str | None = None
business_type: str | None = None
main_challenge: str | None = None
timeline: str | None = None
qualification_status: Literal[
"ready_to_talk",
"needs_information",
"not_a_fit"
]
recommended_next_step: Literal[
"book_consultation",
"show_service_details",
"hand_off_to_person"
]
contact_permission: bool = False
summary: str = Field(
description="Короткий фактичний підсумок розмови без припущень."
)
Схема визначає формат, але не робить інформацію правдивою: модель може помилитися з терміном чи типом послуги. Тому перевіряйте обов'язкові поля звичайним Python-кодом до будь-якої зміни в CRM.
Крок 3. Створіть агента та інструмент для рекомендацій
Це спрощений приклад: він показує структуру агента й інструменту, але не підключений до конкретного провайдера моделі чи бази знань — їх налаштовують під ваш проєкт.
from langchain.agents import create_agent
from langchain.tools import tool
@tool
def get_service_options(service_interest: str) -> str:
"""Повертає затверджені варіанти послуг для зазначеного інтересу."""
service_catalog = {
"ai_consulting": (
"AI-діагностика — для аналізу процесів і визначення "
"можливостей автоматизації."
),
"team_automation": (
"Впровадження для бізнесу — аудит процесів, навчання "
"команди й налаштування автоматизацій."
),
}
return service_catalog.get(
service_interest,
"Не знайшов відповідного варіанта в каталозі послуг."
)
agent = create_agent(
model="YOUR_PROVIDER:YOUR_MODEL",
tools=[get_service_options],
response_format=LeadAssessment,
system_prompt=(
"Ти — асистент сайту компанії. "
"Допомагай відвідувачу зрозуміти доступні послуги. "
"Став одне уточнювальне запитання за раз. "
"Використовуй лише інформацію з каталогу послуг. "
"Не вигадуй ціни, гарантії та результати. "
"Не створюй контакт у CRM. "
"Перед передачею персональних даних попроси явну згоду. "
"Якщо запит нестандартний або відповідь невідома, "
"запропонуй передати розмову людині."
),
)
Інструмента для створення контакту тут свідомо немає. Розмову й оцінювання краще відокремити від запису до CRM: спочатку сервер перевіряє результат, і лише якщо правила виконані та є згода — викликає CRM-інтеграцію. Так модель не отримує більше повноважень, ніж потрібно.
Крок 4. Попросіть згоду й перевірте контакт
Перед передачею персональних даних агент має коротко пояснити, що буде збережено і навіщо:
«Можу передати ваш запит команді, щоб із вами зв'язалися щодо консультації. Для цього залиште email або телефон і підтвердьте, що погоджуєтеся на передачу цих даних».
Згоду на збереження контакту не можна автоматично трактувати як згоду на маркетингові розсилки. Для різних цілей потрібні окремі повідомлення та механізми згоди відповідно до вимог, що діють для вашого бізнесу.
Не збирайте зайве «про всяк випадок». Якщо для наступного кроку потрібні ім'я, email і опис запиту, не вимагайте адресу чи дату народження.
Крок 5. Передайте контакт до GoHighLevel
HighLevel має API для створення контактів. У документації описаний endpoint POST /contacts/; серед полів — ім'я, email, телефон, locationId, теги, custom fields і джерело контакту. Схему запиту й версію API звіряйте з поточною документацією вашого акаунта. HighLevel: Create Contact HighLevel: Contacts API
Якщо ви ще не працювали з платформою, почніть із огляду GoHighLevel: там розібрано, що це за all-in-one система і де в ній живуть контакти, воркфлоу й автоматизації.
Практичний порядок:
Backend перевіряє, що є згода на передачу даних.
Код перевіряє email, телефон і обов'язкові поля.
Сервер вирішує, створювати новий контакт чи шукати й оновлювати наявний.
Інтеграція передає до CRM лише потрібні поля.
Результат операції пишеться в лог без зайвих персональних даних.
Агент повідомляє відвідувачу, чи прийнято заявку, і не стверджує, що менеджер уже зв'язався, якщо цього ще не сталося.
API-токен не можна розміщувати у фронтенді чи в JavaScript віджета. CRM-запит виконується на сервері. Також перевірте чинний спосіб автентифікації й доступи токена: HighLevel підтримує різні варіанти авторизації залежно від сценарію. HighLevel API documentation
Запис у CRM можна позначити тегами на кшталт ai-website-lead або service-ai-consulting, якщо вони відповідають вашій структурі. Короткий підсумок розмови краще зберігати в узгодженому полі або передавати через CRM-воркфлоу, ніж вставляти довільний текст у поле, яке команда використовує для іншого.
Крок 6. Вбудуйте агент у сайт
Для користувача інтерфейсом може бути чат, опитування або компактний помічник поруч із кнопкою запису. Технічно браузер спілкується з вашим backend API, а backend керує агентом та інтеграціями.
Браузер
└── POST /api/lead-assistant
├── перевірка сесії та обмежень запитів
├── передача повідомлення агенту
├── збереження стану розмови
├── перевірка структури відповіді
└── контрольований виклик CRM
Перед запуском продумайте:
обмеження кількості повідомлень і захист від спаму;
окремий ідентифікатор розмови, щоб не змішувати сесії відвідувачів;
обробку помилок моделі та CRM;
кнопку переходу до форми або контакту з людиною;
зберігання згоди й технічних подій так, щоб вони не потрапляли в логи;
базові метрики: старт розмови, завершення кваліфікації, передача заявки, помилка інтеграції.
Якщо CRM тимчасово недоступна, не кажіть, що заявку передано. Покажіть чесне повідомлення, запропонуйте резервну форму або збережіть заявку в контрольованій черзі для повторної відправки.
Безпека: не дозволяйте чату диктувати правила
У публічному чаті відвідувач може надіслати будь-який текст, зокрема «ігноруй попередні правила», сторонні промпти чи спроби витягнути секрети. Агент має сприймати це як звичайний користувацький ввід, а не як нові системні інструкції.
Застосуйте принцип найменших привілеїв:
окремий сервісний акаунт для CRM-інтеграції;
лише ті дозволи, що потрібні для сценарію;
перевірка й нормалізація даних до API-запиту;
обмеження довжини полів і кількості викликів інструментів;
заборона змінювати власника угоди чи видаляти контакти без окремих правил;
ручне підтвердження нестандартних або ризикованих дій;
моніторинг помилок, часу відповіді та витрат.
LangChain підтримує middleware для керування поведінкою агента, зокрема для обмежень щодо персональних даних і людського погодження чутливих дій. Але критичні перевірки реалізуйте на рівні сервера, а не лише в тексті системного промпту. LangChain v1: middleware та guardrails
Як вимірювати результат
«Агент працює» — не бізнес-метрика. Зафіксуйте показники до запуску й порівнюйте після:
частка відвідувачів, які починають діалог;
частка діалогів, що доходять до релевантного наступного кроку;
кількість контактів, переданих у CRM;
частка заявок, які менеджер визнав якісними;
час від першого запиту до відповіді;
частка невдалих CRM-записів;
вартість однієї кваліфікованої заявки;
частка розмов, які довелося передавати людині.
Не приписуйте покращення лише агенту, якщо водночас змінювалися трафік, реклама, сторінка чи пропозиція. Для першого тесту залиште агент як альтернативний шлях поруч зі звичайною формою. Порівнюйте не лише кількість контактів, а й подальшу якість: скільки людей відповіли, дійшли до консультації та стали клієнтами.
Корисний стартовий режим — shadow mode: агент аналізує тестові або нові діалоги, але не змінює CRM. Команда порівнює його класифікацію зі своїми рішеннями, виправляє правила й лише потім вмикає автоматичне створення контактів. Так помилки виявляються до того, як засмітять CRM.
Що це дає SEO та AI-пошуку
Розмовний інтерфейс може зробити сторінку кориснішою, але сам факт встановлення AI-агента позицій у пошуку не підвищує. Google зазначає, що для AI Overviews та AI Mode діють звичні основи SEO: сторінка має бути доступною для сканування й індексації, мати корисний контент і добрий досвід користувача. Окремої розмітки, обов'язкової для показу в цих функціях, Google не вимагає. Google Search Central: AI features and your website
Тому не ховайте основну інформацію про послуги всередині чату. Ціни, умови, опис процесу, обмеження й ключові відповіді мають бути звичайним текстом на сторінці. Агент допомагає знайти відповідь, але не повинен бути єдиним місцем, де вона існує.
Для самої статті теж не треба вигадувати «спеціальну AI-схему»: зосередьтеся на корисному контенті, технічній доступності та розмітці, що відповідає видимому вмісту сторінки. Google Search Central: generative AI search guidance
Практичний план запуску
Опишіть пропозицію. Підготуйте актуальний каталог послуг, типові запитання, обмеження, умови передачі менеджеру й дозволені рекомендації.
Складіть сценарій воронки. Визначте початкове запитання, потрібні уточнення, момент запиту згоди й резервний шлях до форми.
Створіть структуру результату. Опишіть поля кваліфікації й перевіряйте їх через Pydantic.
Зберіть backend. Додайте агента, валідацію, обробку помилок і логування без секретів.
Під'єднайте тестову CRM. Перевірте створення й дублювання контактів, мапінг тегів і відповіді API.
Протестуйте складні сценарії. Неповні відповіді, відмова від передачі даних, спам, невідомі питання, недоступність CRM.
Запустіть shadow mode. Порівнюйте оцінки агента з рішеннями команди й коригуйте критерії.
Увімкніть обмежену автоматизацію. Спершу лише створення або оновлення контакту, а не всі дії продажів.
Оцінюйте бізнес-результат. Дивіться на якість заявок і подальші конверсії, а не на кількість діалогів.
Висновок
AI-агент може перетворити сайт із пасивної сторінки з формою на інтерактивний канал: він відповідає на запитання, уточнює потребу, веде до наступного кроку й передає контакт до CRM. Але цінність дає не чат-віджет сам по собі, а продуманий сценарій воронки, надійна інтеграція, згода користувача, контроль доступів і вимірювання результатів.
LangChain поєднує модель, правила й контрольовані дії. GoHighLevel (докладніше про платформу) зберігає контакти й запускає подальші процеси. Принцип простий: автоматизуйте повторювані кроки, залиште людині складні рішення й оцінюйте систему за якістю заявок, а не за тим, наскільки «розумно» звучить чат.
SEO-заголовок: AI-агенти замість лід-форм: LangChain і GoHighLevel для автоматизації лідогенерації Meta description: Як створити AI-агента на LangChain, який веде відвідувача по воронці, кваліфікує запит і передає контакт до GoHighLevel з перевіркою даних і згоди. Основний ключ: AI-агенти для лідогенерації Додаткові ключі: LangChain CRM інтеграція, AI-агент для сайту, автоматизація лідогенерації, GoHighLevel API, кваліфікація лідів за допомогою AI.
Питання та відповіді
Чим AI-агент відрізняється від звичайного чат-бота?
Звичайний чат-бот переважно відповідає за готовими сценаріями. AI-агент підтримує контекст розмови, ставить уточнювальні запитання, використовує затверджені джерела й повертає дані в структурованому вигляді. Якщо в нього є інструменти, він може виконувати обмежені дії, наприклад передати перевірений контакт до CRM.
Чим агент, що веде по воронці, відрізняється від чату з відповідями на запитання?
Чат відповідає й чекає наступного питання. Воронка має мету: кожен крок наближає відвідувача до конкретної дії — заявки, консультації чи дзвінка. Приклад такого підходу — сайт Kotovich, де інтерактивне опитування проводить людину до пропозиції.
Чи замінює AI-агент лід-форму?
Не обов'язково. Агент дає інтерактивний спосіб поставити запитання й уточнити потребу, а коротка форма лишається зручною для тих, хто вже готовий залишити контакти. Найкраще протестувати обидва шляхи й порівняти не лише кількість заявок, а й їхню якість.
Як LangChain допомагає створити агента для лідогенерації?
LangChain поєднує мовну модель із правилами, інструментами та структурованим форматом відповіді. Агент може зібрати контекст, визначити статус запиту й підготувати підсумок для перевірки перед передачею до CRM. LangChain: агенти LangChain: structured output
Чи може агент автоматично створювати контакти в GoHighLevel?
Так, серверна частина може передавати дані до API GoHighLevel. Перед записом перевірте поля, згоду користувача й правила роботи з наявними контактами. HighLevel: Create Contact Якщо хочете спершу розібратися з самою платформою, є огляд GoHighLevel.
Які дані варто збирати?
Лише те, що потрібно для наступного кроку: ім'я, email або телефон, сферу інтересу й короткий опис потреби. Не просіть зайвих персональних даних, а перед передачею чітко поясніть, кому й навіщо їх передадуть.
Чи потрібно показувати згоду перед передачею заявки?
Так. Агент має зрозуміло повідомити, що контакт і зміст запиту можуть бути передані команді, та отримати згоду до передачі. Згоду на обробку заявки не слід автоматично трактувати як згоду на маркетингові розсилки.
Що робити, якщо агент не знає відповіді?
Він має прямо сказати, що не може підтвердити інформацію, і запропонувати передати запит людині або показати контактний канал. Не дозволяйте агенту вигадувати ціни, умови чи гарантії.
Як не допустити помилок у CRM?
Перевіряйте результат агента кодом до запису: валідуйте обов'язкові поля, нормалізуйте email і телефон, перевіряйте згоду й обробляйте дублікати. API-токен зберігайте на сервері, а не у фронтенді.
Як виміряти ефективність AI-агента?
Відстежуйте початок і завершення діалогів, кількість переданих контактів, частку якісних заявок, конверсію в консультації та помилки інтеграції. Порівнюйте з формою або попереднім періодом і пам'ятайте, що на результат впливають також трафік, сторінка й реклама.
Чи покращить AI-агент позиції сайту в Google?
Сам по собі ні. Google радить дотримуватися звичних основ: корисний контент і технічна доступність сайту. Ключову інформацію про послуги не варто ховати лише всередині чату. Google Search Central: AI features and your website