目標先講清楚:
分析OpenAI Apps SDK,了解OpenAI Apps SDK是怎麼使用MCP當作跟其他Apps交互的protocol
將3個角色整理成表格:
角色 | 主要任務 | 何時(觸發時點) |
---|---|---|
App(MCP Server) | 註冊工具與元件資源;執行工具邏輯並回傳結構化結果 | ① 系統啟動時註冊 tool /元件 ② 被 ChatGPT 呼叫工具時執行 |
ChatGPT(Host/LLM) | 決策是否使用工具;作為 MCP client 呼叫 App;載入元件到沙盒並注入資料/事件 | ① 使用者輸入後模型判斷需要工具 ② 使用者從 +Launcher 啟用 App ③ 沙盒元件主動 callTool 時 |
OpenAI Sandbox(iframe 元件) | 在沙盒中渲染 UI;讀取 Host 注入的資料;可把互動回送給 Host | ① 元件載入/重繪時 ② 使用者在元件中互動(點擊、拖曳、切換) |
心得:
原本以為可以直接使用App原先的元件,沒想到是App提供元件代碼和MCP server,在這樣的狀況下,等於讓App開發者多了需要另外維護更新的部分。
OpenAI在OpenAI-Structured-output-samples-generative-ui-Github有分享將結構化輸出渲染成組件的方式;
包含3種組件 - 包含:card、table、bar_chart、carousel;對於想在chat window呈現圖表可參考.
回到context,透過分析Manus ai的文章,探討為什麼有些agent可以調用幾十個以上的tools
1.OpenAI Apps SDK
2.OpenAI-Structured-output-samples-generative-ui-Github