Владельцу

База знаний и переиндексация

Что читает бот, как часто перечитывает сайты, как подхватывает зеркала и учится на ответах операторов.

На странице

Бот отвечает только по базе знаний. В ней страницы ваших сайтов, которые мы прочитали, и вопросы с ответами, которые вы одобрили или написали. Здесь — что мы читаем, когда перечитываем и как сделать, чтобы бот видел ваши правила.

Что мы читаем

  • Сначала карта сайта. Мы берём страницы из sitemap вашего сайта — того, что указан в robots.txt, или того, что лежит по обычному адресу. Sitemap в gzip тоже подойдёт.
  • Без карты сайта — по ссылкам. Сайт без sitemap мы читаем с главной страницы, переходя по ссылкам.
  • Только страницы под адресом сайта. Если адрес сайта example.com/help/, мы читаем только страницы под /help/.
  • robots.txt соблюдается. Закрытые им страницы мы не читаем. Для своего сайта вы можете снять запрет с отдельных адресов: «Дополнительно» › «Читать вопреки robots.txt». Приложение попросит подтвердить, что сайт ваш, и сохранит ваше имя и дату.
  • Только HTML-страницы. PDF и документы, на которые ссылается сайт, мы не читаем: загрузите их как файлы (Файлы).
  • Без JavaScript. Мы читаем HTML, который отдаёт сервер. Текст, который скрипт дорисовывает после загрузки страницы, мы не видим.
  • Меню и футер — один раз. То, что повторяется на каждой странице, хранится один раз и не заслоняет правила.

Если страницы нет в sitemap, впишите её в «Дополнительные страницы». С каждого сайта мы читаем до 2000 страниц.

Сайты

В разделе проекта «Знания» сверху — итог «ИИ знает: 2 сайта, 12 файлов…» и кнопка «Перечитать всё». Каждое число ведёт к своей части: «Сайты», «Файлы» или раздел «Вопросы и ответы». Ниже — что ИИ знает о проекте, сайты, файлы и строка о том, что скоро можно будет подключить. Читать ли новые домены чата, задаётся в «Установка» › «Домены» (Правило доменов).

В «Сайтах» — ваши сайты и сайты, найденные на ваших доменах, по строке на сайт. В строке видно, сколько страниц прочитано и когда. Общее расписание названо один раз в пояснении части; у сайта с другим расписанием оно написано в его строке. Точка в начале серой строки появляется, только когда сайт требует внимания: тогда рядом коротко сказано, что не так, например «не видно ссылок». Для всех таких сайтов внизу части одна строка «Поручить ИИ-агенту» с промптом для разработчика.

Владелец или администратор нажимает «Добавить сайт». Для сайта нужен только адрес. Остальное — в «Дополнительно», по строке на настройку: что сейчас и «Изменить». Редактор открывается под строкой, по одному за раз; сохраняет вся форма разом.

  • Карта сайта: найдём сами, возьмём ваш адрес или обойдёмся без неё и пойдём по ссылкам.
  • Какие страницы: все, только перечисленные разделы или все, кроме них.
  • Дополнительные страницы: адреса, которых нет в карте сайта.
  • Читать вопреки robots.txt: разделы, которые robots.txt закрывает от чтения.
  • Название: по умолчанию — адрес сайта.
  • Перечитывать: как у всех сайтов (каждый день), каждую неделю или только по запросу.

Раздел записывается как начало адреса после домена: /ru/faq/ — все страницы, чей адрес начинается так. Звёздочка заменяет любые символы, в том числе /: /blog/*/2024/ или */archive/. Точку и другие знаки экранировать не нужно, а целый адрес, вставленный в поле, сам потеряет домен. Тем, кто пишет регулярные выражения, остаётся «Своё выражение».

В проекте до 20 сайтов. Первый сайт — основной: из него берутся описание сайта и цвета виджета. Если текст страницы уже есть в другом источнике, он хранится один раз.

