我們在 DevDay 推出了 ChatGPT 應用程式,讓你能以全新方式,將產品直接帶入 ChatGPT 對話。本文延續這次發布,為開發人員、產品經理和設計師提供實務指引,說明如何選擇合適的使用情境,並設計出上線後確實實用的應用程式。我們將著重說明,如何把產品優勢轉化為定義清楚、範圍明確的能力,讓模型能在各種對話中,根據不同的使用者意圖加以運用。如果你想了解最初的技術工作流程,可以直接參閱 Apps SDK 快速入門與開發人員文件。
我們將探討:
- ChatGPT 應用程式究竟是什麼,又不是什麼
- 應用程式能真正創造價值的三種方式
- 如何針對對話與探索需求進行設計
- 如何判斷你的應用程式是否真的有幫助
- 具體範例與螢幕擷取畫面建議
ChatGPT 應用程式究竟是什麼
團隊打造第一個 ChatGPT 應用程式時,往往會從這個想法出發:
「我們已經有產品了,就把它帶進 ChatGPT 吧。」
這通常意味著從現有的網頁或行動裝置體驗著手,試著將畫面、選單和流程改造成適合對話的形式。這種直覺很合理;多年來,「軟體」指的就是頁面、導覽與使用者介面架構。
然而,為 ChatGPT 打造應用程式,面對的是不同的使用環境。使用者不會「開啟」你的應用程式,再從首頁開始操作。他們正在針對某件事進行對話,而模型可以決定何時將應用程式帶入對話。使用者是在對話進行到某個時刻時,才開始接觸你的應用程式。 在這樣的環境中,最出色的應用程式從外表看來,規模往往小得令人意外。它們不會試圖重現整個產品,而是讓使用者在 ChatGPT 中使用應用程式時,取得幾項 特定能力 :也就是你的產品最擅長、模型也能在任何對話中重複運用的具體功能。
在 ChatGPT 之外,你的應用程式往往就是使用者的目的地。使用者會:
- 點選你的圖示
- 進入你的使用環境
- 學習你的導覽方式與使用者介面操作模式
大多數產品決策都源於這個假設:「整個畫面都由我們掌控。」使用者既然願意花時間待在你的產品裡,你就可以大力投入版面配置、新手引導與資訊架構。
在 ChatGPT 中,你的應用程式扮演不同的角色:
- 它是模型可以呼叫的一項 能力 ,既能提供上下文,也能提供視覺互動。
- 它會出現在進行中的對話 裡 。
- 它是模型可能協調運用的多項工具之一。
這表示,衡量價值的單位不再那麼著重於你提供的整體體驗,而更在於你能在適當時機,協助模型與使用者完成哪些具體事情。
從實務角度,可以這樣定義:
ChatGPT 應用程式是一組定義明確的工具,能夠執行任務、觸發互動或存取資料。
這意味著幾件事:
- 你不需要移植每一項功能。
- 你不需要完整的導覽層級。
- 但你 確實 需要清楚、精簡的 API:提供少數幾項容易呼叫,也方便延伸運用的操作。
你可以這樣想:當使用者遇到特定類型的問題時,你的 ChatGPT 應用程式就是模型會拿來使用的工具組。工具組的定義越精確,就越容易在對話過程中運用。
一旦你將應用程式視為「模型可以協調運用的能力」,而非「我們產品的迷你版」,設計決策就會更清楚。你開始問的是「我們在這裡能幫上什麼忙?」,而不是「使用者接下來該前往哪裡?」
創造實際價值的三種方式
任何應用程式構想,都可以用以下簡單標準來篩選:
- 知悉: 它能否讓使用者運用原本在 ChatGPT 中無法取得的新上下文或資料?
- 行動: 應用程式能否代表使用者採取實際行動?
- 呈現: 應用程式能否透過使用者介面呈現資訊,讓資訊比純文字更清楚,也更便於採取行動?
這些標準既適用於 「正經」 的生產力應用程式,也適用於遊戲這類 「純粹好玩」 的應用程式。遊戲或許無法幫人更快交出報告,但仍能完成基礎模型單靠自身難以做好的事情:維護具備狀態管理的遊戲邏輯、追蹤進度、落實規則,或呈現有趣的遊戲世界畫面。它的價值在於樂趣與投入感,但背後的模式相同。
1) 知悉新資訊
你的應用程式能在 ChatGPT 對話中提供新的上下文:
- 即時價格、供應狀況、庫存
- 內部指標、記錄、分析資料
- 專業、需訂閱才能存取,或特定小眾領域的資料集
- 使用者專屬資料(帳戶、歷史記錄、偏好設定、使用權益)
- 感測器資料、即時影像串流
實務上,這通常代表串接到能提供正確、即時且受權限控管資料的系統。應用程式成為模型在你所屬領域的「耳目」,也因此能更有根據地回答問題。
2) 採取新的 行動
你的應用程式能代表使用者採取行動:
- 在內部工具中建立或更新記錄
- 傳送訊息、工單、核准與通知
- 安排時程、預訂、下單或進行設定
- 觸發工作流程(部署、提報升級處理、同步資料)
- 進行互動遊戲(套用規則、推進回合、追蹤狀態)
- 在實體世界中採取行動(IoT、機器人控制等)
在這裡,應用程式與其說是權威資料來源,不如說是一雙能動手執行的手。它把使用者的意圖轉化為具體變更,落實到團隊日常使用的系統中;如果是遊戲,則會實際改變遊戲狀態,讓體驗保持一致且公平。到了這一步,你的應用程式才真正開始扮演智慧體的角色。
3) 更好的呈現方式
應用程式可以在 ChatGPT 對話中,透過圖形使用者介面呈現資訊,讓資訊更容易理解,或更便於採取行動:
- 精選清單、比較、排名
- 表格、時間軸、圖表
- 針對特定角色或決策提供的摘要
- 以視覺化或結構化方式呈現遊戲狀態(棋盤、物品清單、分數)
當使用者需要做出選擇或取捨時,這尤其有價值。應用程式能為模型提供一種表達結構的語言:透過含有欄、列、評分與視覺元素的小工具,配合人們實際做決定的方式;在遊戲中,則配合玩家理解自己在遊戲世界中「身在何處」的方式。
如果應用程式無法在 知悉/行動/呈現這三個面向中,至少有一項帶來明顯改善,使用者往往會覺得,它並未在 ChatGPT 原有能力之外提供更多價值。使用者或許不會直接抱怨,但無論應用程式用於工作還是娛樂,這都代表錯失了為使用者提供更有意義價值的機會。
以下範例展示應用程式如何改善使用體驗:
ChatGPT 的回答範例這個回答很有幫助,不過使用者可能希望透過具備額外能力的應用程式,直接瀏覽實際房源,而不必切換情境或離開對話。
搭配 Zillow 應用程式的回答
有了 Zillow 應用程式,使用者還能搜尋即時房源、依條件篩選,以及查看詳盡的房屋資訊,全程都不必離開對話。
透過全螢幕模式,享受更豐富的探索體驗
這樣的價值在於,你仍能取得模型提供的豐富上下文,同時享有更豐富、能依你的意圖動態回應的應用程式體驗。想請它尋找特定地區的房屋嗎?使用 Zillow 應用程式時,模型會呼叫 Zillow MCP 伺服器上的工具,並重新渲染 UI 層。
挑選能力,而非移植整個產品
常見的第一個念頭是列出產品的所有功能,然後問:「我們要如何把這些功能帶進 ChatGPT?」
乍看之下,這似乎很周全。但實際上,這通常會讓應用程式涵蓋的範圍過大、界線模糊,模型難以選用,使用者也難以理解。如果你很難用一句話說清楚應用程式能做什麼,模型也會更難理解它。
更有效的做法是:
-
列出使用者要完成的核心工作: 找出使用者想完成、而你的產品能協助實現的具體任務或成果。這些正是產品存在的初衷。從這裡出發,能讓你始終聚焦於使用者想達成的成果,而不是功能清單。
例如:- 協助使用者挑選房屋。
- 將想法化為精緻的簡報。
- 將意圖轉化為愉快的探索體驗。
- 將原始資料整理成清楚、可分享的報告。
-
針對每項工作,問自己:
「如果沒有應用程式,使用者在 ChatGPT 對話中有哪些事做不到?」
常見的答案包括:
- 存取即時或私人資料。
- 在我們的系統中執行實際操作。
- 取得使用者需要的結構化或視覺化輸出。
-
你的獨特價值會在這裡開始浮現。你思考的不再是「技術上,我們能開放哪些功能?」,而是「我們在哪些方面能提供獨有的幫助?」
-
將這些缺口轉化為少數幾個 命名清楚的操作。例如:
search_properties:傳回結構化的候選房屋清單。explain_metric_change:擷取相關資料,並摘要說明可能的影響因素。generate_campaign_variants:建立多個附帶中繼資料的廣告版本。create_support_ticket:建立支援工單,並傳回摘要與連結。
這些操作具備以下特點:
- 足夠具體,讓模型能有把握地選用
- 足夠簡單,能與對話中的其他步驟搭配
- 直接對應所提供的價值,而非涵蓋整個產品的功能版圖
也可以換個角度思考:如果團隊有人問:「這個應用程式有哪三件事是我們非做好不可的?」這三件事應該幾乎能與產品提供的能力一一對應。
例如,ChatGPT 中的 Canva 應用程式可以產生完整的簡報草稿,使用者也能進入全螢幕模式,以符合預期的方式瀏覽投影片。不過,若要逐張投影片進行更細緻的編輯,仍須使用完整的 Canva 編輯器。
為對話與探索而設計
你可以在 MCP 伺服器中定義 description,為模型提供上下文,讓它知道何時該呼叫你的工具,以及該透過哪些具體的工具呼叫來完成特定任務。這有助於將使用者意圖對應到工具的動作。
a) 模糊的意圖
幫我想想適合住在哪裡。
好的應用程式回應會:
- 運用對話串中已有的相關上下文。
- 必要時,最多問一到兩個釐清問題。
- 快速提供具體內容,例如列出幾個城市作為範例,並附上簡短說明。
使用者應該感受到事情已經有了進展,而不是被丟進一套多步驟的新手引導流程。如果得先回答五個問題才能看到有用的內容,許多人就會直接放棄。
來看看 Canva 應用程式如何處理這種情況:
製作一份完整的簡報需要上下文。Canva 應用程式會進一步提問,協助使用者整理出想製作的內容。
b) 具體的意圖
尋找西雅圖價格低於 $1.2M、有 3 間臥室,且鄰近評價良好小學的房屋。
這時,應用程式不應要求使用者重複已說過的內容,而應該:
- 解析查詢。
- 呼叫適當的能力。
- 傳回一組切合需求的結果,並以實用的結構呈現。
你仍然可以提供微調選項(「你比較在意通勤,還是學校評價?」),但這些選項應讓人覺得是可自由選擇的調整,而非必須完成的設定。
Canva 範例:
當使用者的意圖明確,並要求產生簡報時,模型就能確切知道何時該呼叫 Canva,以及該使用哪項能力。
如下所示,工具會提供幾個選項;如果使用者想進一步調整,也會深入詢問需求:
c) 不認識品牌
你不能假設使用者知道你是誰。
你的第一個實質回應應該:
- 用一句話說明應用程式的用途(「我會取得即時房源和學校評分,方便你比較各個選項。」)
- 立即提供有用的結果。
- 提供明確的下一步(「你可以請我依通勤、社區或預算縮小範圍。」)
把這視為冷啟動問題:你必須在一兩則訊息內,介紹你的應用程式 是什麼 、 為什麼 有幫助,以及 如何 使用。
同時為模型與使用者設計
你的設計需要面向兩種對象:
- 對話中的使用者
- 決定何時及如何呼叫應用程式的模型執行環境
大多數團隊都很熟悉如何為第一種對象設計,第二種則比較陌生。但如果模型無法理解你的應用程式能做什麼、該如何使用,你為使用者設計的體驗就很少有機會派上用場。
還有第三個同樣重要的面向: 模型呼叫應用程式時,哪些使用者資料會流經應用程式。 良好的應用程式設計不僅要有明確的能力,也要審慎決定索取 哪些資料 ,以及 如何 使用這些資料。
-
清楚且具描述性的動作與參數: 讓模型一看就知道何時適合使用你的應用程式,以及如何呼叫。使用直觀的名稱(
search_jobs、get_rate_quote、create_ticket),並明確說明哪些參數為必填、哪些為選填,以及各自的格式。模糊不清會增加路由判斷的負擔。 -
將隱私保護納入設計: 只要求提供真正需要的欄位。避免使用將資料整包收進來、連多餘上下文也一併收集的參數。優先採用最少量的結構化輸入,不要使用「直接傳送整段對話」之類的指示。
-
可預期的結構化輸出: 保持結構描述穩定,並包含 ID 和清楚的欄位名稱。將簡短摘要(「三個符合你預算與通勤時間的選項」)搭配便於機器處理的清單(
[{id, address, price, commute_minutes, school_rating, url}, …])。這樣模型就能自然地交談,同時保留精確引用資料的方式。 -
審慎決定哪些內容 不 回傳: 不要以「以備不時之需」為由,附上敏感的內部資訊。避免讓 Token 或機密資訊出現在使用者可見的內容中。不需要保留完整細節時,應遮蔽敏感部分或彙整資料。
-
明確說明收集哪些資料及其原因: 只索取完成任務所需的最少資訊。如果需要敏感資訊或權限(例如帳戶存取權),請用一句話說明原因。設計動作和結構描述時,應讓人一眼就能看出哪些資料會傳送到哪裡。
為生態系設計,而非打造封閉系統
實際使用 ChatGPT 時,你的應用程式很少會是唯一參與其中的應用程式。模型可能會在同一段對話中呼叫多個應用程式。
對使用者來說,這是一個連貫的流程。對你來說,這提醒了你:你的應用程式是生態系的一部分,而不是封閉的產品。
這在實務上代表幾件事:
-
讓動作的 範圍小而聚焦
search_candidates、score_candidates、send_outreach- 而不是單一的
run_full_recruiting_pipeline。
-
讓輸出 易於傳遞給後續步驟
- 使用穩定的 ID、清楚的欄位名稱和一致的結構。
- 避免只將重要資訊埋在自由格式的文字中。
-
避免冗長、只能一路走到底的流程
- 完成你負責的部分後,就把控制權交還給對話。
- 讓模型決定下一步應由哪個工具處理。
如果其他應用程式(或你自己的應用程式未來版本)能輕鬆運用你的輸出繼續處理,你就能受益於生態系其他部分的進步,而不必與之競爭。
快速檢查清單
以下是開發前後都可使用的簡短檢查清單:
-
1. 新能力
- 你的應用程式是否明確帶來新的資訊、可執行的動作或呈現方式?
- 如果應用程式停止運作,目標情境中的使用者會察覺嗎?
-
2. 聚焦的功能範圍
- 你是否挑選了少數幾項能力,而非複製整個產品?
- 這些能力的名稱與範圍,是否能清楚對應使用者實際想完成的任務?
-
3. 初次互動
- 你的應用程式是否能妥善處理模糊與具體的提示詞?
- 新使用者是否能從第一則有實質內容的回覆中,了解應用程式的用途?
- 他們是否能在第一輪對話就感受到價值?
-
4. 便於模型使用
- 動作與參數是否清楚明確、沒有歧義?
- 輸出是否具備足夠的結構與一致性,便於串接及重複使用?
-
5. 評估
- 你是否準備了一組規模小但經過仔細設計的測試集,涵蓋正向、負向與邊界案例?
- 相較於 ChatGPT 未使用應用程式時的回答,你是否大致了解應用程式所提供回答的勝率?
-
6. 與生態系的契合度
- 其他應用程式和使用者是否能順利運用你的輸出繼續處理?
- 你是否願意成為多個應用程式串接流程中的一環,而非包辦整段使用歷程?
你不必等到每個面向都完美才推出產品。但如果上述大多數問題的答案都是「是」,你就不只是把產品放進 ChatGPT,而是讓 ChatGPT 在你的領域中真正發揮作用。這也正是這些應用程式開始讓人覺得不可或缺的時候。