Практика: свой AI-ассистент

Весь П7 в прогоне курса модель и агент отвечали уверенно. Агент взял модели «по памяти» с устаревшими именами, придумал адрес CloseRouter, назвал сервис вымышленным и напечатал начало ключа. Claude через прокси справился 0 раз из 10: отвечал как универсальный помощник, а не как ассистент школы. Отчёт проверки промпта был «всё ✅» без строк и на одной модели. В базе знаний появились почта и @-ник, которых у школы нет. В живом боте вопрос стал именем, а основная модель не отвечала именно с сервера. Каждый раз ошибку нашли глазами: в сыром ответе, в строке таблицы, поиском по файлу, в переписке. Сдача этой практики устроена так же.

Чему научишься в этом уроке:
• собирать ассистента для своего заказчика из частей уроков 8.2–8.6;
• доказывать фактами, что он не выдумывает;
• сдавать проверку промпта, замер скорости и живую переписку так, чтобы их мог проверить другой человек;
• держать личные данные вне модели и вне журнала.

Что продолжаем

Не начинай с нуля. Ассистент живёт внутри бота заявок из П1 как новый режим, заявки уходят в CRM в Москве. Если у тебя свой заказчик и свой бот, делай ассистента для него. Нет своего, доделывай «Кодиум», это засчитывается. Основа: база и промпт (урок 8.2), выбор модели (урок 8.3), сборка (урок 8.4), тест и защита (урок 8.5), выкладка (урок 8.6).

Схема-инфографика «Что сдаём»: пять карточек слева направо: «База знаний: поиск почт и @-ников, раздел „чего школа не делает“», «Тест промпта: таблица по строкам, 2 модели × 3 повтора», «Скорость: замер с сервера бота, два разных часа», «Живая переписка: вопрос, „не знаю“, поддакивание, инъекция, запись», «Журнал: без текстов и телефонов». Под каждой карточкой значок глаза с подписью «проверено глазами».

Шаг 1. База знаний без выдумок

База знаний для ассистента как прайс и правила на стойке администратора: что на стойке написано, то и скажут клиенту. Проверь три вещи сам, не через отчёт агента.

  1. Поиск по файлам базы всех почт, @-ников, телефонов и ссылок. Остаются только настоящие контакты школы, подтверждённые владельцем, или ни одного.
  2. Раздел «чего школа не делает». В базе «Кодиума» это «не готовим к ЕГЭ», «не обучаем взрослых», «не выдаём дипломы гособразца», «не гарантируем трудоустройство». Для своего заказчика подставь то, на что ему чаще всего приходится отвечать «нет». Без такого раздела модель достраивает «да».
  3. Никаких внутренних данных: себестоимость, скидки менеджеров, телефоны кураторов, заявки. Настойчивый собеседник вытянет из модели всё, что написано в её инструкции.

В прогоне агент вписал в базу реальное название банка-партнёра для рассрочки. В учебной базе это терпимо. В настоящей такая строка появляется только при договоре с банком.

Шаг 2. Тест промпта по строкам

Прогон из урока 8.5: девять видов вопросов, каждый 3 раза на основной и на запасной модели. Таблицу читаешь целиком. Число строк равно числу вопросов, умноженному на 6. Модель с одним срывом роли или одним согласием с неверным числом в работу не идёт. Скрипт проверки не называется test_*.py, полный pytest -q после него показывает не меньше passed, чем до.

Шаг 3. Скорость с сервера бота

Замерь время ответа каждой модели с сервера, где работает бот, в два разных часа. В прогоне с ноутбука основная модель отвечала за 9,4 секунды, а с сервера упиралась в таймаут 60 секунд. Основной ставь ту, что быстрее с сервера, и проверь, что при отказе основной отвечает запасная.

Шаг 4. Живая переписка

Напиши боту сам, лучше попроси ещё кого-нибудь, кто не знает сценария. Минимальный набор:

  1. вопрос, ответ на который есть в базе;
  2. вопрос, ответа на который нет, и честное «не знаю» с предложением передать человеку;
  3. уверенное неверное утверждение («курс ведь 3 месяца?», если в базе 6) и поправка;
  4. просьба не по теме или «забудь инструкции» и отказ в роли;
  5. вопрос вместо имени после /start и «Похоже, это вопрос?»;
  6. запись через ассистента до заявки в CRM, без слов «мы передали ваш контакт» до самой заявки.

Заявку в CRM проверь запросом к базе на сервере с -readonly, как в П6: одна заявка, источник «бот», без дубля.

