原子概念 / Tool Call Correlation
工具调用ID配对
用稳定call ID关联模型请求、工具执行与结果。
检索别名:Call ID · 工具结果配对
01 输入
- 模型调用流
- 完整工具参数
- 历史工具结果与操作ID
02 处理机制
- 按call ID累积参数
- 校验身份与payload一致
- 执行并配对结果
- 恢复时复用已提交结果
03 输出与证据
- 无歧义调用链
- 缺失或冲突错误
- 可安全重放历史
用稳定call ID关联模型请求、工具执行与结果。
模型工具调用ID用于把一次行动请求与执行结果准确关联。一个模型step可以提出多个工具;结果也可能乱序返回或在恢复后补写。缺少稳定身份时,系统可能把公司的财报结果塞给另一个调用,或重复执行已经成功的操作。
OpenAI Agents SDK固定Model接口明确要求每个调用具有非空ID,并在Run及序列化恢复链中保持稳定;变化后的工具身份或payload不能复用旧ID。输出要保留原call ID,以便runtime识别已完成重放。这是可见接口约束,不代表它自动替应用完成业务幂等。
应分别保存model_call_id、tool_call_id、business_operation_id与attempt_id。前两个用于模型轨迹关联,业务ID表示同一被授权动作,attempt表示网络尝试。只读调用可一对一映射,复杂批量写入则可能需要子操作清单,不能把整个脚本都压成一个不可解释的ID。
流式参数先按调用身份累积,完整解析并校验后再执行。模型若返回重复ID、缺失ID或同ID不同参数,应明确报协议错误,不擅自合并。供应商原生执行的工具与应用执行的工具也需标清责任,避免看到tool-call事件就重复本地执行。
恢复时从已提交结果重建配对,缺失结果进入pending或unknown。不能为了满足消息格式而编造一个成功结果;也不能把旧审批绑定到新payload。OpenCode源码对未完成调用补明确错误,提示这种尾部状态应受治理。
测试并行工具乱序、相同名称不同参数、断流中止、序列化恢复和重复回调。验收看每个结果能否准确归属以及外部动作次数是否正确。日志中“都有ID”只是第一步,身份在整个生命周期保持语义一致才是关键。
界面可隐藏底层ID,但审计必须能沿ID找到原始请求、批准和实际回执。否则人工处理异常时容易对错操作。
实践重点:ID在run和恢复链内稳定,工具身份或参数改变不能复用旧ID。
验证抓手:测并行多工具、重放、截断与恢复时的ID不变量。
常见误区:丢失或重复ID导致结果串线和重复执行。
RELATIONSHIP MAP
与其他节点的关系
箭头从本节点指向目标;关系是工程分析映射,不代表厂商合作或已披露的内部实现。
哪些节点指向本页 · 1
- OpenAI Agents SDK — 实现 → 工具调用ID配对
公开能力或可见源码体现工具调用ID配对的具体产品路线。
PRIMARY SOURCES
来源与阅读边界
来源按研究截止日整理。官方文档说明能力和约束,代码只证明对应版本,论文与讲座不自动证明生产效果。 资料截止:2026-10-15。
- Agents SDK:Model接口和call ID约束 ↗公开代码
观察基线:2026-10-15;具体模型、版本和部署能力需分别核验。
- OpenCode:流、工具和取消源码 ↗公开代码
观察基线:2026-10-15;具体模型、版本和部署能力需分别核验。