flow_ir
정책 위의 조합 레이어: 라우팅 단계들로 구성된 유계 비순환 그래프.
다단계 워크플로우를 위한 형식입니다. flow는 라우팅 단계들로 구성된 유계 비순환 그래프이며, 각 단계는 자체 policy_ir을 가지고 독립적으로 라우팅됩니다. 전체 그래프는 하나의 이어진, 재현 가능한 트레이스를 기록합니다.
노드 종류
input
단일 진입점입니다. 호출의
messages가 여기로 입력됩니다. 워크플로우당 정확히 하나입니다.llm
라우팅 단계입니다. 키:
system(프롬프트) · policy(전체 policy_ir) · inputs(소비할 노드 id 목록) · template(선택 사항, 입력 순서에 따라 $1, $2, …로 입력을 결합).output
단일 출구입니다.
inputs에 반환할 결과를 가진 노드를 지정합니다. 워크플로우당 정확히 하나입니다.엣지는 pull 모델 방식입니다: 노드의 inputs 목록이 소비할 노드를 지정하므로, "b": { inputs: ["a"] }는 a → b를 의미합니다. 두 개 이상의 입력을 가진 노드는 fan-in(융합) 단계이며, 하나의 노드가 여러 노드에 공급되면 fan-out입니다. 그래프는 비순환적이고 유계로, ≤ 256 노드이고 in-degree가 ≤ 32이므로 비용과 지연 시간을 사전에 파악할 수 있습니다. 이 범위를 초과하는 워크플로우는 실행 전에 거부됩니다. POST /x/flow/normalize로 dry-run하여 그래프와 각 노드의 정책을 사전에 검증하세요.