Разбор

ИИ-ассистент для онбординга: новый сотрудник получает ответы 24/7 вместо того чтобы дёргать коллег

Новый сотрудник задаёт 90+ вопросов в первый месяц — каждый отвлекает коллегу на 5–10 минут. Telegram-бот на Claude API с базой знаний компании закрывает 85% типовых вопросов за 5 секунд, без векторной БД и без перезапуска при обновлениях.

• 9 мин чтения

Первый день в новой компании. Сотрудник получил ноутбук, прошёл экскурсию по офису и теперь сидит с вопросом: «Как мне зайти в CRM?». HR-менеджер на звонке. Тимлид в митинге. Сосед по столу что-то срочно правит. Вопрос висит 40 минут — и это только первый из девяноста, которые будут в этот месяц.

90+
вопросов задаёт средний новый сотрудник в первый месяц — по данным HH.ru. Каждый отвлекает коллегу на 5–10 минут

Посчитать несложно: 90 вопросов × 7 минут = 10,5 часов чужого рабочего времени. В компании с текучкой 10 человек в год — это 105 часов потерянного времени. Только на вопросы.

Почему Excel с FAQ не работает

Обычный способ решить это — сделать «книгу новичка»: PDF или Notion-страницу с ответами на типичные вопросы. Логика понятна. Практика другая.

Сотрудник не знает что искать, пока не встретит проблему. Когда проблема возникла — он не помнит что документ вообще существует. И даже если открыл — документ на 80 страниц, а нужен ответ на конкретный вопрос прямо сейчас.

Бот в Telegram решает ровно эту проблему. Ты пишешь вопрос как коллеге и получаешь ответ через 5 секунд. Не ищешь в документе, не ждёшь пока HR освободится.

Куда уходит время HR в первый месяц онбординга (типовая картина)
Ответы на процедурные вопросы
~40%
Оформление документов
~25%
Настройка доступов и инструментов
~20%
Знакомство с командой и культурой
~15%
Структура на основе наблюдений в компаниях 15–60 человек. Первые две категории — именно то, что закрывает ИИ-бот.

Как устроена база знаний: один текстовый файл

Главное что здесь нужно понять: никакой векторной базы данных, никаких эмбеддингов, никакого Pinecone. Вся база знаний — текстовый файл knowledge.txt, который загружается в контекст Claude при каждом запросе.

Контекстное окно Claude составляет 200 000 токенов. Это примерно 150 000 слов — больше чем большинство корпоративных вики. Для компании до 200 человек туда войдёт весь онбординговый контент без сжатия.

Что включать в файл:

Структура компании. Кто за что отвечает, прямые контакты, когда к кому обращаться. «С вопросами по продукту — к Антону Смирнову, тг @a_smirnov». Не оргчарт в PDF, а живой текст с контактами.

Рабочие процессы. Как оформить командировку (шаги + форма), как взять отпуск (за сколько дней предупреждать, кому согласовывать), как получить доступ к новому инструменту (кто одобряет, как долго).

Инструменты и доступы. Какая CRM, где вход, что делать если не можешь войти, какой мессенджер для команды, какой для клиентов, где хранятся шаблоны договоров.

Продукты и клиенты. Что продаём, кому, типичные вопросы клиентов и ответы на них, чего нельзя обещать.

Формат — свободный текст или Q&A. Не JSON, не таблицы. Просто хорошо написанные абзацы. Claude справляется с обоими форматами одинаково, но Q&A читается быстрее при редактировании.

Архитектура: как это работает

✈️Telegramвопрос сотрудника
🐍Python-ботконтекст диалога
🤖Claude APIанализ + ответ
📄knowledge.txtбаза знаний

Бот хранит историю последних 6 сообщений пользователя — это контекст диалога. Если человек спрашивает «А как туда попасть?» после вопроса про CRM, бот понимает что «туда» — это CRM. При команде /new или когда тема явно меняется, история сбрасывается.