Кнопка «…» в строке изменяет или удаляет сайт. Страницы удалённого сайта сразу уходят из базы знаний. Хотя бы один свой сайт в проекте остаётся всегда. Операторы видят список без кнопок.

Файлы

Правила, оферту, AML-политику или прайс, которых нет на сайте, загрузите файлами: перетащите их на часть «Файлы» или нажмите «Загрузить файлы». Файлы показаны сеткой карточек: значок с расширением, имя, размер и число фрагментов. Когда файлов больше 12, появляются поиск и сортировка, а сетка сворачивается после двух рядов. Флажок в углу карточки выбирает её, чтобы удалить несколько файлов сразу.

  • Форматы. PDF, DOCX, Markdown, TXT и HTML, до 10 МБ каждый. Формат мы определяем по самому файлу. Старый .doc откройте в Word и сохраните как .docx.
  • Заголовки. Бот делит файл на разделы по заголовкам. В PDF заголовок — строка, набранная крупнее текста; в Word — стиль заголовка или короткий абзац целиком жирным. Номера страниц и колонтитулы мы убираем.
  • Ссылка в ответе. У файла нет адреса на вашем сайте, поэтому бот ссылается на страницу с его текстом — ровно тем, по которому он отвечает, с переходом к нужному разделу. Название файла в строке источника открывает эту страницу.
  • Сканы. В скане нет текста, только картинки страниц. Такой файл не прочитается, и в строке будет написано почему. Сохраните документ с текстовым слоем.
  • Длинные файлы. Мы читаем до миллиона символов файла. Если файл длиннее, в строке будет написано, что прочитано только начало.
  • Новая версия. Перетащите новый файл на карточку старого или выберите «…» › «Заменить файл». Окно покажет оба файла, «сейчас» и «новый», и спросит подтверждение. Если загрузить файл с именем, которое уже есть, окно предложит «Заменить файл» или «Добавить как новый». Бот сразу перечитает новую версию, ссылки в прежних ответах откроют новый текст. Файл сам не перечитывается: он меняется, только когда вы загружаете новый. Одинаковый файл дважды не загрузится.

В проекте до 100 файлов; они не входят в 20 источников.

Правило доменов

Зеркала меняются быстрее, чем кто-то успевает править настройки. В «Установка» › «Домены» строка «Читать новые домены» включает правило доменов: оно само читает ваши новые домены. Выше в том же блоке — домены, где загружался чат, и что ИИ делает с каждым; у домена, который ждёт вас, — кнопка «Разрешить».

  • Маска. Правило смотрит только на домены, которые подходят под маску: «Дополнительно: маска и новый домен» › «Маска домена». Синтаксис тот же, что у списка доменов. По умолчанию это поддомены основного сайта, например *.brand.com. Для зеркал с номером напишите brand*.com: звёздочка заменяет любые буквы и цифры. Маска сохраняется, когда вы уходите из поля. Там же «Добавить домен» вносит ваш домен в список разрешённых заранее: ИИ прочитает его, когда на нём загрузится чат.
  • «Какие домены»: «Только разрешённые» или «Кроме заблокированных». По умолчанию — только разрешённые: домен подходит, только когда вы его разрешили — в «Установка» › «Домены», в Telegram или скриптом зеркал. Без этого в ответы могла бы сама попасть копия вашего сайта с одной изменённой деталью, например адресом кошелька. Заблокированный домен не читается никогда.
  • Копия — это зеркало. Мы сравниваем новый домен с основным сайтом: до 20 страниц, начиная с главной, текст с текстом, и rel=canonical главной. Копию мы заново не читаем: ответы посетителю на ней и так ведут на этот домен.
  • Свой текст — это сайт. Домен со своим текстом становится сайтом проекта и читается каждый день. Группа компании в Telegram получает сообщение о каждом таком домене: «зеркало …» или «новый сайт … проиндексирован».
  • Когда срабатывает. Когда вы разрешаете домен, и раз в сутки. В списке видны домены, на которых был чат, и что правило делает с каждым. Если убрать домен из списка или заблокировать, его сайт уйдёт вместе со страницами при следующей проверке.

