Agents API
Настраивайте AI-агентов: системный промпт, набор разрешённых коннекторов и доступ к учётным записям организации. Те же эндпоинты используются разделом «Агенты» в самом приложении.
Что такое агент
Агент — это профиль (имя, описание, системный промпт, аватар) плюс список разрешённых коннекторов и выданных учётных записей. Когда вы стартуете сессию с agent_id, ассистент работает под этим профилем и ограничен только теми коннекторами и учётками, которые вы выдали явно.
Создать агента
POST с профилем агента. Обязательное поле — только name, остальные опциональны.
Список и получение агента
В списке системный агент идёт первым, затем ваши пользовательские агенты (с пагинацией).
Обновить или удалить
PATCH принимает частичный профиль. DELETE — мягкое удаление. Системный агент только для чтения и на любые мутации возвращает HTTP 400.
Разрешённые коннекторы
PUT .../connectors задаёт полный список ключей коннекторов, которые агент может вызывать (wildberries, ozon, telegram, …). Пустой массив очищает список. Коннекторы — это какими инструментами агенту разрешено пользоваться; учётки — под какими аккаунтами.
Доступные учётные записи
Возвращает все учётные записи организации под разрешённые агенту коннекторы плюс флаг granted — есть ли уже у агента доступ к ним.
Выдать учётную запись
Берёте credential_id из /available-credentials и выдаёте его агенту. Опциональные scopes сужают, какие части учётки агент может использовать. Отзыв — DELETE /grants/{grant_id}.
Запустить сессию под агентом
Передайте agent_id в теле POST /sessions/stream. Вызов запускает ход и возвращает 202 с его id — читайте ответ через SSE, как описано в разделе Стриминг (SSE). Ассистент возьмёт системный промпт агента и ограничится его коннекторами и учётками.
Доступные инструменты
Полный набор инструментов, которые ассистент может вызывать внутри сессии агента. Набор фиксирован и одинаков для всех агентов — различаются только системный промпт и выданные коннекторы / учётные записи. Имена инструментов — это идентификаторы функций в tool_call.
Структура описания инструмента
Каждое описание инструмента самодостаточно — отдельного слоя гайдов нет. Модель читает описание дословно, поэтому все они следуют одной пятиблочной структуре:
- Назначение — одно-два предложения: что инструмент делает и что возвращает.
- Когда использовать — конкретные сценарии, где этот инструмент — правильный выбор.
- Когда НЕ использовать — границы применимости с указанием конкретного альтернативного инструмента.
- Ключевые ограничения — предусловия, форматы, лимиты, порядок вызовов и контракт ошибок.
- Интерпретация результата — как читать ответ, когда повторять, когда остановиться.
Дескрипторы инструментов лежат в config/prompts/tools.yaml и имеют такую форму:
FAQ
Что такое агент?
Это профиль (имя, описание, системный промпт, аватар) плюс набор разрешённых коннекторов и выданных учётных данных. Запуск сессии с agent_id ограничивает ассистента именно этими коннекторами и учётными данными.
Чем разрешённые коннекторы отличаются от выданных учётных данных?
Коннекторы определяют, какие инструменты агент может использовать; учётные данные решают, под какими аккаунтами он действует. Коннекторы задаются через PUT .../connectors, а учётные данные выдаются из /available-credentials.
Как запустить чат-сессию под конкретным агентом?
Передайте agent_id в теле POST /sessions/stream. Ход использует системный промпт агента и ограничен его выданными коннекторами и учётными данными; ответ читается по SSE.
Можно ли изменить или удалить встроенного системного агента?
Нет. Системный агент доступен только для чтения и отклоняет изменения с HTTP 400. Ваши собственные агенты поддерживают PATCH (частичное обновление) и DELETE (мягкое удаление).
Частые вопросы
Что такое агент?
Это профиль (имя, описание, системный промпт, аватар) плюс набор разрешённых коннекторов и выданных учётных данных. Запуск сессии с agent_id ограничивает ассистента именно этими коннекторами и учётными данными.
Чем разрешённые коннекторы отличаются от выданных учётных данных?
Коннекторы определяют, какие инструменты агент может использовать; учётные данные решают, под какими аккаунтами он действует. Коннекторы задаются через PUT .../connectors, а учётные данные выдаются из /available-credentials.
Как запустить чат-сессию под конкретным агентом?
Передайте agent_id в теле POST /sessions/stream. Ход использует системный промпт агента и ограничен его выданными коннекторами и учётными данными; ответ читается по SSE.
Можно ли изменить или удалить встроенного системного агента?
Нет. Системный агент доступен только для чтения и отклоняет изменения с HTTP 400. Ваши собственные агенты поддерживают PATCH (частичное обновление) и DELETE (мягкое удаление).