· AI HR Bot · 11 хв читання
HR чат-бот для Slack: що відповідає, що читає і чого не вигадує
Наберіть «HR чат-бот для Slack» у пошуку — і у видачі опиняться два різні продукти під однією назвою. Перший — універсальний асистент у вікні Slack: спитайте що завгодно, отримайте гладкий абзац, зібраний з інтернету взагалі. Другий підключений до фактів вашої ж компанії: він читає конкретне джерело, перш ніж відповісти, і вміє виконати те, про що його попросили. AI HR Bot — другого роду, у межах HR: питання щодо політик, відпустки й дрібні заявки між ними.
Ця сторінка — докладний розбір того, що робить другий вид, розділ за розділом, із названими числами та дозволами Slack, а не з їх переказом. Якщо ви порівнюєте кількох таких ботів, в останньому розділі — список питань, які можна поставити будь-якому постачальнику, включно з нами.
Межі — до аргументів: безкоштовний тариф покриває до 5 співробітників, із відповідями щодо політик, заявками на відпустку та до 25 записів бази знань; Пам'ять співробітника й політики відпусток із щомісячним нарахуванням входять до тарифу «Команда» — $4 за співробітника на місяць. Ніщо нижче не потребує великодушного прочитання сторінки цін.
Ось другий вид, у каналі:
Анна
Скільки в мене лишилося днів відпустки?
AI HR BotAPP
У вас доступно 11.66 дня відпустки.
Анна
Чи можна взяти день відпустки наступної п'ятниці?
AI HR BotAPP
Готово — один день відпустки на наступну п'ятницю. Заявка у вашого керівника; баланс відпустки оновиться після схвалення.
У #ask-hr. Число — це збережений баланс, округлений вниз: бот ніколи не називає більше днів, ніж є насправді.
Навіщо HR-боту жити у Slack
Проблема не в тому, що HR-відповідей немає. Проблема в тому, що їх не читають. Довідник докладний, сторінка з політиками актуальна — і все одно щотижня приходять ті самі п'ять питань, бо знайти відповідь коштує більше уваги, ніж спитати людину. Цьому доводу присвячена окрема сторінка: чому HR місце у Slack.
Тому робота ділиться надвоє. Бот, який лише говорить, — це рядок пошуку з гарними манерами. Корисний відповідає на питання і робить те, заради чого питання ставили: оформлює заявку, запускає погодження, рухає баланс. Обидві половини нижче, у цьому порядку.
Звідки беруться відповіді
Питання щодо політики отримує відповідь із ваших же записів бази знань, дібраних під поставлене питання, — із довідника, який завантажив або надиктував ваш керівник HR, а не з уявлень інтернету про довідники. У бота немає інструмента для вебпошуку: коли відповіді немає, він не може піти в мережу й видати чужу політику за вашу. Відповідь потрапляє до бази знань лише тоді, коли керівник HR завантажує її або навчає бота.
База знань зберігає два види шуканого, і за кожного пошуку вони переглядаються разом. Запис бази знань — це авторська пара «питання — відповідь»: пароль від вайфаю, політика відпусток, робочі години. Його пише людина, і з часом таких записів стає більше. Фрагмент — це неперервний шматок документа, який віддав боту ваш керівник HR: завантаженого файлу знань або тексту, написаного прямо в дашборді. Від файлу лишається видобутий текст, а не вихідний бінарник, тому нова редакція замінює стару цілком, а не правиться на місці.
Саме це зазвичай ховається за словом «AI» у назві. Модель — це товар із полиці, і в будь-якого постачальника вона напише той самий гладкий абзац. Один HR чат-бот для Slack відрізняється від іншого тим, що йому дозволено читати — і тим, що він робить, коли читати виявилося нічого.
Що відбувається, коли читати нічого
Це важливіша половина, бо саме звідси береться впевнена неправильна відповідь. Політика відпусток, вигадана з бездоганною граматикою, — і людина бронює тиждень, якого в неї немає.
Ввічливе прохання до моделі це не лагодить. Промпт — це інструкція, а не гарантія, і будь-який постачальник, що обіцяє, ніби його бот «ніколи не галюцинує», робить заяву, якої промпт не винесе. Покластися можна на конструкцію навколо моделі: на те, що вона читає перед відповіддю, і на те, що відбувається в мить, коли читати нічого. Ось ця конструкція, в обох місцях, де вона спрацьовує:
Анна
Як оформити компенсацію за участь у конференції?
AI HR BotAPP
У мене немає відповіді на це питання — краще уточнити напряму у вашої HR-команди.
У #ask-hr. Збігів у базі знань немає — бот каже про це чесно, а не вгадує.
AI HR BotAPP
Hey — an employee just asked: "Як оформити компенсацію за участь у конференції?"
I didn't have an answer. Can you teach me? Reply with the answer and I'll save it for next time. Or say 'dismiss' if it's not something I should know.
Майя
Надішліть чек на finance@ протягом 30 днів — усе, що менше за $500, схвалюється автоматично.
AI HR BotAPP
Saved. Next time someone asks, I'll have an answer for them. Thanks!
Тим часом: особисте повідомлення першому керівнику HR зі списку. Одна відповідь стає збереженим знанням.
Коли жоден запис не проходить поріг схожості, системний промпт приписує точне формулювання відмови — аж до «Do NOT guess» — замість того щоб лишити модель імпровізувати, і питання без відповіді в будь-якому разі записується як прогалина в базі знань. Далі бот відкриває окрему гілку в особистих повідомленнях із першим керівником HR, зазначеним для робочого простору, — з однією людиною, а не розсилкою, — і просить навчити його. Відповідь у цій гілці стає збереженою відповіддю для наступного, хто спитає.
Якщо те саме питання повернеться протягом доби, воно запишеться знову, але другого повідомлення не буде: часта прогалина — це сигнал, а не потік відволікань. Приписана відмова так само лишається інструкцією до моделі, і ця сторінка не вдаватиме, що інструкція — закон природи; але запис, особисте повідомлення та збережена відповідь конструктивні й тримаються незалежно від того, що зробить модель.
Що ви з цього отримуєте — список питань, на які ваш довідник не відповів, у тому порядку, в якому їх справді ставила команда. Довідник росте рівно там, де був тонким. Повний розбір — у що робить HR-бот, коли не знає відповіді.
Що він робить, а не лише говорить
«Чи можна мені вихідний наступної п'ятниці?» оформлює заявку на відпустку і запускає ланцюжок погодження тією самою дією — картка приходить керівнику у Slack особистим повідомленням із кнопками «Погодити» та «Відхилити», а не в чергу, яку ніхто не відкриває.
Заявка — це формальне звернення одного з чотирьох видів: відгул (через хворобу, оплачуваний або без збереження), відпустка, віддалена робота або запізнення. Вона проходить ланцюжок погодження — упорядковану послідовність погоджувачів, задану окремо для кожного робочого простору й кожного виду заявки. Свіже встановлення заводить ланцюжок для кожного виду заявки, тож нічого не треба проєктувати до першої заявки. За замовчуванням це керівник співробітника, потім його контактна особа HR. Власні кроки у власному порядку входять до тарифу «Команда».
Картка несе все, що потрібно для рішення — хто просить, який відділ, які дати, — без супровідної записки й посилань назовні. Відхилення потребує причини, і співробітник її бачить: відмова з однією фразою — це розмова, а відмова без неї — загадка, яку комусь доведеться розгадувати.
Керівник HR ніколи не замкнений за чужим кроком: він може погодити або відхилити будь-яку заявку в очікуванні всередині робочого простору, незалежно від того, на кому зараз стоїть ланцюжок. А розділ заявок у дашборді навмисно доступний лише для читання — рішення ухвалюються у Slack, там само, де картка. Набір карток намальовано на сторінці ланцюжків погодження, а як заявка на відпустку проходить погодження проводить одну заявку через усю послідовність.
Числа, які він називає
Спитайте, скільки у вас днів відпустки, і у відповідь прийде число на кшталт 11.66. Ця прискіпливість і є суть.
1.66 дн./місяць
- Повних місяців
- 12
- Зберігається в обліку
- 20.0004 дн.
- Що повідомляє бот
- 20 дн.
Припускається, що політика діє з дати найму й нічого не витрачено. Баланси зберігаються з точністю до чотирьох знаків; бот повідомляє два, округлюючи вниз — він ніколи не називає більше днів, ніж є насправді.
Баланс відпустки росте на одне нарахування за кожен завершений місяць, і воно приходить у місячну річницю співробітника за часом робочого простору: прийняті 15-го — місяць завершується 15-го. Прийняті 31-го — лютий завершується 28-го, бо лік притискається до кінця короткого місяця; притискання займає день, але не зсуває річницю.
Ставка зберігається з чотирма знаками після коми, тому 20 днів на рік — це 1.6667 на місяць, а дванадцять таких нарахувань дають 20.0004 на рахунку. Бот повідомляє число, обрізане до двох знаків і округлене вниз: почувши «11 днів» за фактичних 10.99, ви забронювали б день, якого у вас немає. Похибка завжди в бік обережності, а не видимої щедрості.
Три краї варто назвати — саме це робить середину правдоподібною. Нарахування прив'язане до пізнішої з двох дат: дати прийняття та моменту створення політики відпусток, тож робочий простір ніколи не винен днів за стаж, що передує його власній політиці. Без дати прийняття не нараховується нічого: бот не вгадує стаж, а відсутня дата показується керівнику HR як єдина поломка, яку він справді може полагодити. І баланс — це сума нарахувань, а не величина, перерахована зі стажу, тому ручна правка керівника HR ніколи не затирається наступним проходом.
Баланс відпустки рухається, коли заявку погоджено, а не коли її подано, — тому число, яке чат-бот називає, поки картка ще чекає, і є фактичний залишок. Повна арифметика — у як нараховується баланс відпустки, ті самі розрахунки окремо — у калькуляторі нарахування відпустки, а щоденна версія — у як вести облік відпусток у Slack.
Одна асиметрія, яку часто пропускають: баланс відгулів покриває лише оплачувані відгули. Відгули через хворобу та без збереження не враховуються й нічого не витрачають.
Що він може читати
Це питання варто поставити будь-якому HR-боту першим, і Slack відповідає на нього точно — на екрані згоди, мовою, яку більшість закриває не читаючи: дозволи.
Наші названі публічно одним списком, який можна звірити з тим, що показує Slack, і рівно два з дозволів Slack читають повідомлення: im:history покриває гілки особистих повідомлень, у яких бере участь бот, — розмови із самим ботом, щоб листування зберігало контекст, — а app_mentions:read покриває повідомлення, які згадують його в каналі, щоб він міг відповісти. Усе інше у вашому Slack лишається поза межами запиту.
Цей виняток і є причина читати список. Немає channels:history, немає groups:history, немає mpim:history — бот не може читати ваші канали, ваші приватні канали й ваше особисте листування з іншими людьми, навіть у каналі, куди його додали. Немає дозволу на пошук робочим простором. І в запиту зовсім немає користувацької половини: без user_scope він ніколи не діє від вашого імені.
Решта списку пише або зіставляє імена. chat:write та im:write надсилають відповіді й відкривають особисті повідомлення. assistant:write керує власною панеллю асистента у Slack. files:read та files:write проносять голосове повідомлення всередину й озвучену відповідь назовні. reactions:write ставить позначку :eyes: у мить, коли приходить особисте повідомлення. users:read зіставляє акаунт Slack зі співробітником і визначає його керівника й контактну особу HR, а users:read.email читає адресу, на яку треба надіслати запрошення в Google Календар, — це потрібно зустрічам.
Кожен із них, з обґрунтуванням, розібрано в що може читати HR-бот у Slack.
Що ще всередині
Дві можливості, які не про питання й не про відпустки. Дні народження входять до асистента на будь-якому тарифі, включно з безкоштовним: нагадування за сім днів керівникам HR і власному керівнику співробітника та одне спільне привітання в сам день, не раніше дев'ятої ранку за часом робочого простору. День народження зберігається як місяць і день — рік відкидається на вході, тому в системі нічим відповісти, скільки кому років. Правила — на сторінці днів народження, а порівняння за вартістю, з яким зазвичай приходять, — у безкоштовній альтернативі BirthdayBot.
Пам'ять співробітника у тарифі «Команда» дозволяє розмові тривати через тижні, а не починатися щоразу з нуля. Вона належить конкретному співробітнику й лишається всередині його гілки: привітання з днем народження ніколи не бере з неї нічого, бо публічний пост, що розкриває сказане боту по секрету, — це інцидент, а не вияв уваги.
Скільки це коштує
Безкоштовний тариф покриває до 5 співробітників, 25 записів бази знань, 1 керівника HR, відповіді щодо політик і заявки на відпустку. «Команда» коштує $4 за співробітника на місяць — $3 при оплаті за рік — і додає необмежену кількість співробітників і записів бази знань, налаштовувані ланцюжки погодження, політики відпусток із нарахуванням, Пам'ять співробітника, журнал аудиту й необмежену кількість керівників HR. Enterprise додає пріоритетну підтримку, підключення та індивідуальні умови. Оплата поки не автоматизована — ми підключаємо вас вручну.
Як обрати
П'ять питань, які розділяють ці продукти, у порядку значущості. Це ті питання, які ми хотіли б почути про себе.
Звідки беруться його відповіді? Якщо постачальник не може назвати джерело, джерело — інтернет, і вашій команді дістанеться чужа політика голосом вашої компанії.
Що він робить, коли не знає? «Він ніколи не помиляється» — це не відповідь. Спитайте, що саме записується при невдачі й кому про це повідомляють. У продукту без відповіді тут немає шляху від поганої відповіді до доброї.
Які дозволи Slack він запитує? Прочитайте екран згоди, перш ніж натиснути «Дозволити». channels:history означає, що бот може читати кожен канал, де він перебуває. user_scope означає, що він може діяти від вашого імені. Спитайте, навіщо потрібен кожен дозвіл, і насторожіться, якщо список довший, ніж продані вам можливості.
Він діє чи лише відповідає? Відповідь на «скільки в мене днів відпустки» — це рядок пошуку. Оформити заявку й провести погодження — ось частина, яка знімає роботу з чийогось тижня.
Що відбувається з арифметикою на краях? Спитайте, як він округлює, що робить із прийнятим 31-го числа і що робить, коли дати прийняття немає. Відповіді покажуть, чи думав про це хтось, — а округлення вгору видає одразу.
Як запустити
Для встановлення потрібні керівник HR, робочий простір Slack і той самий екран згоди. Ланцюжки заводяться самі, тому перша заявка працює до всякого налаштування. Першого дня варто зайнятися навчанням: завантажити довідник, описати політики, які не записані більше ніде, і відповісти на перші прогалини в базі знань у міру їх появи. База знань із вашими справжніми відповідями — і є вся різниця між двома видами чат-ботів, з яких почалася ця сторінка.
Посібник зі встановлення описує налаштування, посібник керівника HR — як тримати довідник чесним, а посібник співробітника — те, що варто потім вставити в канал. Якщо ви хочете спершу побачити форму цілком, HR-автоматизація у Slack — це та сама картина, розкладена на чотири рутини.
Підключається до вашого Slack приблизно за 2 хвилини.