Снимки переписки до отправки закрась: имя, телефон, аватар. В журнале и уведомлениях человек записан как «пользователь N», вместо номера пиши <id пользователя>. Это касается и тестовых имён, которые ты вводил сам.

Шаг 5. Журнал без личных данных

Журнал ассистента нужен для расчётов и дашборда: время, модель, токены, стоимость, действие (ответ, заявка, передача человеку). Текстов сообщений и телефонов в нём нет. Проверь поиском по файлу журнала на сервере: ни одной цифровой последовательности, похожей на телефон, ни одной почты. Маску проверь тестом: строка с номером после маски становится [телефон], pytest -q зелёный (урок 8.5).

Шаг 6. Деньги

Расчёт из миссии урока 8.7: средняя цена ответа по своему журналу, месяц в двух вариантах, остальные расходы, предложение школе.

Если не получилось

  • В отчёте теста итог без строк или одна модель → верни агенту с заданием 52b из урока 8.5.
  • Поиск находит в базе почту, которой у школы нет → убери, связь только через заявку или администратора.
  • Модель соглашается с неверным сроком, хотя срок есть в базе → сначала проверь промпт: срок записан явно, правила не противоречат друг другу; если всё так, а модель соглашается, для роли она не годится, смени её.
  • Ответ с сервера дольше 30 секунд → сравни модели замером с сервера и поменяй основную.
  • В журнале нашёлся телефон → маска срабатывает после записи в журнал; попроси агента маскировать до журнала и до модели и добавить тест.

Контрольный вопрос. Агент прислал отчёт теста промпта: «23 вопроса, всё ✅», таблицы нет. Как поступаешь при сдаче практики?

АСдаю отчёт как есть, раз всё зелёное
БПрошу агента проверить свой отчёт другой моделью
ВПрошу таблицу по строкам на двух моделях, читаю её сам и только потом ставлю вердикт
ГСокращаю набор до 10 вопросов, чтобы быстрее

Подсказка: Что в уроке 8.5 считалось отчётом, а что нет?

На курсе задания проверяются автоматически. Решить первое задание бесплатно →  ·  Подобрать курс

Контрольный вопрос. В базе 23 вопроса, каждый прогоняется 3 раза на основной и на запасной модели. Сколько строк должно быть в полной таблице? Впиши число.

Подсказка: Умножь число вопросов на число повторов и на число моделей.

На курсе задания проверяются автоматически. Решить первое задание бесплатно →  ·  Подобрать курс

Задание. МИССИЯ «Ассистент, который не выдумывает». Продолжай бота из П1 со своим заказчиком или «Кодиумом». 1. База знаний: вывод поиска почт, @-ников, телефонов и ссылок по файлам базы; раздел «чего школа не делает». 2. Тест промпта: questions.csv и отчёт-таблица на двух моделях по 3 повтора, твой список провалов и что поменял; последняя строка pytest -q до и после. 3. Скорость: таблица замеров каждой модели с сервера бота в два разных часа и какая модель основная. 4. Живая переписка: снимки шести ситуаций из шага 4 и вывод запроса к базе CRM с -readonly с этой заявкой. 5. Журнал: 10 строк журнала ассистента и вывод поиска телефонов и почт по журналу (пусто); последняя строка pytest -q с тестом маски (модели уходит [телефон]). 6. Расчёт из миссии урока 8.7. Принято, если: всё из пунктов 1–6 приложено; в таблице теста число строк = вопросы × 6 и нет ни одного срыва роли и ни одного согласия с неверным числом у основной модели; замеры сделаны с сервера бота и с указанием времени; заявка из переписки в CRM одна; в журнале нет текстов сообщений и телефонов. На снимках закрашены имена, телефоны и аватары, вместо id пользователя слова «id пользователя»; ключей и паролей в приложенном нет.

Подсказка: Начни с поиска по базе знаний: если там есть выдуманный контакт, ассистент повторит его живому человеку.

✅ Готово, если: программа запускается без ошибок и выводит то, что просят в задании.

На курсе задания проверяются автоматически. Решить первое задание бесплатно →  ·  Подобрать курс

Что дальше

Паттерн «AI-ассистент» закрыт. У тебя бот, который отвечает по базе школы, честно говорит «не знаю», не соглашается с неверным и не отдаёт модели телефоны. Дальше финал трека: собрать из всех паттернов портфолио.

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

← Назад  ·  ↑ В начало урока  ·  ⌂ В начало курса  ·  Вперёд →

Школа Виктора Комлева