OpenAI API · Agent 工程

GPT-6 Astra Responses API:工具调用、MCP 与迁移

这不是另一篇 GPT-6 Astra 参数介绍。本页只解决工程问题:如何从普通文本请求迁移到 Responses API,如何处理函数调用、搜索、文件、Computer Use 和 MCP。

更新日期:2026-09-19·模型:gpt-6-astra

1. 为什么 GPT-6 Astra 优先用 Responses API

Responses API 将文本、图片、工具调用和多步骤结果放进统一响应结构,更适合 Agent 工作流。Chat Completions 可继续用于已有普通对话,但如果项目要使用 Web Search、File Search、Code Interpreter、Computer Use 或 MCP,应以 Responses API 建立新基线。

渠道兼容不等于所有官方工具均已开放。先用最小请求确认模型权限,再逐个启用工具;一次把全部工具塞入请求,会让故障定位变得困难。

2. 最小请求与响应保存

curl https://www.codex789.com/v1/responses   -H "Authorization: Bearer sk-codex789-your-api-key"   -H "Content-Type: application/json"   -d '{"model":"gpt-6-astra","input":"列出这项改动的三个回归风险"}'

生产日志至少保存 HTTP 状态、request/response ID、实际模型 ID、usage、耗时和工具调用类型,不应记录完整密钥或未经脱敏的用户内容。401、404、429 和 5xx 分别采用确定性分支处理。

3. Function Calling 要由代码闭环

模型只负责选择工具和生成参数;参数验证、权限判断、重试上限和实际执行必须由应用代码控制。工具结果返回后,再把结果交回模型生成下一步。删除数据、付款、发送消息和修改权限等动作必须设置人工确认。

为每个工具使用严格 JSON Schema,并测试缺失字段、额外字段、错误枚举和超长参数。工具执行失败时返回结构化错误,不要把堆栈和秘密配置原样暴露给模型。

4. Web Search、File Search、Code Interpreter 与 MCP

工具适用任务主要边界
Web Search需要当前信息和可追溯来源校验来源日期与域名
File Search文档库与项目资料检索权限隔离和召回质量
Code Interpreter数据处理与受控计算文件大小、执行时限
MCP连接外部工具和资源服务端信任、工具权限

MCP 服务端提供的工具描述也属于不可信输入。只允许白名单服务、最小权限凭据和明确的网络范围,并记录工具调用审计日志。

5. Computer Use 优先采用代码执行路径

OpenAI 当前文档建议 GPT-6 Astra 的计算机操作优先采用代码执行方式,让模型生成并运行 Playwright 等自动化代码;纯截图点击可作为兼容路径。无论哪种方式,都要把浏览器隔离在受限环境,限制文件系统、域名和凭据范围。

验证码、登录授权、支付、发布内容和不可逆操作应暂停并请求人工确认。页面文字和网页脚本可能包含提示注入,不能因为内容显示在浏览器里就把它当作可信指令。

6. 从 Chat Completions 迁移的检查表

  1. 把普通文本请求迁移到 input,确认响应解析不依赖旧字段。
  2. 逐个增加工具并为每个工具写成功、失败和超时测试。
  3. 设置最大工具轮次、总超时和幂等键,防止无限循环。
  4. 比较相同任务的总输入、输出、工具次数和完成率。
  5. 保留 GPT-5.6 或现有模型回退,但在日志中明确标记回退原因。

基础规格见 GPT-6 Astra 模型页;价格与 GPT-5.6 基础对比见 GPT-6 Astra API 指南;跨厂商选型见 GPT-6 Astra vs Fable 5.1

7. 先理解 Responses API 的输出对象

不要假设最终文本永远位于固定数组位置。一个响应可能同时包含 reasoning、web search、function call、MCP call 和 message 等不同 item。SDK 的 output_text 适合读取聚合文本,但 Agent 必须遍历 response.output,按 type 分支处理。

item type应用动作常见错误
message读取最终可见内容只取第一项导致漏掉答案
function_call校验参数,执行本地函数,返回 call_id模型生成参数后直接执行高风险动作
web/file search call保存来源和检索记录只保存文字,丢失引用证据
MCP call执行审批策略和权限检查默认信任远程工具描述
computer call在隔离环境执行并回传结果允许访问生产凭据和无限域名

