任务状态机 & agent loop —— 三层嵌套
Eino 编排 / 循环
状态 / 结构
外部：工具 / 总线
① 任务状态机（dispatcher 无状态，转移走总线）
submitted
running
done · failed · timeout
rejected · waiting（HITL 暂停）
转移 = setStatus → NATS(status.task) → 网关 UpdateTaskStatus 落 PG
▼ running 展开为
② Eino compose.Graph —— 按 DAG 调度节点
agent 节点
branch ◇
节点 ∥ 节点
无依赖并行
真假边路由 · HITL→checkpoint
▼ 每个 agent 节点放大为
③ Eino react.Agent —— 节点内的 ReAct 循环
推理 (LLM)
调工具
MCP / NATS
观察结果
流式输出
停止
循环：还要调工具 → 再推理（至 MaxStep 或不再调工具）