CMDC.Reasoning.Parallel (cmdc v0.6.1)

Copy Markdown View Source

Reasoning Runner 的 SubAgent 并行执行器。

给定父 session 和分支规格,模块会在该 session 的 CMDC.SubAgent.Supervisor 下启动临时子 Agent,并并行收集各分支最终回复。 单分支超时或崩溃只会生成该分支的 error result,不影响其他分支。

Summary

Functions

并行执行一组 reasoning branches。

Types

branch()

@type branch() :: %{id: String.t(), prompt: String.t()}

result()

@type result() :: %{
  id: String.t(),
  session_id: String.t() | nil,
  status: :ok | :error | :skipped,
  content: String.t(),
  token_usage: CMDC.TokenUsage.t(),
  duration_ms: non_neg_integer(),
  metadata: map(),
  error: term() | nil
}

Functions

run(session, branches, opts \\ [])

@spec run(pid() | String.t(), [branch()], keyword()) ::
  {:ok, [result()], map()} | {:error, term()}

并行执行一组 reasoning branches。

返回 {:ok, results, summary}。即使部分分支失败,也以 result 的 :status 标注,整体调用仍返回 :ok,便于搜索策略继续基于成功分支收敛。