开发者在请求中向模型声明可用的工具集合,每个工具包含名称、功能描述以及用 JSON Schema 描述的参数结构(类型、必填项、约束)。模型原生支持工具调用后,这一声明通过统一的 tools 参数传入,例如腾讯云混元大模型、OpenAI、Anthropic、Google Gemini、阿里通义千问、DeepSeek 等主流模型均在 Chat Completions 类接口中以相近方式暴露该能力。
模型基于用户输入与工具描述,判断是否需要调用工具。若需要,则输出一个结构化调用请求(常见形态为函数名加 JSON 参数对象),而非自由文本回答。模型不会真正执行工具,只表达"要调哪个工具、传什么参数"的意图。
外部应用程序或 Agent 运行时拦截模型输出的调用请求,解析其中的函数名与参数,在真实系统中执行对应的代码、API 或数据库操作。这一步的执行主体永远在模型之外。
执行结果被作为新消息重新注入对话上下文回传给模型。对于复杂任务,模型可据此发起下一次工具调用,形成"思考—调用—回传"的循环,直到判定无需再调用工具为止。
当模型获得足够的工具结果后,综合全部上下文生成面向用户的自然语言最终回答,完成一次完整闭环。