条件ブロックは、ブール式に基づいてワークフローの実行を分岐させます。以前のブロック出力を使用して条件を評価し、LLMを必要とせずに異なるパスにルーティングします。

設定オプション
条件
評価される1つ以上の条件を定義します。各条件には以下が含まれます:
- 式: trueまたはfalseに評価されるJavaScript/TypeScript式
- パス: 条件がtrueの場合にルーティングする宛先ブロック
- 説明: 条件が何をチェックするかの任意の説明
複数の条件を作成でき、順番に評価されます。最初にマッチした条件が実行パスを決定します。
条件式のフォーマット
条件はJavaScript構文を使用し、前のブロックからの入力値を参照できます。
// Check if a score is above a threshold
<agent.score> > 75// Check if a text contains specific keywords
<agent.text>.includes('urgent') || <agent.text>.includes('emergency')// Check multiple conditions
<agent.age> >= 18 && <agent.country> === 'US'結果へのアクセス
条件が評価された後、以下の出力にアクセスできます:
- condition.result: 条件評価のブール結果
- condition.matched_condition: マッチした条件のID
- condition.content: 評価結果の説明
- condition.path: 選択されたルーティング先の詳細
高度な機能
複雑な式
条件内でJavaScriptの演算子や関数を使用できます:
// String operations
<user.email>.endsWith('@company.com')
// Array operations
<api.tags>.includes('urgent')
// Mathematical operations
<agent.confidence> * 100 > 85
// Date comparisons
new Date(<api.created_at>) > new Date('2024-01-01')複数条件の評価
条件は一致するものが見つかるまで順番に評価されます:
// Condition 1: Check for high priority
<ticket.priority> === 'high'
// Condition 2: Check for urgent keywords
<ticket.subject>.toLowerCase().includes('urgent')
// Condition 3: Default fallback
trueエラー処理
条件は以下を自動的に処理します:
- 未定義またはnull値の安全な評価
- 型の不一致に対する適切なフォールバック
- 無効な式のエラーログ記録
- 欠落した変数のデフォルト値処理
出力
<condition.result>: 評価の真偽結果<condition.matched_condition>: マッチした条件のID<condition.content>: 評価結果の説明<condition.path>: 選択されたルーティング先の詳細
使用例
カスタマーサポートのルーティング - 優先度に基づいてチケットをルーティング
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 Simpleベストプラクティス
- 条件を正しく順序付ける: より具体的な条件を一般的な条件の前に配置し、特定のロジックがフォールバックよりも優先されるようにします
- デフォルト条件を含める: 最後の条件として包括的な条件(
true)を追加し、マッチしないケースを処理してワークフローの実行が停止しないようにします - 式をシンプルに保つ: 読みやすさとデバッグのしやすさのために、明確で簡潔な真偽式を使用します
- 条件を文書化する: チームのコラボレーションとメンテナンスを向上させるために、各条件の目的を説明する説明を追加します
- エッジケースをテストする: 条件範囲の境界値でテストすることで、条件が境界値を正しく処理することを確認します