Как создать ИИ‑агента для своей задачи
Предпринимателю или специалисту, который собирает первого агента
Соберёте один сценарий с входом, действием и проверкой
6 мин
Идея «агент делает всё», но неизвестно, где взять данные
Один сценарий работает на тестовых данных и передаёт исключения человеку
Схема первого ИИ‑агента на FastAPI: вход, знания, проверка ответа, передача человеку и тесты на сбои.
Как создать ИИ‑агента: выберите одно повторяемое действие, обозначьте вход, разрешённые данные, решение и выход. Например, принять сообщение клиента, найти условие услуги и подготовить первый ответ. Агенту нельзя просто дать доступ ко всему и ждать пользы. На моих проектах полезность становится видна после сквозного теста: сообщение пришло, правильный источник прочитан, результат сохранён, человек видит исключение.
Здесь показываю порядок, по которому сам описываю задачу: событие на входе, нужные данные, разрешённое действие и проверка результата. Версии библиотек и тарифы специально не фиксирую: перед установкой сверяйте официальную документацию выбранного инструмента. Для следующего шага пригодится материал про базу знаний для ИИ.
Как выбрать первую задачу агента
Подойдёт действие с повторяемым входом и ясным результатом. «Помогать продажам» слишком широко. «Ответить на вопрос о цене по утверждённому прайсу и передать нестандартный запрос менеджеру» уже можно проверить. Спросите себя, что сейчас делает человек, сколько шагов он проходит, какие решения принимает и где ошибка обходится дорого. Для первого опыта выберите участок, где результат обратим и может быть просмотрен.
Как описать вход, данные и выход
Простейший чертёж можно хранить рядом с проектом. В нём нет ключей и персональных сведений:
Вход: тестовое сообщение клиента
Источник: утверждённый прайс
Действие: подготовить ответ, не отправлять автоматически
Ошибка: нет цены -> задача менеджеру
Проверка: сравнить ответ с прайсомВходом может быть сообщение, форма или событие из CRM. Данные нужны только те, без которых нельзя выполнить действие. Выходом будет ответ, запись в карточке или задача сотруднику. Нарисуйте этот путь до кода. У каждого поля назовите источник: цена из прайса, статус из CRM, время из расписания. Если источник не указан, агент начнёт угадывать. Права доступа тоже входят в чертёж: читать не означает менять.
Как это выглядит в работе

Где ставить границы действия
Агент может подготовить сообщение, но отправка клиенту, платный звонок или изменение сделки требуют отдельного разрешения и лимитов. Установите бюджет на внешние API и максимум действий за период. Если данные противоречат друг другу или связь пропала, агент останавливается и зовёт человека. Эти условия нужно реализовать в логике, а не оставить красивой фразой в промпте. Предохранитель проверяется отдельным тестом.
Как собрать первый сквозной сценарий
Не начинайте с большого интерфейса и десятка интеграций. Сделайте один путь: тестовое сообщение, чтение одного источника, подготовка ответа, сохранение результата. Выведите причину выбора ответа, чтобы сотрудник мог её проверить. Только после этого подключайте рабочий канал. В строительном проекте ИИ‑продавец встроен в цепочку обращений и CRM; это пример конечной системы, но первый шаг можно проверять отдельно от остального контура.
Как проверять ошибки и передачу человеку
Соберите набор сообщений: типовой вопрос, неполные данные, жалоба, повтор, попытка вывести агента за пределы роли. Для каждого запишите разрешённый результат. Менеджер должен видеть исходный вопрос и историю, а клиент понимать, что разговор передан. Если сотрудник получил только уведомление без контекста, часть работы вернётся к нему. Регулярно разбирайте ошибки и меняйте источник или правило, которое их вызвало.

Когда расширять агента
Расширяйте сценарий после того, как первый работает на реальных обезличенных примерах, а человек может объяснить каждый результат. Следующей может быть новая группа вопросов или второй источник данных. Не подключайте сразу платежи и массовые рассылки: цена ошибки выше. Держите журнал действий и возможность остановки. На этапе роста полезнее сделать качество текущей задачи предсказуемым, чем увеличивать число красивых, но непроверенных возможностей.
На чём собрать первый сценарий
Для первого агента, который отвечает на вопрос по документам и передаёт сложное человеку, достаточно небольшого Python-сервиса. FastAPI принимает запрос, функция читает разрешённые данные, модель готовит ответ, а программа проверяет допустимость действия. Состояние обращения сохраняется в базе, чтобы после перезапуска не потерять передачу. Бот в Telegram можно подключить через aiogram, но канал не должен становиться местом хранения прайса или правил.
Сообщение → FastAPI → проверка входа → поиск в базе знаний
↓
модель готовит черновик
↓
проверка фактов и границ ответа
↙ ↘
ответ клиенту задача человеку| Компонент | Что ему разрешено | Что проверять |
|---|---|---|
| FastAPI | Принимать запрос и записывать событие | Повторное сообщение не создаёт две сделки |
| База знаний | Отдавать утверждённый факт | Цена обновляется в одном месте |
| Модель | Формулировать ответ | Нет выдуманной цены и диагноза |
| CRM | Хранить статус и ответственного | Передача видна менеджеру |
Сначала можно собрать схему без внешнего канала: отправить в локальное приложение десять тестовых сообщений, проверить вывод и журнал решений. Для файла main.py с объектом app локальный запуск выглядит так:
uvicorn main:app --host 127.0.0.1 --port 8000Ключ API храните только в .env; запись OPENAI_API_KEY=ваш_ключ в документации служит заглушкой. Не давайте агенту права отправлять сообщение клиенту или менять сделку, пока тесты на неверный ввод и повторный запрос не пройдены.
В Radomir CRM агент отвечает на типовые обращения и передаёт разговор менеджеру. На показанном экране виден результат, но внутренние роли и источники для своего проекта нужно задать отдельно. Начните с одного действия, например «уточнить площадь и передать контакт». Если схема выдержала обычный вопрос, просьбу назвать неизвестную цену и отказ клиента, следующий шаг можно разобрать на обучении.
Какие ошибки заложить в первый тест
Проверяйте агент не только на правильном вопросе. Отправьте два одинаковых сообщения подряд, отключите доступ к базе знаний и попросите действие, которого нет в разрешениях. В журнале должно быть видно, почему агент ответил или остановился. Если внешняя модель недоступна, запрос сохраняется без выдуманного результата. После восстановления сотрудник видит очередь необработанных обращений.
| Условие | Ожидаемое поведение | Что хранить |
|---|---|---|
| Повторный запрос | Одна задача человеку | Идентификатор события |
| Нет данных | Понятный отказ от догадки | Текст вопроса |
| Сбой модели | Сообщение принято в работу | Статус ошибки |
Частые вопросы
Нужен ли код для первого агента?
Для сценария с собственным кодом подойдут FastAPI, база данных и вызов модели через API. Начните с локального теста без отправки клиентам.
Можно ли дать агенту доступ к CRM?
Только с минимальными правами и журналом действий. Начните с чтения тестовых данных.
Как не потратить лишнее на API?
Поставьте бюджет, лимит действий и остановку при аномальном расходе.
Что делать с ошибочным ответом?
Остановить опасное действие, исправить источник или правило и повторить тесты этого класса.
Когда запускать для клиентов?
После проверки типовых и ошибочных сценариев и назначения ответственного за переданные вопросы.
Что сделать дальше
Соберите локальный маршрут на тестовых сообщениях и сохраните три результата: обычный ответ, отказ от догадки и задачу человеку. Такой маленький сценарий удобно принести на обучение для разбора ошибок.