Запуски, которые ждут вас

Если за один запуск изменилось бы или пропало больше 45% страниц сайта, ничего не записывается. Бот отвечает по прежним страницам. Так выглядит защита от ботов, припаркованный домен или сломанный сайт.

Точка в строке становится оранжевой, а в строке написано, что изменилось: «Изменились 11, пропали 1 из 12 страниц». Группа компании в Telegram тоже получает сообщение со ссылкой на источники.

  • Если сайт правда изменился, нажмите «Принять изменения»: сайт прочитается заново и запишется.
  • «Отклонить» оставит старые страницы. Следующий запуск проверит снова.

Сайты меньше 10 страниц не удерживаются.

Как сделать правила читаемыми

  • Разместите правила, лимиты и условия на обычной HTML-странице, а не на картинке или во всплывающем окне, которое рисует скрипт. Правила только в PDF загрузите как файл.
  • Добавьте эту страницу в sitemap.
  • Не закрывайте её в robots.txt.
  • Держите её под адресом сайта.
  • Меняете правило — меняйте и страницу: бот цитирует то, что на ней написано.

Поручить ИИ-агенту вашего сайта

Если последнее чтение сайта прошло плохо, владельцы и администраторы видят в «Сайтах» строку «Поручить ИИ-агенту». Она появляется, когда:

  • robots.txt закрывает главную страницу;
  • прочитано меньше 5 страниц;
  • страницы пришли без текста: их рисуют скрипты или закрывает вход в аккаунт.

Промпт просит агента, который правит ваш сайт:

  • перечислить страницы справки в sitemap;
  • отдавать их с сервера;
  • пустить нас в robots.txt;
  • держать FAQ вне входа в аккаунт;
  • проверить всё через curl.

Ниже промпт с примером сайта. Скопировать его можно через «Открыть в…» › «Промпт для ИИ-агента».

Сделай этот сайт читаемым для чата поддержки Tolkly: он отвечает посетителям только по страницам самого сайта, а его краулер сейчас читает их плохо.

Сайт: https://your-site.example
Краулер: user agent "TolklyBot/0.1 (+https://github.com/tolkly/tolkly)"; в robots.txt он читает группы для TolklyBot и для *

1. Прочитай https://tolkly.io/docs/en/knowledge.md. Если страница не открывается, хватит этого промпта.
2. Найди страницы с ответами, которые нужны посетителям: справка, FAQ, правила и условия, цены и лимиты, контакты.
3. Отдавай sitemap.xml со всеми этими страницами — по адресу https://your-site.example/sitemap.xml или указанный строкой "Sitemap:" в robots.txt. Если sitemap есть, краулер читает только перечисленные в нём страницы и не ходит по ссылкам, поэтому страница, которой там нет, не прочитается никогда.
4. Отдавай эти страницы с сервера: их текст должен быть в HTML, который присылает сервер, без выполнения JavaScript. В одностраничном приложении используй серверный рендеринг фреймворка или пререндер этих маршрутов; пустая оболочка, которую заполняют скрипты, читается как страница без текста. Не оставляй на них <meta name="robots" content="noindex">.
5. В robots.txt пусти краулер: ни одна строка Disallow в группе для TolklyBot или для * не должна закрывать главную страницу и эти страницы. Строка Allow не открывает то, что закрыл Disallow для этого краулера, поэтому убери или сузь сам Disallow. И не отклоняй этот user agent файрволом, CDN или защитой от ботов.
6. Держи FAQ и правила вне входа в аккаунт: страница, которая просит краулер войти, читается как страница без текста.
7. Проверь: curl -A "TolklyBot/0.1 (+https://github.com/tolkly/tolkly)" <адрес страницы справки> выводит текст ответа в HTML, https://your-site.example/robots.txt не закрывает ни одну из этих страниц, а sitemap их перечисляет. Потом перечисли изменённые файлы и скажи мне нажать «Перечитать» у сайта в разделе «Знания» в Tolkly.

