OpenAI Presence:把企业级语音与聊天智能体接入真实工作流

2026-07-22 39 预计阅读时间: 1 分钟
来源: openai.com AI 摘要 Original link

Disclaimer: This article is an AI-assisted summary. Read it together with the original source when precision matters. The summary may omit context, version differences, or edge cases and is not official documentation.

预计阅读时间:9 分钟

OpenAI Presence 面向企业提供语音与聊天智能体平台,重点不是做一个孤立的对话演示,而是让组织能够在客户服务和内部流程中部署可信的智能体。对工程团队而言,真正的挑战也从“模型能否回答问题”转向身份认证、系统集成、人工接管、审计和持续评估。

平台价值在工作流,而不只在对话界面

企业智能体需要在多个系统之间完成闭环。例如,客服智能体可能要识别客户意图、查询订单、解释政策,并在权限不足或风险过高时转交人工坐席;内部智能体则可能处理 IT 支持、人力资源问答或业务审批。

这类场景通常包含四层能力:

  • 交互层:同时承载语音和聊天,让用户通过自然语言发起请求。
  • 知识层:连接经过授权的企业文档、政策和业务数据。
  • 动作层:调用 CRM、工单、订单或身份系统,而不只是生成文本。
  • 治理层:限制智能体可以读取和修改的数据,记录调用过程,并提供人工接管机制。

Presence 的定位说明,企业级智能体平台需要把这些环节作为一个整体处理。“可信”不能只靠系统提示词实现,它还依赖服务端权限校验、明确的工具边界、可追踪的操作记录和稳定的升级路径。

语音与聊天应该共享同一套业务规则

语音和聊天的输入形式不同,但不应维护两套互相漂移的业务逻辑。更稳妥的设计是把渠道适配与工作流执行分开:语音层负责转写和播放,聊天层负责消息收发,两者都把规范化后的请求交给同一个策略与工具执行层。

例如,“取消订单”无论来自电话还是聊天窗口,都应该经过相同的身份确认、订单状态检查和退款权限判断。语音渠道还要额外处理打断、静音、识别失败和延迟,但这些交互问题不能绕过后端规则。

可以用如下结构组织接入层:

voice/chat channel
        |
        v
conversation adapter
        |
        v
policy + identity checks
        |
        v
approved business tools
        |
        +----> audit log
        +----> human handoff

可以这样实践:先建立受控的工具网关

由于摘要没有给出 Presence 的具体 SDK 或接口,下面是一个可运行的通用适配示例,假设智能体平台把已经结构化的工具请求发送到企业 webhook。它演示了服务端白名单、必填字段检查、只读查询和人工转接;接入真实平台时,需要替换请求签名验证和后端数据源。

安装并启动:

python -m venv .venv
. .venv/bin/activate
pip install flask
export AGENT_WEBHOOK_TOKEN='replace-with-a-long-random-secret'
python app.py

创建 app.py

import os
from flask import Flask, jsonify, request

app = Flask(__name__)
TOKEN = os.environ["AGENT_WEBHOOK_TOKEN"]

# 示例数据;生产环境应改为带权限控制的订单服务。
ORDERS = {
    "ORD-1001": {"status": "shipped", "customer_id": "C-42"},
    "ORD-1002": {"status": "processing", "customer_id": "C-42"},
}


def authorized(req):
    return req.headers.get("Authorization") == f"Bearer {TOKEN}"


@app.post("/agent/tools")
def run_tool():
    if not authorized(request):
        return jsonify({"error": "unauthorized"}), 401

    payload = request.get_json(silent=True) or {}
    tool = payload.get("tool")
    arguments = payload.get("arguments", {})
    actor = payload.get("actor", {})

    if tool == "get_order_status":
        order_id = arguments.get("order_id")
        customer_id = actor.get("customer_id")
        order = ORDERS.get(order_id)

        if not order or order["customer_id"] != customer_id:
            return jsonify({"error": "order_not_found"}), 404

        return jsonify({"order_id": order_id, "status": order["status"]})

    if tool == "request_human_handoff":
        reason = arguments.get("reason", "agent_requested")
        return jsonify({
            "status": "queued",
            "queue": "customer_support",
            "reason": reason,
        })

    return jsonify({"error": "tool_not_allowed"}), 403


if __name__ == "__main__":
    app.run(host="127.0.0.1", port=8080)

用下面的命令验证只读订单查询:

curl -s http://127.0.0.1:8080/agent/tools \
  -H "Authorization: Bearer replace-with-a-long-random-secret" \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "get_order_status",
    "actor": {"customer_id": "C-42"},
    "arguments": {"order_id": "ORD-1001"}
  }'

预期响应为:

{"order_id":"ORD-1001","status":"shipped"}

这个示例刻意不允许智能体直接取消订单或发起退款。团队可以先开放低风险、可回滚的只读工具,再逐步增加写操作。涉及付款、账户权限、医疗信息或人事决策时,应增加强身份验证、幂等键、二次确认和人工审批。

上线前要测的是完整任务

只检查回答是否流畅,会掩盖企业工作流中最危险的问题。评估集应覆盖正常路径、拒绝路径和升级路径,并分别观察语音与聊天渠道。

建议至少记录这些指标:

  • 任务完成率,而不是单轮回答满意度。
  • 未授权工具调用和越权数据访问次数。
  • 转人工成功率、排队时间以及上下文是否完整传递。
  • 语音识别失败、用户打断和长时间静默的恢复情况。
  • 工具调用延迟、失败率和重复写入次数。
  • 不确定信息是否被明确标记,而不是被智能体补全成事实。

生产日志还应区分用户原始输入、模型决定、工具参数和工具结果。敏感字段需要脱敏,并设置符合组织政策的保留周期。日志越详细,隐私和访问控制责任也越大。

采用建议:从窄流程开始建立信任

Presence 所代表的平台化方向,适合希望把语音和聊天智能体投入真实业务的组织,但平台本身不能替代流程治理。首个项目应选择边界清楚、数据权限明确、能够人工兜底的场景,例如订单状态查询、内部 IT 知识问答或工单分流。

上线前可以用一份简短清单做闸门:工具是否采用最小权限,所有写操作是否可审计,失败后是否有确定的人工入口,语音和聊天是否执行同一套政策,以及评估结果是否达到事先约定的阈值。满足这些条件后再扩大工具权限和用户范围,比一次性追求全自动更容易形成可持续的企业智能体能力。


相关推荐