Бот іс-әрекет жасауды үйренді
Бот сайтта екі апта бойы сұрақтарға жауап берді. Жақсы жауап берді - үш тілде, контекстпен, кэшпен. Бірақ бұл екі жақты монолог еді. Сұрады - жауап берді. Тағы сұрады - тағы жауап берді. Келуші байланысқысы келгенде, бот байланыс деректерін тізіп беріп, шеттеп қалатын.
Бүгін оған нақты іс-әрекеттер жасауды үйретіп көрдім.

Мәселе
Чаттағы адам «жобаны талқылағым келеді» дейді. Бот жауап береді: «Міне 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 арқылы кетеді, 587 портта STARTTLS. Деплой кезінде хостер 465 портты блоктағаны анықталды - Claude Code мәселені өзі тауып, портты ауыстырды. Хаттар үш тілге локализацияланған.
Rate limit екі құралға ортақ - бір IP-ден тәулігіне үш хат. Формат валидациясы, инъекция сүзгісі. Құрал шақыруы бар жауаптар кэшке түспейді - әр өтінім бірегей.
Не үшін
Бот FAQ-машина болудан қалды. Енді оның «сұраққа жауап беру» сыртында екі әрекеті бар. Архитектуралық жағынан үшіншісін қосу - жиырма минуттық жұмыс: құрал анықтамасы, өңдеуші, промпттағы бір жол.
Қызығы бот хат жібере алатынында емес. Қызығы - ол диалогты сол нәтижеге қарай бағыттайды, дұрыс сұрақтар қояды, дұрыс сәтті ұстайды. Сценарийсіз, шешім ағашсыз. Контекстті оқитын модель, бас-аяғы.
200 жол жаңа код. Бір жарым сағат жұмыс. Нәтиже күш-жігерге мүлдем пропорционал емес кештердің бірі.
Қолданып көріңіз - чат түймесі оң жақ төменгі бұрышта. Байланысқыңыз келетінін айтыңыз немесе CV сұраңыз. Немесе ботқа қажетті нәрсе әлі үйретілмеген болса, тікелей жазыңыз.