Ежедневная переиндексация

Каждый сайт перечитывается по своему расписанию в 04:00 по Москве: каждый день (по умолчанию) или каждую неделю. Сайт с «Только по запросу» сам не перечитывается. В форме сайта это время показано в часовом поясе проекта, например «Перечитывается каждый день в 04:00 (Москва)».

  • Изменённые страницы читаются заново, остальные остаются как есть.
  • Страницы, пропавшие из sitemap, уходят из базы знаний. Сайт, который читается по ссылкам, не теряет страниц из-за одного неудачного запроса.

Переиндексация вручную

Если правку нужно учесть уже сегодня, владелец или администратор нажимает «Перечитать» (стрелка в строке сайта) или «Перечитать всё» над списком. Что может быть написано в строке:

НадписьЧто значит
«Ещё не прочитан»Добавлен, ещё не прочитан (оранжевая точка)
«Ждёт очереди…»Сначала читается другой сайт или проект
«Читаем сайт…»Запуск идёт
«Прочитан … · Каждый день · следующий …»Готово
«Не прочитан …: сайт не ответил»Запуск не удался (красная точка). Бывает ещё «сайт нас не пустил (защита от ботов или вход)», «сайт ответил ошибкой», «сервер перезапустился во время запуска»
«Изменились …, пропали … из … страниц»Запуск ждёт вашего решения (оранжевая точка)
«robots.txt закрывает от нас главную»Ваш robots.txt закрывает от бота саму главную страницу (красная точка)

Если запуск не удался

Неудачный запуск не повторяется до следующего раза по расписанию. Когда сайт снова отвечает, нажмите «Перечитать». А пока бот отвечает по страницам, прочитанным раньше. Если ошибка повторяется, напишите нам.

Что ИИ знает о проекте

С каждым вопросом ИИ получает описание вашего проекта, на каком бы домене ни был чат. По умолчанию это заголовок и описание главной страницы основного сайта. Оно показано в блоке «Что ИИ знает о проекте» вверху «Знаний». Владелец или администратор нажимает «Изменить», пишет описание своими словами (до 1500 символов) и нажимает «Сохранить». Основной сайт перечитается, чтобы учесть новое описание. «Взять с главной» вернёт прежнее.

Вопросы и ответы

Когда закрывается разговор, в котором отвечал оператор, ИИ сохраняет его ответ как черновик: вопрос и ответ, только словами оператора. Черновики ждут в разделе проекта «Вопросы и ответы» на вкладке «Новые». Самые частые — сверху («Спросили 3 раза»).

Ответ можно написать и самому, не правя сайт и не загружая файл: «Написать ответ» в «Вопросах и ответах», «Ответить» у вопроса в «Отчёты» › «Чего не хватает в базе знаний» или «Написать ответ» у частого вопроса, на который бот откажет. «Сохранить и одобрить» сразу кладёт ответ в базу знаний, «Сохранить в новые» оставляет его на потом.

  • Если похожий вопрос уже есть, сначала покажем его ответ: поправьте его или нажмите «Всё равно сохранить».

  • Вопрос станет заголовком страницы ответа, поэтому в нём не может быть номера заказа или транзакции, почты или телефона.

  • Для временного («вывод сегодня задерживается») задайте «Действует до» в «Дополнительно»: после этого дня бот перестанет по нему отвечать, а страница ответа закроется.

  • «Одобрить»: дальше бот сам отвечает на этот вопрос. В чате он ссылается на «Ответ поддержки» («Support answer» в проекте на английском). У ответа своя страница.

  • «Изменить», затем «Сохранить и одобрить»: сначала поправьте текст.

  • «Отклонить»: если вопрос зададут снова, черновик заново не появится. «Всё же одобрить» вернёт его.

  • «Снять» у одобренного ответа: бот сразу перестаёт по нему отвечать, страница ответа закрывается, а сам ответ уходит в «Отклонены».

Писать, одобрять, править и отклонять могут только владельцы и администраторы. Операторы видят, что стало с их ответами.