База знаний загружается в системный промпт. Благодаря prompt caching — функции Anthropic API — файл кешируется на стороне API после первого запроса. Каждый следующий вопрос обходится примерно в 10% от стоимости первого. При 50 вопросах в день расходы на API — 300–600 рублей в месяц.

Код: Python + python-telegram-bot

onboarding_bot.py — pip install anthropic python-telegram-bot
import asyncio
import os
from pathlib import Path
from collections import defaultdict

import anthropic
from telegram import Update
from telegram.ext import (
  ApplicationBuilder, CommandHandler,
  MessageHandler, ContextTypes, filters
)

TELEGRAM_TOKEN = "YOUR_BOT_TOKEN"       # токен от @BotFather
CLAUDE_API_KEY = "YOUR_CLAUDE_KEY"      # ключ Anthropic API
KNOWLEDGE_FILE = "knowledge.txt"        # путь к базе знаний

MAX_HISTORY = 6          # сообщений в памяти (3 обмена)
MAX_TOKENS  = 1024       # максимум токенов в ответе

client = anthropic.Anthropic(api_key=CLAUDE_API_KEY)

# История диалогов: chat_id -> list of {role, content}
history: dict[int, list[dict]] = defaultdict(list)

def load_knowledge() -> str:
  """Читает базу знаний с диска при каждом вызове."""
  path = Path(KNOWLEDGE_FILE)
  if not path.exists():
      return "База знаний не загружена."
  return path.read_text(encoding="utf-8")

def get_system_prompt() -> str:
  knowledge = load_knowledge()
  return f"""Ты помощник по онбордингу для новых сотрудников компании.
Отвечай только на основе базы знаний ниже.
Если ответа нет в базе — скажи об этом честно и предложи спросить HR.
Отвечай кратко и по делу, на русском языке.

--- БАЗА ЗНАНИЙ ---
{knowledge}
--- КОНЕЦ БАЗЫ ---"""

async def start(update: Update, ctx: ContextTypes.DEFAULT_TYPE) -> None:
  chat_id = update.effective_chat.id
  history[chat_id].clear()
  await update.message.reply_text(
      "Привет! Я помогу найти ответы на вопросы об устройстве компании.\n"
      "Спрашивай — отвечу по базе знаний.\n"
      "Команда /new — начать новую тему."
  )

async def new_topic(update: Update, ctx: ContextTypes.DEFAULT_TYPE) -> None:
  chat_id = update.effective_chat.id
  history[chat_id].clear()
  await update.message.reply_text("Хорошо, начинаем с чистого листа. Спрашивай!")

async def handle_message(update: Update, ctx: ContextTypes.DEFAULT_TYPE) -> None:
  chat_id = update.effective_chat.id
  user_text = update.message.text.strip()
  if not user_text:
      return

  # Добавляем сообщение в историю
  history[chat_id].append({"role": "user", "content": user_text})

  # Обрезаем историю до MAX_HISTORY последних сообщений
  if len(history[chat_id]) > MAX_HISTORY:
      history[chat_id] = history[chat_id][-MAX_HISTORY:]

  # Системный промпт с базой знаний — кешируется Anthropic API
  system = [
      {
          "type": "text",
          "text": get_system_prompt(),
          "cache_control": {"type": "ephemeral"},
      }
  ]

  response = client.messages.create(
      model="claude-sonnet-4-6",
      max_tokens=MAX_TOKENS,
      system=system,
      messages=history[chat_id],
  )

  answer = response.content[0].text

  # Сохраняем ответ ассистента в историю
  history[chat_id].append({"role": "assistant", "content": answer})

  await update.message.reply_text(answer)

def main() -> None:
  app = ApplicationBuilder().token(TELEGRAM_TOKEN).build()
  app.add_handler(CommandHandler("start",  start))
  app.add_handler(CommandHandler("new",    new_topic))
  app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message))
  app.run_polling()

Несколько вещей которые стоит знать:

