Cookbook
Agents & skills · for AI agents

Создайте надежного агента поддержки

Создайте агента с душой, задачей с границами, инструментами и базой знаний — через MCP.

MCP tools:list_toolslist_knowledge_basescreate_agentget_agentcreate_share

Прежде чем строить — исследуйте, а не действуйте вслепую. Возьмите у клиента интервью о его задачах, материалах, процедурах, которые он выполняет, и системах, с которыми должен взаимодействовать агент; спланируйте всю настройку (агент + база знаний + навыки + MCP при необходимости) и проведите репетицию перед созданием чего-либо. Шаги ниже — это то, что вы выполняете после этого — см. Исследование перед созданием.

Принцип — один агент, одна задача. Дайте этому агенту одну четко ограниченную задачу. Если у бизнеса три задачи (поддержка и продажи и планирование), создайте трех агентов — агент, который «делает всё», справляется с каждой задачей хуже. Подробнее в Принципах проектирования.

Агент — это душа + задача + инструменты + навыки + базы знаний. soul (душа) — это идентичность и голос; task (задача) — это работа и ее границы — все это попадает в фиксированный префикс системного промпта.

1. Посмотрите, что можно подключить

list_tools()             # tools available to this tenant (including connected MCP tools)
list_knowledge_bases()   # knowledge bases you can mount

2. Создайте его

По умолчанию включено, чтобы вам не приходилось об этом просить. Новый агент уже может отвечать с помощью кликабельной формы с одним или несколькими вариантами выбора (form (ask_forms)), когда ему нужно получить два или три факта, прежде чем он сможет ответить, и уже может рисовать графики (compute_chart входит в список инструментов по умолчанию). Оба эти инструмента были отключены по умолчанию до 2026-08-03, и вызов создания не имел параметра для первого — поэтому агенты, созданные до этой даты, не имеют ни того, ни другого, и update_agent(ask_forms=True, add_tools=["compute_chart"]) — это способ привести их в актуальное состояние.

Передача tools=[...] заменяет список по умолчанию, а не добавляет к нему, поэтому всегда включайте compute_chart самостоятельно, когда вы передаете инструменты.

Имена пишутся строчными буквами. Имя — это не только то, что вы видите — одиннадцать таблиц ссылаются на агента по его имени (акции, сессии, сюжетные линии, привязки каналов, использование), поэтому Pip и pip — это два разных агента для всех них и один и тот же агент для вас. Новые имена приводятся к нижнему регистру при сохранении; пишите их так, и не придется ничего согласовывать. Это также не публичный URL — это alias.

create_agent(
  name="support",                  # lower-case; the platform lower-cases it anyway
  alias="support",                 # public human-readable URL slug — set one (url-safe, lowercase)
  soul="You are the support assistant for Acme Loans. Professional and warm.",
  task="Answer questions about mortgage products and the application process. "
       "Never promise a disbursement date; never give legal or tax advice; "
       "for any specific quote, call a tool — do not answer from memory.",
  tools=["web_search"],
  knowledge_bases=["company-policy"],   # use the KB's returned slug name (see below)
  published=True,
)
  • alias — это публичная читаемая человеком часть адреса агента ({public_base}/t/<tenant>/<alias>) — установите ее, чтобы вы могли дать людям запоминающуюся ссылку. Она нормализуется до url-safe slug; при конфликте возвращается ошибка в alias_result.
  • Системные инструменты включены по умолчанию. Новые агенты автоматически получают current_time, ip_geo и weather (встроенный system MCP) — вы не указываете их; tools предназначен для дополнительных.
  • Имена в URL — это slug-и. Имя базы знаний превращается в url-safe slug при создании ("Company Policy"company-policy); подключайте его по возвращенному имени, а не по тому, что вы ввели.

3. Подтвердите, что было создано

get_agent(name="Support")   # writing it doesn't mean it looks the way you intended

published=True означает видимость, а не доступность. Конечные пользователи не могут получить доступ к агенту, пока вы не создадите акцию (шаг 4). Не ограничивайтесь статусом «опубликовано».

Границы должны находиться в task — негативные ограничения («никогда не обещать…») лучше предотвращают отклонения, чем позитивное описание. Не помещайте правила безопасности в soul; платформа автоматически добавляет глобальную модерацию. Чтобы изменить одно поле позже, используйте update_agent(name, field=…) — оно объединяет данные, поэтому остальные поля не будут очищены.

4. Опубликуйте его — спросите, как, а затем сделайте доступным

Прежде чем сказать «готово», спросите клиента, как его клиенты должны получать к нему доступ, а затем подключите этот канал с помощью create_share (он возвращает реальную, открываемую ссылку — передайте ее, а не просто «он опубликован»):

create_share(agent_name="Support", label="Website widget")
# → { token, chat_url, qr_url, embed_snippet, pretty_url, … }

Если в ответе есть pretty_url (…/t/<tenant-alias>/<agent-alias>), это ссылка для людей — читаемая и стабильная при ротации токенов. Если она равна null, установите отсутствующий alias (create_agent(alias=…) / PUT /agents/{name}/alias; alias клиента в консоли → Настройки), а не отправляйте ссылку с токеном. chat_url остается правильной для встраивания и QR-кодов.

  • Нет сайта — только ссылка или QR (фрилансер, магазин, листовка, визитка): передайте chat_url (полноэкранная хостинговая страница чата — сайт не нужен) и qr_url (QR-код, который они могут распечатать). Это анонимно: без входа в систему, и каждый посетитель запоминается через браузер, поэтому постоянные клиенты распознаются.
  • Их собственный сайт: дайте им embed_snippet (одна строка перед </body> для плавающего виджета) или chat_url для ссылки / iframe.
  • Telegram / WhatsApp: настройте по каждому каналу в консоли (Агент → Интеграция → Telegram / WhatsApp); укажите им путь туда.

Вернитесь с отчетом. Передайте фактическую ссылку, которую они могут открыть и протестировать прямо сейчас (chat_url и qr_url, если у них нет сайта), а также страницу агента в консоли для проверки — https://console.agent4.io/#/agents/Support. Не «он опубликован» — ссылку.