Codex 中文站Codex 中文站
配置教程2026-09-19 14:252 分钟阅读

工具调用 Tool Calling 为什么模型说要调用,却没有真正执行

Tool Calling 不是模型自己在你的服务器上执行函数。模型通常只返回“要调用哪个工具以及参数”,真正执行工具的是你的应用,然后还要把工具结果回传给模型,让它继续完成回答。

工具调用 Tool Calling 为什么模型说要调用,却没有真正执行

Tool Calling 不是模型自己在你的服务器上执行函数。模型通常只返回“要调用哪个工具以及参数”,真正执行工具的是你的应用,然后还要把工具结果回传给模型,让它继续完成回答。

一、为什么会出现这个问题

tool-calling-model-says-but-not-executed

  • SDK 版本、接口版本、模型名称和示例代码并不匹配。
  • Python 的 base_url 与 Node.js 的 baseURL 等配置写法不同。
  • 旧教程仍使用旧接口,而当前服务只实现其中一部分。
  • 异常被 SDK 包装后,只看最后一行会丢掉响应状态码和原始响应体。

二、推荐的排查顺序

1. 锁定版本和接口

记录 Node/Python、SDK 版本、base URL、模型名和 endpoint。不要把 2023 年旧博客的参数直接复制到当前 SDK。

2. 先跑最小请求

只保留 model + 简单 input。最小请求成功后,再逐个加 stream、tools、JSON schema 等复杂能力。

3. 保留原始响应

遇到异常时记录 status code、content-type、body 前几百字符和 request id,避免 SDK 把关键信息包装掉。

三、可以直接复制的排查示例


tools = {'get_weather': get_weather, 'query_order': query_order}

while True:
    response = call_model(messages, tool_schema)
    if response.tool_call:
        name = response.tool_call.name
        args = response.tool_call.arguments
        result = tools[name](**args)
        messages.append({'role':'tool','name':name,'content':str(result)})
        continue
    print(response.text)
    break

四、使用建议

任何写数据库、删文件、发邮件、支付类工具都不要把模型参数直接执行,必须做参数校验和权限检查。

原创文章,作者:Codex中文网,如若转载,请注明出处:https://codex-zh.com/posts/tool-calling-model-says-but-not-executed/

相关文章

配置教程2026-08-12 11:396 分钟阅读

Codex 输出中文乱码怎么办?终端编码和字体配置教程

这篇文章继续给大家整理 Codex 的实用教程。很多朋友使用 Codex 的时候,不是不会用 AI,而是卡在安装、配置、环境、模型、网络、项目上下文这些细节上。今天这篇就围绕 **Codex 输出中文乱码怎么办?终端编码和字体配置教程*...

配置教程2026-08-05 12:448 分钟阅读

Codex 环境变量不生效怎么办?常见原因和解决方案

这篇文章是 Codex 中文网「配置教程」栏目里的完整教程,主题是 **Codex 环境变量不生效怎么办?常见原因和解决方案**。我会尽量用实战视角讲清楚:这个问题是什么、为什么会出现、应该怎么操作、遇到问题怎么排查,以及新手最容易踩哪...