掘金 人工智能 10月25日 03:02
OpenAI Apps SDK:赋能ChatGPT调用应用与自定义UI
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文深入探讨了OpenAI新推出的Apps SDK,旨在让开发者能够将服务、数据或系统能力无缝接入ChatGPT。通过引入模型上下文协议(MCP)这一Function Calling的标准化继任者,Apps SDK使得ChatGPT不再局限于聊天机器人,而是能够直接调用开发者业务逻辑,并能返回自定义UI组件,突破了纯文本交互的局限。文章详细阐述了MCP服务器的核心作用,即列举工具、调用工具以及返回自定义UI,并解释了ChatGPT如何通过命名提及、会话探索和目录选择等方式发现和调用应用。此外,还提供了优化应用被发现概率的建议,以及Apps SDK在功能层和界面层面的关键能力,预示着大模型可能成为下一个APP应用市场和流量入口。

🚀 **Apps SDK赋能ChatGPT调用外部服务**:OpenAI的Apps SDK允许开发者将自身服务、数据或系统能力直接接入ChatGPT。通过模型上下文协议(MCP),ChatGPT能够理解并调用这些外部服务,打破了传统智能助手仅能打开应用的局限,使其成为一个能够执行复杂业务逻辑的入口。

💡 **MCP服务器是关键桥梁**:MCP(Model Context Protocol)是Function Calling的标准化升级,它定义了服务接入ChatGPT的规范。MCP服务器的核心作用包括:列举可用的工具(如创建会议、查询航班等)及其参数,执行模型推理后的工具调用,以及返回结构化的工具执行结果和自定义UI组件,确保ChatGPT与外部服务的高效、有序交互。

🖥️ **自定义UI打破纯文本限制**:Apps SDK的“Custom UX”能力允许开发者在ChatGPT内嵌自定义交互界面,如表格、图表、地图或表单。这解决了纯文本交互在表达力和交互性上的不足,提升了用户体验,使得ChatGPT能够更直观、丰富地展示工具的输出结果,并支持更复杂的交互操作。

🔍 **多维度提升应用发现与调用概率**:ChatGPT通过命名提及(直接提及应用名称)、会话探索(基于对话上下文、名词提及、工具元数据和用户关联状态动态评估)以及用户从目录中选择等方式来发现和调用应用。开发者可以通过优化提示词的“行动化”程度、精准描述工具元数据以及在开发者模式中进行测试来提高应用的触发率。

🌐 **预示下一代应用入口**:Apps SDK的推出被认为是OpenAI的重大战略举措,它不仅为开发者提供了新的技术框架,更可能催生下一个APP应用市场和主要的流量入口。大模型作为用户与服务交互的全新界面,将深刻改变应用的生态和用户获取服务的方式。

背景

这个月,OpenAI举办了其年度开发者大会,由于我们的产品正在逐步使用AI的相关功能,老板很重视这个发布会,让我研究一下此次发布会的两个重点APP SDK和AgentKit,并让我准备一个分享会。

上文中已经介绍了一些关于AgentKit的一些内容,本文主要是在我资料收集中总结的一些内容(分享会上包括一些实操这里没有贴)。此篇文章主要介绍Apps SDK的相关介绍,主要是基于官方文档,概念性的东西比较多,文中也贴了一些链接,我尽量以AI概念小白能够看懂的方式去描述。

前言

现在其实很多的手机智能助手并不能直接使用APP帮我做一些东西,除了不够智能,不够了解我的意图以外,比如我的siri,除了让他打开某个软件之外,他无法对软件内部做任何操作,本质就是我们的应用没有向他暴露接口或者其他可以操作APP的能力,他无法通过我们的意图来访问我们的应用来帮我操作。

Apps SDK

Apps-SDK 是 OpenAI 最近推出的一套工具开发框架,它让开发者能够把自己的服务、数据或系统能力,直接接入 ChatGPT。简单来说,它让 ChatGPT 不只是一个聊天机器人,而是一个可以直接调用你自己业务逻辑的入口

官方文档链接:

developers.openai.com/apps-sdk/co…

