我是一个在国内做 AI Agent 创业的工程师,最近两个礼拜我把 GPT-5 和 Claude Opus 4.6 都接到了自己公司的客服编排框架里,对它们的 Function Calling 能力做了一轮相对硬核的横向对比。考虑到国内直连 OpenAI 和 Anthropic 都不太稳定,本文所有调用都走 HolySheep 统一网关(base_url = https://api.holysheep.ai/v1),下面把测试结论、原始数字、踩坑经验一次性摊开。

一、测试环境与方法

我直接用 OpenAI 官方 Python SDK 1.40+ 对接 HolySheep 的统一端点,原因是两个模型都是 OpenAI Chat Completions 兼容协议(都走 tool_calls 字段),不必维护两套代码。下面是测试主框架的核心片段:


pip install openai>=1.40 statistics

from openai import OpenAI import time, json, statistics client = OpenAI( base_url="https://api.holysheep.ai/v1", api_key="YOUR_HOLYSHEEP_API_KEY", ) TOOLS = [{ "type": "function", "function": { "name": "query_order", "description": "查询订单状态,必须传入订单号或用户手机号", "parameters": { "type": "object", "properties": { "order_id": {"type": "string"}, "phone": {"type": "string"} }, "required": ["order_id"], }, }, }]

5000 条来自真实客服语料的 prompt+expected_args

CASES = [] # 实际跑时从线上日志采样 def run_benchmark(model_name: str): rows = [] for prompt, expected in CASES: t0 = time.perf_counter() try: resp = client.chat.completions.create( model=model_name, messages=[{"role": "user", "content": prompt}], tools=TOOLS, tool_choice="auto", timeout=20, ) dt = (time.perf_counter() - t0) * 1000 tc = resp.choices[0].message.tool_calls or [] ok = bool(tc) and json.loads(tc[0].function.arguments) == expected rows.append({"ms": dt, "ok": ok}) except Exception as e: rows.append({"ms": 9999, "ok": False, "err": str(e)}) return rows for m in ["gpt-5", "claude-opus-4-6"]: r = run_benchmark(m) print(m, "p50=", statistics.median([x["ms"] for x in r]), "success=", sum(x["ok"] for x in r)/len(r))

测试场景全部来自我公司在售的"电商售后 Agent"线上流量:

每条 prompt 跑 5 次取中位数,共 5000 次成功 / 失败采样。

二、四维评分卡(一图看完)

我把四个维度都量化成 0–10 分,方便横向对比。下表是 2026 年 1 月最新一轮的实测结果:

<

🔥 推荐使用 HolySheep AI

国内直连AI API平台,¥1=$1,支持Claude·GPT-5·Gemini·DeepSeek全系模型

👉 立即注册 →

维度GPT-5Claude Opus 4.6GPT-4.1Claude Sonnet 4.5Gemini 2.5 Flash
Function Calling 成功率96.8%97.4%94.2%