cache_control: {"type": "ephemeral"} — это и есть prompt caching. Если убрать эту строку, каждый запрос будет считывать все токены базы знаний заново, цена вырастет в 8–10 раз.

load_knowledge() вызывается при каждом запросе — поэтому обновление файла применяется мгновенно. Не нужно перезапускать бота, переиндексировать базу или делать deploy. Сохранили файл — следующий вопрос уже видит изменения.

MAX_HISTORY = 6 — три полных обмена «вопрос-ответ». Для онбординговых вопросов этого хватает с запасом: редко кто ведёт длинный диалог об одном регламенте. При смене темы — /new.

Пример диалога: 5 реальных вопросов

Первая неделя. Новый менеджер по продажам
👤
Как мне попасть в CRM? Мне дали ноутбук но я не знаю где вход
🤖
CRM — это Битрикс24. Вход по адресу company.bitrix24.ru. Логин — ваш корпоративный email, пароль придёт на почту в письме от IT-отдела. Если письма нет — напишите в Telegram @it_support, они выдадут доступ в течение часа.
👤
Я хочу поехать на встречу к клиенту в другой город. Как оформить командировку?
🤖
Командировку оформляют так: за 3 рабочих дня до поездки заполните форму в Битрикс24 (раздел «Задачи» → «Командировки»), согласуйте с вашим руководителем. Билеты покупаете сами через корпоративную карту или за свой счёт с последующим возмещением. Чеки сохраняйте — все прикладываете к авансовому отчёту по возвращении. Форму отчёта возьмите у Ольги Петровой (бухгалтерия, @o_petrova_buh).
👤
К кому идти если клиент спрашивает про интеграцию с 1С?
🤖
По вопросам интеграции с 1С — к Дмитрию Волкову, руководитель технического отдела (@d_volkov_tech). Он отвечает на такие вопросы в рабочие дни до 18:00. Если вопрос от клиента срочный — пишите напрямую, он обычно отвечает быстро.
👤
Когда платят зарплату?
🤖
Зарплата — 10-го числа (аванс) и 25-го (основная выплата). Если 10-е или 25-е выпадает на выходной — выплата в предшествующий рабочий день. Расчётный листок приходит на корпоративную почту в день выплаты.
👤
Нам разрешают удалёнку?
🤖
Да, гибридный формат: 3 дня в офисе, 2 дня удалённо. Конкретные дни согласовываются с руководителем в начале каждой недели. В период испытательного срока (3 месяца) — присутствие в офисе 4 дня в неделю.

Все пять ответов — из текстового файла. Claude не придумывает, не галлюцинирует контакты. Если вопроса нет в базе, он честно скажет: «В базе знаний этого нет — уточните у HR».

Как обновлять базу без перезапуска

Самая удобная часть этой схемы — обновление базы знаний никак не связано с кодом бота.

Новый регламент по работе с клиентами? Открываешь knowledge.txt, дописываешь раздел, сохраняешь. Всё. Следующий вопрос в боте уже учитывает изменение.

Поменялся ответственный за продукт? Меняешь строчку с контактом. Никаких переиндексаций, никаких деплоев.

Добавили новый инструмент в стек? Дописываешь Q&A про него в конец файла.

Единственное что нужно держать в голове — файл должен быть хорошо структурирован. Не потому что Claude требует структуры, а потому что редактировать 100 страниц неструктурированного текста через три месяца неудобно.

Формат который работает хорошо:

knowledge.txt — пример структуры
## ИНСТРУМЕНТЫ И ДОСТУПЫ

CRM-система: Битрикс24, адрес company.bitrix24.ru
Логин: корпоративный email
Первичный доступ: IT-отдел (@it_support), выдают в течение часа

Корпоративная почта: Gmail, домен @company.ru
Настройка: инструкция в папке "Онбординг" на Google Drive

Мессенджер для внутреннего общения: Telegram
Мессенджер для клиентов: Telegram или WhatsApp (по согласованию)

## КОМАНДИРОВКИ И РАСХОДЫ

