더북(TheBook)

$prev와 $config를 활용해 에이전트 간 데이터를 주고받는 순차 실행 외에도, 워크플로는 조건에 따라 실행 경로를 다르게 가져갈 수 있습니다.

워크플로는 단순한 순차 실행만 지원하는 것이 아닙니다. 조건에 따라 다른 경로를 실행하는 분기(branching)도 가능합니다.

steps:
  - agent: mail-classifier
  - when: $prev.urgency == 'high' # 긴급일 때만
    agent: urgent-notifier        # 즉시 알림 발송
  - agent: daily-report-updater   # 항상 실행

이 분기 예제를 보면 mail-classifier 에이전트가 각 메일을 분류한 후 urgency 필드를 설정합니다. 만약 그 값이 'high'라면, urgent-notifier 에이전트가 실행되어 즉시 알림을 보냅니다. 그 외 모든 메일은 이 단계를 건너뜁니다. 하지만 daily-report-updater는 모든 경우에 실행됩니다. 이런 조건부 실행 덕분에 같은 데이터라도 우선도에 따라 다른 처리가 가능합니다.