主题
Interaction Request
角色
InteractionRequest 是平台统一的人机交互对象,用于表达审批、补充输入、鉴权、选择和确认。
它是 AaaS v1 的 canonical interaction model。A2A、ACP、AG-UI 以及原生 runtime 的等待输入语义都必须先收敛到这个资源,而不是各自维护独立暂停状态机。
核心字段
interactionIdorgIdrunIdattemptIdthreadIdkindstatusblockingscoperesolutionPolicypromptpayloadSchemaoptionsresponsedeadlineAtoriginversion
规范要求
- 每个
InteractionRequestMUST归属于单一runId与单一attemptId - 终态为
resolved、rejected、expired、canceled,终态MUST不可逆 - 会阻塞运行推进的审批、补充输入、鉴权、选择、确认需求
MUST被归一化为InteractionRequest - 同一 run
MAY同时存在多个openinteraction - 同一 run 在任一时刻
MUST至多暴露一个blocking=true且仍未终结的当前阻塞 interaction - interaction 的响应动作
MUST统一为RespondInteractionCommand,并显式带decision = resolve | reject | cancel - response 之后依赖该交互结果产生的输出事件,
MUST在序列上晚于对应的 response fact
与 Run 的关系
- interaction 是 run 的阻塞覆盖层,不引入新的顶层状态
- run 在等待交互时,通常保持
status=running,并同时暴露blockingInteractionId、blockedReason、waitingSince - 历史 interaction
MAY保留在读模型中,用于审计、恢复与前端重建
标准接口
Read PlaneGET /v1/runs/{runId}/interactionsGET /v1/runs/{runId}/interactions/{interactionId}
Control PlanePOST /v1/runs/{runId}/interactions/{interactionId}:respond:
Run Stream / Output Eventinteraction.requestedinteraction.updatedinteraction.responded
协议映射
- A2A 的等待输入、鉴权或确认语义
MUST映射到InteractionRequest - ACP 的 permission / prompt 语义
MUST映射到InteractionRequest - AG-UI 的 human-in-the-loop、approval、intervention 语义
MUST映射到InteractionRequest