此工具的推出,被各个分析博主称为OpenAI最大的野心,因为其直接让Chatgpt拥有了访问应用的能力,以后我们的手机助手将会变的越来越智能,并且根据我们的使用习惯,不断优化。其也让接入Chatgpt的APP的应用有了巨大的流量入口,毕竟Chatgpt拥有全球每周8亿的活跃用户,上一个提供这种流量入口的还是微信的小程序。咱就不多吹了,主要分析其应用。感兴趣的可以看一下这个视频[www.xiaohongshu.com/explore/68e…]

三个概念

MCP服务器

什么是MCP

MCP,全称 Model Context Protocol,是 OpenAI 在 2024 年 11 月 推出的一个新的开放协议。
它是 Function Calling 的 继任者与标准化版本

简单来说,MCP就是一种规范,类似于前后端对接的规范一样,你的服务得实现得符合MCP协议,Agent才会认识你,并且调用你的服务。什么是模型上下文协议(MCP)?它如何比传统API更简单地集成AI?

Agent的一些概念可以看一下这些文章:

MCP服务器做了什么

使用Apps SDK的主要提供了两个作用:

    列举工具,调用工具:这里的工具就是Agent概念里面的tool,可以是联网搜索的功能, 某个文件的查询, 三方软件的服务, 如美团航班查询,谷歌email服务,或者你自己的提供的服务MCP规范的接口。返回自定义的UI组件:由于大模型默认返回的格式都是md文件格式,如果要实现比如图表,表格,表单等内容,需要我们自定义,并且返回给大模型,这样就可以在聊天框显示我们需要的样式。
┌──────────────────────┐│  ChatGPT App / 用户交互 │└──────────────┬──────┘               │               │ 用户输入(例如:“创建会议”)               ▼        ┌──────────────────┐        │   Apps SDK 客户端 │        │(嵌入于 mcp sersver)│        └──────────────────┘               │               │ ① List tools               │   → 请求 MCP Client 提供工具清单               ▼┌────────────────────────────────────────┐│           MCP server                 ││ ┌───────────────────────────────────┐ ││ │ 1️⃣ 列出工具 (list_tools)          │ ││ │  - 返回工具列表 + JSON Schema       │ ││ │  - 如:create_meeting, search_flight│ ││ └───────────────────────────────────┘ ││                                       ││ ┌───────────────────────────────────┐ ││ │ 2️⃣ 调用工具 (call_tool)            │ ││ │  - Apps SDK 发送 call_tool 请求     │ ││ │  - 携带参数(来自模型推理)          │ ││ │  - MCP Server 执行实际动作           │ ││ │  - 返回结构化结果(JSON 可解析)     │ ││ └───────────────────────────────────┘ ││                                       ││ ┌───────────────────────────────────┐ ││ │ 3️⃣ 返回组件 (return_components)     │ ││ │  - 工具可提供一个 UI 界面资源链接     │ ││ │  - ChatGPT 客户端可嵌入渲染          │ ││ └───────────────────────────────────┘ │└────────────────────────────────────────┘               ▲               │               │ 响应(structured content + UI component)               ▼        ┌──────────────────┐        │   Apps SDK 客户端 │        └──────────┬───────┘                   │                   │ 渲染结果或执行下一步 reasoning                   ▼         ┌────────────────────┐         │ ChatGPT App / 用户 │         └────────────────────┘

随便画的简图

mcp服务作为一个桥梁,让chatgpt知道调用我们的哪个接口,哪个服务。

Apps-sdk作为一个工具,让我们快速建立一个mcpServer

用户交互

当Chatgpt中有多个类似的应用时,Chatgpt怎么知道要调用你的服务?

官方的解释如下developers.openai.com/apps-sdk/co…

Discovery(发现)

一、命名提及(Name Invocation)

最直接的方式。
当用户在对话中明确提到你的应用名称时,模型会自动识别并在响应中调用该应用。

例子:
用户说「帮我用 任务助理 查一下今天的任务」,ChatGPT 会立即调用你注册的 “任务助理” 应用。

二、会话探索(Conversation Exploration)

如果用户一开始没有提到你的应用名称,模型会在用户发送 Prompt 时动态评估,决定是否调用。
这个评估过程综合了以下几个维度:

    对话上下文
    包括聊天历史、已使用的工具结果、用户记忆、偏好等。

