OpenAI GPT Actions 生产注意事项

2026-11-09 16:03 更新

速率限制

考虑在暴露的 API 端点实现速率限制。ChatGPT 会遵循 429 响应;如果短时间内收到一定数量的 429 或 500 响应,会动态退避,减少向该 Action 发送请求。

超时

Actions 调用 API 时,往返时间超过 45 秒会超时。

使用 TLS 与 HTTPS

Action 的全部流量必须使用 TLS 1.2 或更高版本,通过 443 端口,并具有有效的公有证书。

出站 IP 范围

ChatGPT 会从公布的 IP 范围调用 Action。可以考虑将这些地址明确加入允许列表。

多种认证方式

定义 Action 时,可以将一种认证方式(OAuth 或 API 密钥)与不要求认证的端点组合使用。

详见 Actions 认证。

OpenAPI 描述限制

OpenAPI 描述有以下限制,具体数值可能变化:

  • 每个 API 端点的 description/summary 字段最多 300 个字符。
  • 每个 API 参数的 description 字段最多 700 个字符。

其他限制

构建 Actions 时还应注意:

  • 不支持自定义请求头。
  • 除 Google、Microsoft、Adobe 的 OAuth 域名外,OAuth 流程中的全部域名必须与主要端点使用的域名相同。
  • 请求载荷和响应载荷各自必须少于 100,000 个字符。
  • 请求会在 45 秒后超时。
  • 请求与响应只能包含文本,不能直接包含图像或视频。

具有实质影响的操作标记

可以在 OpenAPI 描述中,将某些端点标为具有实质影响(consequential)的操作:

来源示例 1(yaml):

## [中文] GET读取待办;POST修改待办并显式标记为具有实质影响,要求按GPT Actions的确认机制处理。
paths:
  /todo:
    get:
      operationId: getTODOs
      description: Fetches items in a TODO list from the API.
      security: []
    post:
      operationId: updateTODOs
      description: Mutates the TODO list.
      x-openai-isConsequential: true

例如,替用户预订酒店并付款,属于具有实质影响的操作。

  • x-openai-isConsequential: true:ChatGPT 必须在每次运行前请求用户确认,不显示 Always allow(始终允许)按钮。这些 GPT 功能让构建者和用户更好地控制操作。
  • x-openai-isConsequential: false:显示“始终允许”按钮。
  • 未提供此字段时,GET 操作默认为 false,其他操作默认为 true。

编写说明与示例的最佳实践

编写 GPT 指令、Schema 描述及设计 API 响应时,可遵循以下建议。

  1. 不要鼓励 GPT 在用户未提出相应服务需求时主动使用 Action。

不佳示例:“只要用户提到任何任务,就询问是否使用 TODO Action 将其加入待办清单。”

较好示例:“TODO 清单支持添加、删除和查看用户的待办事项。”

  1. 不要规定 GPT 调用 Action 的特定触发话术。ChatGPT 会在合适时自动使用 Action。

不佳示例:“用户提到任务时,回答‘需要加入待办清单吗?请说yes继续。’”

较好做法:无须为此添加指令。

  1. 除非确有必要,API 应返回原始数据,而不是自然语言回答。GPT 会根据返回数据自行组织回答。

不佳示例:“我找到了你的待办清单!有两项:买食品、遛狗。如果你愿意,我还可以添加更多!”

较好示例:{ "todos": [ "get groceries", "walk the dog" ] },即用结构化数据返回两项待办。

GPT Action 数据如何使用

GPT Actions 将 ChatGPT 与外部应用连接起来。用户与自定义 Action 交互时,ChatGPT 可能将部分对话发送到该 Action 的端点。

遇到问题或其他限制,可到 OpenAI 开发者论坛讨论。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号