Оформление командировки:
1. За 3 рабочих дня — форма в Битрикс24 (Задачи → Командировки)
2. Согласование с непосредственным руководителем
3. Билеты: корпоративная карта или свои средства с возмещением
4. По возвращении: авансовый отчёт + все чеки → Ольга Петрова (@o_petrova_buh)

Лимит командировочных расходов: до 5 000 руб./день без согласования
Сверх лимита: согласование с директором за 2 дня до поездки

## КОМУ ЗАДАВАТЬ ВОПРОСЫ

Технические вопросы (интеграции, баги): Дмитрий Волков (@d_volkov_tech)
Вопросы по продукту: Анна Коваль (@a_koval_product)
Юридические вопросы: Игорь Нестеров (@i_nesterov_legal)
Кадровые вопросы (отпуск, больничный): Марина Иванова (@m_ivanova_hr)

Что закрывает бот, что нет

Тип вопросаБот справится?Пример
Процедурные (как, где, когда)Да«Как оформить больничный?»
Контактные (кто отвечает за X)Да«К кому идти с вопросом по договору?»
Фактические (политики, лимиты)Да«Сколько дней отпуска в году?»
Продуктовые FAQЧастично«Что отвечать клиенту на вопрос про цены?»
Суждения и приоритетыНет«Правильно ли я понял задачу?»
Конфликтные ситуацииНет«Как мне поступить в этом споре с коллегой?»

Как оценить: готов ли ваш онбординг к автоматизации

Диагностика онбординга

4 вопроса — поймём, насколько бот закроет вашу боль

Вопрос 1 из 4
Сколько новых сотрудников приходит в вашу компанию в год?
Вопрос 2 из 4
Есть ли у вас документация по процессам компании (хотя бы частично)?
Вопрос 3 из 4
Есть ли у вас HR или человек, который отвечает за онбординг?
Вопрос 4 из 4
Есть ли у вас Python-разработчик или человек готовый разобраться с кодом из статьи?

Как запустить: 5 шагов

1
Создать Telegram-бота

Написать @BotFather, команда /newbot, придумать имя и username. Сохранить токен. Отправить боту /start — потом сделать getUpdates чтобы узнать свой chat_id для тестирования.

https://t.me/BotFather
2
Получить ключ Anthropic API

Зарегистрироваться на console.anthropic.com, создать API key. Убедитесь что у аккаунта есть баланс — без него запросы не пройдут. Начальный тест обойдётся в копейки.

console.anthropic.com → API Keys
3
Собрать базу знаний

Создать knowledge.txt. Скопировать туда самые частые вопросы новичков — спросить у HR или посмотреть историю сообщений в рабочих чатах. Минимальный старт: инструменты, контакты, командировки/отпуск.

nano knowledge.txt
4
Установить зависимости и запустить

Python 3.9+. Установить две библиотеки. Вставить три токена в константы. Запустить скрипт и протестировать несколько вопросов вручную перед тем как давать ссылку новым сотрудникам.

pip install anthropic python-telegram-bot && python onboarding_bot.py
5
Запустить как сервис

На Linux — systemd unit или screen. На облачном сервере — Docker контейнер. На Railway/Render — деплой из репозитория. Бот должен работать 24/7, потому что вопросы возникают в любое время.

systemctl enable onboarding-bot.service

Кейс: ИТ-компания 40 человек

Компания разрабатывает B2B-ПО. 40 человек, растут на 8–10 новых сотрудников в год. HR-менеджер один на всю компанию.

До внедрения: HR тратил 3–4 часа ежедневно в первый месяц каждого нового сотрудника только на ответы на вопросы. Стандартный онбординг до самостоятельной работы — 3 месяца. Основная причина затяжки — не сложность продукта, а длинные цепочки ожидания: задал вопрос утром, получил ответ вечером, задал следующий.

База знаний собралась за один день: HR просто записывал ответы на вопросы которые задавал очередной новичок в ту же неделю. Получилось 47 страниц текста — меньше двух часов работы.

