使用 Join 模式的並行處理

v1.1 Feature

展示 v1.1 join 模式——wait_all、wait_any、wait_n 用於並行分支。

6 個節點 · 7 條連接v1.1 features
v1.1joinparallelresilience
視覺化
dispatchsystem
parallelsearch_google
parallelsearch_bing
parallelsearch_brave
search_googleapi
parallelmerge_results
search_bingapi
parallelmerge_results
search_braveapi
parallelmerge_results
merge_resultsagent
sequentialdeliver
deliverapi
ex-join-modes-parallel.osop.yaml
osop_version: "1.1"
id: "join-modes-parallel"
name:"使用 Join 模式的並行處理"
description:"展示 v1.1 join 模式——wait_all、wait_any、wait_n 用於並行分支。"
tags: [v1.1, join, parallel, resilience]

nodes:
  - id: "dispatch"
    type: "system"
    purpose: "Dispatch query to multiple search providers."

  - id: "search_google"
    type: "api"
    purpose: "Search Google."
    runtime:
      endpoint: "https://www.googleapis.com/customsearch/v1"
    timeout_sec: 10

  - id: "search_bing"
    type: "api"
    purpose: "Search Bing."
    runtime:
      endpoint: "https://api.bing.microsoft.com/v7.0/search"
    timeout_sec: 10

  - id: "search_brave"
    type: "api"
    purpose: "Search Brave."
    runtime:
      endpoint: "https://api.search.brave.com/res/v1/web/search"
    timeout_sec: 10

  - id: "merge_results"
    type: "agent"
    subtype: "llm"
    purpose: "Merge and deduplicate results from available sources."
    runtime:
      model: "claude-haiku-4-5"

  - id: "deliver"
    type: "api"
    purpose: "Return merged results to user."

edges:
  - from: "dispatch"
    to: "search_google"
    mode: "parallel"
  - from: "dispatch"
    to: "search_bing"
    mode: "parallel"
  - from: "dispatch"
    to: "search_brave"
    mode: "parallel"
  # Proceed when ANY 2 of 3 search engines respond
  - from: "search_google"
    to: "merge_results"
    mode: "parallel"
    join_mode: "wait_n"
    join_count: 2
  - from: "search_bing"
    to: "merge_results"
    mode: "parallel"
  - from: "search_brave"
    to: "merge_results"
    mode: "parallel"
  - from: "merge_results"
    to: "deliver"
    mode: "sequential"