8. 一个完整的 Function Calling 闭环

import json
from openai import OpenAI

client = OpenAI(base_url="https://www.codex789.com/v1")

tools = [{
    "type": "function",
    "name": "lookup_order",
    "description": "查询当前用户有权查看的订单",
    "parameters": {
        "type": "object",
        "properties": {"order_id": {"type": "string"}},
        "required": ["order_id"],
        "additionalProperties": False
    },
    "strict": True
}]

response = client.responses.create(
    model="gpt-6-astra",
    input="查询订单 A1024 的状态",
    tools=tools
)

outputs = []
for item in response.output:
    if item.type != "function_call":
        continue
    args = json.loads(item.arguments)
    result = lookup_order_authorized(args["order_id"])
    outputs.append({
        "type": "function_call_output",
        "call_id": item.call_id,
        "output": json.dumps(result, ensure_ascii=False)
    })

if outputs:
    response = client.responses.create(
        model="gpt-6-astra",
        previous_response_id=response.id,
        input=outputs
    )

print(response.output_text)

示例省略了超时、审计和异常处理。生产代码必须在调用本地函数前校验当前用户权限;同一个 call_id 不应重复执行有副作用的操作。

9. Web Search、File Search 与 MCP 怎么分工

Web Search

适合需要当前网页信息的问题。保存搜索调用、引用 URL 和发生日期;如果业务要求只允许官方域名,应在工具配置或应用层限制域名。

File Search

适合已经上传到 vector store 的内部资料。索引应按租户和环境隔离,检索结果必须继承原文档权限;“模型能搜到”不代表当前用户有权查看。

Remote MCP

MCP 把外部服务暴露成工具。上线前维护服务端白名单、允许工具列表和审批策略。对写操作使用逐次审批,对只读工具也要防范工具描述和返回内容中的提示注入。

三种工具不是互相替代:搜索公开网络、检索私有知识库、连接业务系统分别解决不同问题。

10. Computer Use 的生产边界

OpenAI 对 GPT-6 Astra 推荐代码执行方式:让模型编写 Playwright 等自动化代码,在受控环境中运行;截图点击方式主要用于兼容。无论哪种方式,都应在隔离浏览器中执行,限制可访问域名、下载目录、网络出口和凭据。

动作默认策略原因
读取公开网页可自动,但记录 URL便于审计和复现
登录或验证码暂停并人工接管涉及身份和凭据
发布、付款、删除强制人工确认不可逆或产生外部影响
下载并执行文件默认拒绝供应链与恶意文件风险
跨域访问内部系统白名单和最小权限避免越权和数据泄露

11. 错误码、重试与幂等

结果处理不要做
401/403停止请求,检查 Key、项目和工具权限盲目重试或切换随机密钥
404 / model not found确认模型 ID、渠道和开放状态自动替换成未记录的模型
429读取限流信息,有限指数退避无限快速重试
5xx/超时使用幂等键有限重试,记录 request ID重复执行付款、发送或删除工具
工具参数无效本地 schema 拒绝并返回结构化错误让工具函数猜测缺失字段

设置总超时、最大工具轮次和最大模型尝试次数。回退时记录原模型、错误、备用模型和最终 usage,确保账单与故障都可解释。

12. 上线验收清单

  • 日志包含 model、response ID、usage、工具类型、耗时和回退原因。
  • 敏感输入经过脱敏,日志和向量库按租户隔离。
  • 每个工具都有参数 schema、权限判断、超时和副作用说明。
  • 高风险动作在模型之外经过人工确认。
  • 测试普通文本、函数调用、搜索、文件检索、MCP、Computer Use 和失败回退。
  • 用固定样本比较 Chat Completions 与 Responses 的成功率和总成本。

如果渠道尚未开放某个内置工具,应明确返回“不支持”,而不是静默降级成普通文本回答。

官方来源:GPT-6 Astra modelMigrate to ResponsesFunction callingComputer useMCP and connectors,核对日期 2026-09-19。工具可用性以本站接口和账号权限为准。