例如:之前用户聊过“任务管理”,模型会倾向再次使用“任务类”工具。

    名词提及与引用
    模型会分析 Prompt 中的名词(例如“谷歌”、“美团”),判断是否与某个应用相关。
    若你的 App 在搜索结果中频繁被引用,也会提升触发概率。工具元数据(Metadata)
    也就是你在 MCP 服务中提供的名称、描述、参数说明。
    元数据清晰准确,会显著提高模型理解你工具用途的可能性。用户关联状态(User Linking)
    模型会判断用户是否已连接或授权你的 App,若未授权,ChatGPT 会提示连接后再使用。
三、使用目录进行选择(Directory Invocation)

如果用户主动从 ChatGPT 的App 目录中选择你的应用,则会直接建立交互。
这是一种显式触发方式,常用于用户已经了解应用功能的场景。

如何提高你的 App 被发现和调用的概率?

要让 ChatGPT 更“聪明地”找到并使用你的服务,可以从以下几个方向优化:

1. 让提示词更“行动化”

模型对行动导向的请求反应更灵敏。
例如,不要问「你知道任务什么时候过期吗?」
而要说「帮我查一下这个任务什么时候过期」。
这样模型更容易判断需要调用“任务查询类”App。


2. 优化工具描述(Metadata)

在工具元数据中,用自然语言准确描述工具行为和输出形式
例如:

“这个工具会展示一个任务列表表格,用户可以点击查看详情。”

模型在理解元数据时,会建立“用途-表现”映射,从而更精准地匹配场景。

3. 定期在开发者模式中测试

OpenAI 为开发者提供了 ChatGPT 的开发者模式(Developer Mode)
你可以在其中测试模型的应用发现行为:

通过测试和迭代描述,你能逐步提高模型的理解能力和触发率。

应用设计指南

我的理解是,这个部分主要是定义了一些规范以及建议,如何让你的应用能够更好的嵌入到Chatgpt中这里不做过多解释了,可以直接看原文developers.openai.com/apps-sdk/co…

如何让Chatgpt展示我们自己的UI页面

这部分就是文章一开始的时候介绍的,如何让Chatgpt能够更好的展示我们自己的AI页面的能力。

过去,我们和 ChatGPT 互动的方式非常单一:
——你输入一句话,它输出一段文字。
这是一种 对话式接口(conversational interface)

但是,当我们在 ChatGPT 里使用工具(tools)或调用外部系统时,这种“纯文本交互”逐渐暴露出几个明显的局限:

    表达力不够
    比如一个订票工具、地图搜索、报表生成器,只用文字展示结果太粗糙。
    用户想看到「列表」「图片」「图表」「地图」「状态」等结构化结果。交互性不足
    文本交互意味着用户每一步都要“说出来”,无法直接点击或滑动操作。
    想要调整筛选条件、修改结果、刷新内容,都要重新输入指令。缺乏视觉一致性
    不同工具输出风格各异,体验割裂;
    有的返回 JSON、有的返回 markdown、有的返回图片链接,用户体验不统一。上下文难管理
    模型生成的结果是静态的文本,无法维持可持续交互或状态同步。
    比如“选中某个结果再进一步操作”,在纯对话模式下非常别扭。

于是,OpenAI 推出了 Apps SDK 中的 “Custom UX” 能力
它让开发者可以在 ChatGPT 内嵌自己的交互界面——
一个可以显示数据、接受操作、触发事件的“小应用”,真正让 ChatGPT 成为一个“界面容器”。

总结

我认为APPS SDK的对于开发者,两个大的能力其实就是功能层面页面层面上的

层级作用举例
功能层(Action 层)定义工具逻辑、参数和响应(MCP Server 部分)查询任务列表、创建会议、获取报表
界面层(UI 层)定义结果如何被 ChatGPT 渲染展示表格、卡片、图表、按钮、输入框等

但是其推出的实际意义要更大于我们着眼的开发的意义,或许下一个APP的应用市场,下一个APP的流量入口就会从大模型这里爆发。

参考

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

OpenAI Apps SDK ChatGPT MCP AI 开发者工具 应用集成 自定义UI 模型上下文协议 智能助手 OpenAI Apps SDK ChatGPT Integration AI Development Custom UI MCP Protocol
相关文章