Первые действия бота
Бот на сайте вторую неделю отвечал на вопросы. Хорошо отвечал - на трёх языках, с контекстом, с кэшем. Но это был монолог в обе стороны. Спросили - ответил. Спросили ещё - ответил ещё. Когда посетитель хотел связаться, бот выдавал список контактов и отступал.
Сегодня попробовал научить его делать вещи.

Проблема
Человек в чате говорит «хочу обсудить проект». Бот в ответ: «Вот email, вот Telegram, вот телефон». Человек кивает. Копирует адрес. Переключается в почту. Формулирует письмо заново. Или не формулирует - закрывает вкладку и забывает.
Между «хочу связаться» и «написал письмо» теряется больше людей чем хотелось бы.
Tool use
У Anthropic API есть механизм tool use - можно дать модели функции, и она сама решает когда их вызвать. Не по ключевым словам, не по regex. Модель читает диалог и понимает намерение.
Я дал боту два инструмента.
Первый - сбор заявки. Бот задаёт короткие вопросы, по одному за раз:
- Можно написать Ильясу?
- Как вас зовут?
- Марат
- Как связаться - email, телефон, Telegram?
- @marat_dev
- Что хотите обсудить?
- Аудит архитектуры
- Передал Ильясу, он свяжется с вами.
Письмо с данными уже на почте. Никаких форм.
Второй - отправка CV. Посетитель просит резюме, бот берёт email и шлёт письмо со ссылкой на страницу CV. Там можно посмотреть и скачать PDF. Данные всегда свежие - CV на сайте обновляется, бот автоматически ссылается на актуальную версию.
- Можно CV Ильяса?
- На какой email отправить?
- hr@company.kz
- Отправил.
Что внутри
Два tool definition с простыми схемами. Haiku 3 справляется - не путает инструменты, не вызывает их когда не надо. Описания написаны директивно: «вызывай только когда собрал все поля, иначе спроси».
Email уходит через Resend, STARTTLS на порту 587. При деплое обнаружилось что хостер блокирует 465 - Claude Code сам нашёл проблему и переключил порт. Письма локализованы на три языка.
Rate limit общий на оба инструмента - три письма с одного IP в сутки. Валидация форматов, фильтр инъекций. Ответы с вызовом инструментов не попадают в кэш - каждая заявка уникальна.
Зачем
Бот перестал быть FAQ-машиной. Теперь у него есть два действия кроме «ответить на вопрос». Архитектурно добавить третье - вопрос двадцати минут: определение инструмента, обработчик, строка в промпте.
Интересно не то что бот умеет отправить письмо. Интересно что он сам ведёт диалог к этому, задаёт правильные вопросы и ловит момент. Без скриптов, без деревьев решений. Просто модель которая читает контекст.
200 строк нового кода. Полтора часа работы. Один из тех вечеров когда результат непропорционально больше усилий.
Попробуйте - кнопка чата в правом нижнем углу. Скажите что хотите связаться или попросите CV. Или напишите напрямую если бот ещё не научился тому что вам нужно.
Читайте также


