过去两年,“大模型"这个词的重心正在从"会聊天"悄悄转向"会干活”。能否可靠地调用工具、连接外部系统、在多步任务里自我纠错,已经成为衡量一个模型产品成色的关键指标。ChatGPT(OpenAI)与 Claude(Anthropic)是这条赛道上最常被拿来比较的两家。它们都支持 function calling / tool use、都能接外部数据、都在往"Agent 平台"演进,但在抽象层次、控制权归属和工程心智模型上,设计取向并不一样。本文从架构视角拆解这些差异,不去评判输赢——选型最终取决于你的场景。
工具使用的两种基本形态
任何一个能调用工具的大模型,本质上都要回答一个问题:循环(agentic loop)由谁来驱动?
- 一种是客户端工具(client-side tools):模型只负责"决定调用哪个工具、传什么参数",真正的执行落在你的代码里。你的程序接住工具调用、执行、把结果喂回去,再让模型继续。控制权完全在你手上——审批、改写、审计、限流都可以插在这一层。
- 另一种是服务端工具(server-side tools):执行发生在模型厂商的基础设施上。你只是在请求里"声明"要用某个工具,剩下的厂商替你跑完。典型代表是代码执行(沙箱里跑 Python)、联网搜索/抓取等。
两家产品都覆盖了这两种形态,但默认引导你走的路线不同。理解这一点,比记住任何具体 API 字段都重要。
Claude 的设计:把"循环控制权"显式交还给你
Claude 在 tool use 上的一个核心理念,是让开发者对 agent 循环拥有可调节的控制粒度。官方 SDK 提供了 tool runner(自动循环:调 API → 检测 tool_use → 执行你的函数 → 回灌结果 → 直到模型停手),适合大多数场景;但当你需要审批门、自定义日志、条件执行、人在环(human-in-the-loop)时,可以退回到手写循环,逐次决定是否执行。
这种"默认自动、需要时手动"的二段式设计,背后是一套明确的工具面(tool surface)设计哲学:
- bash 给广度,专用工具给可控性。一个
bash工具能让模型几乎无所不能,但你的 harness 拿到的只是一串不透明的命令字符串。把某个动作提升为专用工具(比如send_email、edit),就给了 harness 一个带类型参数的钩子——可以拦截、可以渲染 UI、可以做"文件自上次读取后是否被改动"这类一致性校验、可以标记为可并行。 - 难以撤销的操作适合做成专用工具并加审批门。可逆性是一个很有用的判据:外部 API 调用、发消息、删数据这类高风险动作,天然适合 gate 在用户确认之后。
在更高层,Claude 还提供了一组面向长时程 agent的能力:服务端的代码执行沙箱、联网搜索/抓取(带引用)、MCP(Model Context Protocol,标准化第三方能力接入)、prompt caching(前缀缓存,降低重复上下文成本)、上下文编辑与 compaction(接近上下文上限时服务端自动压缩历史)、以及 Managed Agents——由 Anthropic 托管 agent 循环并为每个 session 提供一个隔离容器作为工作区。Anthropic 最强的 Claude Fable 5(2026-04 发布;1M 上下文、128K 输出)把这套理念推到了一个新的位置:它的思考始终开启,开发者关不掉,只能用 effort 档位(从 low 到 max)调节深度;它对长程自治 agent、与长期运行子 agent 的协作、以及 Claude Code 这类编码 agent 的支持尤为突出。需要注意的几个工程细节:Fable 5 换了新的分词器,同样内容 token 数比上一代约多 30%(定价为每百万 token 输入 $10、输出 $50),token 预算需要重新基线化;它对原始思维链采取受保护策略(只回传摘要,原始链不暴露);安全分类器还可能对某些请求返回 refusal(拒答),接入时要把"被拒"当成一种正常返回状态处理。
值得一提的还有 Claude Code——把编码 agent 做成 CLI 工具,本身就是上述工具面哲学的产物:它把"提问"提升为专用工具,以便渲染成弹窗、阻塞循环等待回答。
ChatGPT / OpenAI 的设计取向(产品与生态层面)
OpenAI 这边同样提供 function calling、联网、代码解释器、以及面向 Agent 的平台化能力,生态上接入 ChatGPT 海量终端用户和成熟的插件/连接器叙事,对"开箱即用的助手型产品"友好。2026-04-24 进入 API 的 GPT-5.5 把这条路线又往前推了一步:官方给它的突出定位是更强的 agentic coding(自治式编码)、computer use(计算机操作)和知识工作——也就是"让模型自己点鼠标、跑命令、连续多步把活干完"这一类能力。规格上它提供约 1.05M 上下文、128K 输出,定价为每百万 token 输入 $5、输出 $30(pro 档 $30/$180),超过 272K 输入的部分会按 2x/1.5x 计费;ChatGPT 端则默认使用 GPT-5.5 Instant。除上述已公布信息外,其工具调用与多步编排的更细参数、内部跑分等请以 OpenAI 官方文档为准——本文不对这些数字做断言。从定性角度看,OpenAI 的设计取向偏向把 computer use 与 agentic coding 做成"模型直接驱动、平台帮你跑完",叠加广泛的第三方集成与面向消费端的分发,企业侧也有成型的合规与部署路径。
一张定性对比表
| 维度 | Claude(Anthropic) | ChatGPT(OpenAI) |
|---|---|---|
| 循环控制 | 显式可调:自动 tool runner 与手写循环并存 | 平台化编排,偏托管(细节以官方为准) |
| 工具面哲学 | bash 给广度 + 专用工具给可控性,强调可逆性/审批门 | 函数调用 + 连接器生态,偏即用 |
| 服务端工具 | 代码执行、联网搜索/抓取、MCP、Managed Agents | 代码解释器、联网、连接器(细节以官方为准) |
| 长上下文/成本 | Fable 5:1M 上下文、128K 输出、$10/$50;新分词器约多 30% token;prompt caching、compaction、上下文编辑 | GPT-5.5:约 1.05M 上下文、128K 输出、$5/$30(>272K 输入 2x/1.5x) |
| 自治定位 | 思考始终开启(effort low→max)、强长程 agent 与子 agent 协作 | 强 agentic coding / computer use / 知识工作 |
| 安全对齐 | 安全分类器、受保护思维链、可能 refusal | 以官方为准 |
| 编码 agent | Claude Code(CLI,强 agent/编码) | GPT-5.5(强 agentic coding;ChatGPT 默认 GPT-5.5 Instant) |
怎么按场景选
抛开品牌,落到工程决策上,可以问自己几个问题:
- 你需要多少控制权? 如果任务涉及不可逆操作、强审批流、严格审计,倾向于"循环在自己手里"的设计会更安心——你能把每一次工具执行都 gate 起来。
- 执行该放在谁的基础设施上? 想让厂商替你跑沙箱、托管容器、管 agent 循环,选托管型(如 Managed Agents);想自己掌控运行时与数据驻留,选客户端工具 + 自建 loop。
- 上下文与成本结构。 长文档、长会话、agent 长循环对上下文窗口与缓存机制敏感,先按真实负载用 token 计数工具重新基线化,别照搬别处的经验值。
- 生态与合规。 已有的连接器、团队熟悉的栈、数据合规与本地化要求,往往比"谁多几分跑分"更决定落地速度。
一句话总结
在"让模型自己跑完任务"这件事上,两家其实给了两套不同的抓手:Claude 把"agent 循环的控制权"做成了可调节的旋钮——默认自动、需要时手动,配合 tool use / MCP / Managed Agents 和 effort 档位,让你决定在哪一层介入;GPT-5.5 则把 agentic coding、computer use 这类"模型直接驱动、平台帮你跑完"的能力做强,更偏平台化与生态分发。没有绝对优劣,先想清楚你的任务把控制权、执行位置、上下文与合规分别放在哪,答案自然浮现。