AACFlow

Условие

Блок "Условие" ветвит выполнение воркфлоу на основе булевых выражений. Оценивайте условия, используя выходные данные предыдущих блоков, и направляйте по разным путям без необходимости использования LLM.

Блок Условие

Параметры конфигурации

Условия

Определите одно или несколько условий, которые будут оцениваться. Каждое условие включает:

  • Выражение: Выражение JavaScript/TypeScript, которое оценивается как true или false
  • Путь: Блок назначения для маршрутизации, если условие истинно
  • Описание: Опциональное объяснение того, что проверяет условие

Вы можете создать несколько условий, которые оцениваются по порядку, причем первое совпадающее условие определяет путь выполнения.

Формат выражения условия

Условия используют синтаксис JavaScript и могут ссылаться на входные значения из предыдущих блоков.

// Проверка, превышает ли оценка порог
<agent.score> > 75
// Проверка, содержит ли текст определенные ключевые слова
<agent.text>.includes('urgent') || <agent.text>.includes('emergency')
// Проверка нескольких условий
<agent.age> >= 18 && <agent.country> === 'US'

Доступ к результатам

После оценки условия вы можете получить доступ к его выходным данным:

  • <condition.conditionResult>: Булев результат оценки условия
  • <condition.selectedOption>: ID условия, которое совпало
  • <condition.selectedPath>: Детали выбранного направления маршрутизации

Расширенные возможности

Сложные выражения

Используйте операторы и функции JavaScript в условиях:

// Строковые операции
<user.email>.endsWith('@company.com')

// Операции с массивами
<api.tags>.includes('urgent')

// Математические операции
<agent.confidence> * 100 > 85

// Сравнения дат
new Date(<api.created_at>) > new Date('2024-01-01')

Оценка нескольких условий

Условия оцениваются по порядку до первого совпадения:

// Условие 1: Проверка высокого приоритета
<ticket.priority> === 'high'

// Условие 2: Проверка ключевых слов срочности
<ticket.subject>.toLowerCase().includes('urgent')

// Условие 3: Резервное условие по умолчанию
true

Обработка ошибок

Если выражение условия ссылается на неопределенную переменную или вызывает ошибку времени выполнения, блок вызовет ошибку, и выполнение завершится неудачей (или пойдет по пути ошибки, если он подключен). Используйте опциональную цепочку (?.) или явные проверки на null в ваших выражениях для безопасной обработки отсутствующих значений.

Выходные данные

  • <condition.conditionResult>: Булев результат оценки
  • <condition.selectedOption>: ID совпавшего условия
  • <condition.selectedPath>: Детали выбранного направления маршрутизации

Примеры использования

Маршрутизация поддержки клиентов — Направление тикетов на основе приоритета

API (Ticket) → Condition (priority === 'high') → Agent (Escalation) or Agent (Standard)

Модерация контента — Фильтрация контента на основе анализа

Agent (Analyze) → Condition (toxicity > 0.7) → Moderation or Publish

Поток адаптации пользователей — Персонализация адаптации на основе типа пользователя

Function (Process) → Condition (account_type === 'enterprise') → Advanced or AACFlowple

Рекомендации

  • Правильно упорядочивайте условия: Размещайте более специфичные условия перед общими, чтобы обеспечить приоритет специфичной логики над резервными вариантами
  • Используйте ветку else при необходимости: Если ни одно условие не совпадает и ветка else не подключена, ветка воркфлоу завершится корректно. Подключите ветку else, если вам нужен резервный путь для несопоставленных случаев
  • Сохраняйте выражения простыми: Используйте четкие, прямолинейные булевы выражения для лучшей читаемости и более легкой отладки
  • Документируйте ваши условия: Добавляйте описания, чтобы объяснить цель каждого условия для лучшего сотрудничества в команде и поддержки
  • Тестируйте граничные случаи: Проверяйте, что условия корректно обрабатывают граничные значения, тестируя со значениями на границах ваших диапазонов условий

Common Questions

On this page

Начните создавать сегодня
Нам доверяют более 100 000 разработчиков.
SaaS-платформа для создания AI-агентов и управления агентным workforce.
Начать