GPT-6 Astra 原生支持异步工具调用,核心依赖 Responses API 与显式状态机;必须传 previous_response_id 维持上下文,Computer Use 类工具需额外配置代理与权限确认。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

GPT-6 Astra 原生支持异步工具调用,这不是附加功能,而是其核心执行模型的一部分。它把“调用工具→等待结果→继续推理”这个链路深度集成进 Responses API,不再依赖用户手动轮询或拼接多个请求。
必须用 Responses API
Chat Completions API 已被官方明确弃用,Astra 不再通过 function_call 字段返回工具请求。所有工具交互都统一为:
- 模型在
response.output中输出结构化工具调用指令(含工具名、参数) - 客户端解析后,异步发起真实工具调用(如 HTTP 请求、本地命令、浏览器操作)
- 将工具结果作为新输入,提交下一次
responses.create()请求
工具调用是状态驱动的
Astra 在执行中会显式进入 WAITING_TOOL 状态,而不是“卡住”或静默等待。你可以通过检查响应中的 state 字段判断当前阶段:
-
"state": "analyzing"→ 模型正在规划或生成代码 -
"state": "waiting_tool"→ 已发出工具调用请求,需你执行并回传结果 -
"state": "reviewing"→ 工具结果已收到,模型正在验证与决策
这种状态显式化让重试、超时、日志审计和中断恢复变得可操作。
实际调用要带上下文延续
不能把每次工具调用当成孤立请求。Astra 依赖 response.id 和 response.history_id 维持任务上下文。正确做法是:
- 首次请求带上
input和可选instructions - 后续请求必须传入
previous_response_id(即上一轮的response.id) - 工具结果以
tool_result字段提交,格式为:{"tool_name": "...", "result": {...}}
漏掉 previous_response_id 就等于重启任务,历史工具记录和中间状态全部丢失。
Computer Use 类工具需额外配置
如果启用屏幕识别、鼠标点击、终端执行等 Computer Use 能力,需在请求中声明:
- 设置
"tools": ["computer_use"] - 确保运行环境已部署配套的桌面代理(如 OpenAI 官方提供的
astra-desktop-agent) - 首次调用前,模型会要求确认权限范围(如“是否允许访问 Chrome”),该确认需由用户或预设策略自动处理
这类工具的结果不是纯文本,而是带截图、坐标、命令输出的复合对象,解析逻辑比普通 API 调用更复杂。

















