OpenAI重磅升级:Responses API引入WebSocket模式,复杂任务性能提升40%

OpenAI 发布了一项针对长时间运行、大量工具调用场景的重要更新:Responses API 现已支持 WebSocket 模式。

OpenAI重磅升级:Responses API引入WebSocket模式,复杂任务性能提升40%

此功能专为需要频繁进行模型-工具交互的工作流设计,例如代码自动化或需要反复调用工具的智能体编排任务。

核心改进:从对话到关系

核心改进在于连接方式的转变。在传统的 HTTP 模式下,每次交互都需要重新发送完整的上下文,如同每次通话都需重新自我介绍。而 WebSocket 模式则能保持持久连接,只需发送新的输入内容和 previous_response_id,从而大幅减少了重复传输的开销。

建立连接的方式如下:

from websocket import create_connection
import json
import os

ws = create_connection(
    "wss://api.openai.com/v1/responses",
    header=[
        f"Authorization: Bearer {os.environ['OPENAI_API_KEY']}",
    ],
)

# 发送初始请求
ws.send(
    json.dumps({
        "type": "response.create",
        "model": "gpt-5.2",
        "store": False,
        "input": [{
            "type": "message",
            "role": "user",
            "content": [{"type": "input_text", "text": "分析这个代码文件"}],
        }],
        "tools": [{"type": "code_interpreter"}],
    })
)

后续交互仅需发送增量数据:

# 继续对话,只发送新内容
ws.send(
    json.dumps({
        "type": "response.create",
        "model": "gpt-5.2",
        "store": False,
        "previous_response_id": "resp_123",
        "input": [
            {
                "type": "function_call_output",
                "call_id": "call_456",
                "output": "发现3个性能瓶颈",
            },
            {
                "type": "message",
                "role": "user",
                "content": [{"type": "input_text", "text": "给出优化方案"}],
            },
        ],
        "tools": [],
    })
)

性能提升数据

性能提升数据非常直观:对于涉及 20 次以上工具调用的复杂任务,端到端执行速度可提升 20% 至 40%。这种提升源于连接级的内存缓存机制,服务器会在内存中保留最近一次响应的状态,避免了重复的状态重建工作。

此模式特别适合需要多轮工具调用的场景,例如代码重构流程:分析代码 → 发现问题 → 生成修复方案 → 应用修改 → 验证结果。每一步都只需发送增量数据。

技术细节和限制

在技术细节上,WebSocket 模式兼容零数据保留(ZDR)和 store=false 设置,这对隐私敏感的应用至关重要。连接限制为 60 分钟,超时后需要重新建立连接:

# 处理连接超时
try:
    response = ws.recv()
except Exception as e:
    if "connection_limit_reached" in str(e):
        # 重新建立连接
        ws = create_connection(
            "wss://api.openai.com/v1/responses",
            header=[f"Authorization: Bearer {os.environ['OPENAI_API_KEY']}"]
        )

若需并行处理,目前尚不支持多路复用,需要建立多个连接。这意味着如果有多个独立的智能体任务,每个任务都需要单独的 WebSocket 连接。

行业影响

值得注意的是,此次更新还提及了与 Open Responses 规范的关系。Open Responses 是一个开源项目,旨在为不同 LLM 提供商建立统一的 API 标准,并已获得 Vercel、Hugging Face、Databricks 等公司的支持。

从社区反馈来看,开发者对此功能感到兴奋,尤其是那些正在构建复杂智能体系统的开发者。不过,也有人指出这可能会增加供应商锁定的风险,因为状态管理增加了迁移成本。

对于大多数简单的对话场景,此功能可能并非必需。但如果你正在构建需要大量工具调用的智能体,例如代码审查助手、数据分析流水线或复杂的业务流程自动化,那么这项更新值得关注。

参考资料:
* OpenAI WebSocket Mode 官方文档:https://developers.openai.com/api/docs/guides/websocket-mode
* Open Responses 规范:https://www.openresponses.org/


关注“鲸栖”小程序,掌握最新AI资讯

本文来自网络搜集,不代表鲸林向海立场,如有侵权,联系删除。转载请注明出处:https://www.itsolotime.com/archives/22670

(0)
上一篇 1天前
下一篇 18小时前

相关推荐