defineSkill
Определяйте навыки ИИ-агентов
defineSkill
Определяйте навыки ИИ-агентов
Навыки определяют многократно используемые инструкции и возможности, которые агенты ИИ могут использовать в вашем рабочем пространстве. Используйте Основные моменты:
defineSkill() для определения навыков со встроенной валидацией:src/skills/example-skill.ts
name— уникальная строка-идентификатор навыка (рекомендуется kebab-case).label— читаемое человеком отображаемое имя, показываемое в UI.contentсодержит инструкции навыка — это текст, который использует агент ИИ.icon(необязательно) задаёт значок, отображаемый в UI.description(необязательно) предоставляет дополнительный контекст о назначении навыка.
defineAgent
Определяйте ИИ-агентов с пользовательскими промптами
defineAgent
Определяйте ИИ-агентов с пользовательскими промптами
Агенты — это ИИ-помощники, работающие в вашем рабочем пространстве. Используйте Основные моменты:Примечания к схеме:
defineAgent() для создания агентов с пользовательским системным промптом:src/agents/example-agent.ts
name— уникальная строка-идентификатор агента (рекомендуется kebab-case).label— отображаемое имя, показываемое в UI.prompt— это системный промпт, определяющий поведение агента.description(необязательно) предоставляет контекст о том, что делает агент.icon(необязательно) задаёт значок, отображаемый в UI.modelId(необязательно) переопределяет модель ИИ по умолчанию, используемую агентом.responseFormat(необязательно) определяет форму вывода агента. По умолчанию для свободного текста используется{ type: 'text' }. Используйте{ type: 'json', schema }, чтобы принудительно получать структурированный JSON-вывод.
responseFormat значение { type: 'json' } и укажите schema:src/agents/structured-agent.ts
- Схема — это плоский объект:
typeкаждого свойства должен быть примитивом (string,numberилиboolean). Вложенные объекты и массивы не поддерживаются. description(необязательно) для каждого свойства подсказывает модели, что туда нужно поместить.required(необязательно) перечисляет свойства, которые модель всегда должна возвращать.additionalProperties: false(необязательно) запрещает любые свойства, не объявленные вproperties.
runAgent
Запуск агента из логической функции
runAgent
Запуск агента из логической функции
runAgent() позволяет логической функции запустить одного из агентов вашего приложения (с его навыками и инструментами). Идентифицируйте агента по universalIdentifier, который вы передали в defineAgent():src/logic-functions/run-enricher.ts
- Агент выполняется синхронно и может самостоятельно читать и обновлять записи с помощью собственных инструментов —
runAgent()возвращает результат после завершения выполнения. - Приложение может запускать только собственных агентов.
- Роль по умолчанию приложения должна предоставлять флаг разрешения
AI— добавьтеSystemPermissionFlag.AIвpermissionFlagUniversalIdentifiers(или установитеcanAccessAllTools: true). Без этогоrunAgent()завершится с ошибкой прав доступа. - Установите достаточно большое значение
timeoutSecondsдля логической функции — выполнение агента может занимать несколько секунд. successимеет значениеtrue, аresult— неnull, когда запуск завершается; при ошибкеsuccessравноfalse,resultравноnull, а вerrorсодержится причина (например, если в рабочем пространстве закончились AI-кредиты во время запуска).
src/roles/default-role.ts