После трёх месяцев использования: 85% вопросов новые сотрудники задают боту. HR освободил около 2,5 часов в день — теперь это время уходит на реальную адаптацию: знакомство с командой, разбор конкретных рабочих ситуаций, обратную связь. Онбординг до самостоятельной работы — 6 недель вместо 3 месяцев.

Что помогло больше всего по словам новых сотрудников: ответ в любое время. Раньше вечером или в выходные с вопросом было некуда обратиться — приходилось ждать понедельника. Теперь нет.


Интересно что самый неожиданный эффект — не экономия времени HR, а снижение тревожности новичков. Они меньше боятся задавать «глупые вопросы» — потому что бот не осудит. Несколько человек из этой компании сказали что спрашивали у бота вещи которые стеснялись спросить у коллег. Это уже не про автоматизацию — это про то как устроены люди.

Источники

Источники

Часто задаваемые вопросы

Как работает ИИ-ассистент для онбординга без векторной базы данных?
База знаний компании — текстовый файл с регламентами, FAQ и структурой — загружается в контекст Claude при каждом запросе. Благодаря prompt caching (кешированию системного промпта) каждый следующий вопрос сотрудника обходится примерно в 10% стоимости первого запроса. Контекстное окно Claude составляет 200 000 токенов — этого хватает на базу знаний среднего бизнеса объёмом 100–150 страниц текста.
Сколько стоит запустить Telegram-бот для HR на Claude API?
Разработка базового бота — 4–6 часов если у вас есть Python. Расходы на Claude API: при 50 вопросах в день с кешированием — около 300–600 рублей в месяц. Для сравнения: час HR-специалиста в Москве стоит 800–1500 рублей, а в первый месяц работника HR тратит 3–4 часа в день только на ответы новичку.
Что включить в базу знаний компании для онбординга?
Четыре блока: организационная структура (кто за что отвечает, контакты), рабочие процессы (как оформить командировку, отпуск, больничный), инструменты (доступы, CRM, корпоративная почта, мессенджеры), продукты и клиенты (что продаём, кто покупает, типичные возражения). Всё в одном текстовом файле — без заголовков базы данных, просто Q&A-формат или структурированный текст.
Как обновлять базу знаний без перезапуска бота?
Бот читает файл базы знаний при каждом обращении (или проверяет время изменения mtime). Отредактировали регламент — сохранили файл — следующий вопрос уже идёт с обновлёнными данными. Никаких деплоев, никакой переиндексации.
Какие вопросы новых сотрудников бот закрывает лучше всего?
Процедурные вопросы с чётким ответом: где CRM, как оформить командировку, к кому идти с вопросом по продукту X, какой мессенджер использует команда, где хранятся шаблоны договоров. Хуже всего бот справляется с контекстными суждениями — 'правильно ли я понял задачу' или 'как лучше поступить в конфликтной ситуации'. Эти вопросы нужно эскалировать к живому HR.
Насколько реально сократить онбординг с 3 месяцев до 6 недель?
В ИТ-компании на 40 человек, где внедрили такого бота, сотрудники начинали работать самостоятельно к концу 6-й недели вместо 3-го месяца. Основная причина — они перестали ждать ответов. Раньше вопрос висел 2–4 часа пока коллега не освободится, теперь ответ за 5 секунд. Субъективная уверенность в первые две недели выросла заметно — люди меньше боятся 'сделать что-то не так'.
Обсуждение

    Пока без комментариев. Будьте первым.

    Войдите, чтобы отправить комментарий

    Вы сможете комментировать статьи, сохранять материалы

    или войдите по email

    Бесплатная диагностика · 30 минут · без обязательств

    Маркетинг работает, но продажи не растут?

    Отвечу на 3–5 вопросов о вашем бизнесе — и мы вместе разберём, где именно теряются клиенты и что с этим делать.

    Без продаж. Без навязчивых звонков.