并行工具调用把多个彼此独立的动作放进同一轮:模型返回多个
function_call,应用端并发执行,再把每个结果按 call_id 交回模型。真正的边界在任务依赖关系:能独立完成的动作适合并发,需要上一步结果的动作仍要串行。- 封面:先记住一句话——模型负责列出动作,应用负责把独立动作一起跑。
- 背景:三个独立查询逐个等待,会把总耗时叠加;并发执行把等待压到最慢的一路附近。
- 原理:Responses API 的工具循环是“请求 → 工具调用 → 应用执行 → 回传结果 → 最终回答或下一轮调用”。
- 抓手:先判依赖,再并发;每个调用保留自己的
call_id;单个失败要能单独处理;结果回传后让模型统一收束。 - 辨析:串行适合有依赖的工具链,并发适合互不依赖的查询;并发工具调用仍然属于同一套工具循环。
- 上手:筛出
function_call,用asyncio.gather并发执行,把结果包装成function_call_output,再发起下一轮请求。
资料:1
References
- 1OpenAI Function calling 文档
developers.openai.com


Comments