▲ 图注:用户说「I'm looking for a Barista job in Austin」,Indeed 的 MCP App 在对话里排出一排可横向滑动的职位卡片(如 Carpenter Hotel、Marriott International 的咖啡师岗),每张列出薪资、工作类型、办公形式和摘要,底部是 Apply on Indeed 按钮和 View details 链接。
▲ 图注:黑箱的后果:用户追问「Tell me about the first result」「Which of these are in-person?」「Please rank the companies」,模型只能回「???」「Huh?」「IDK」,因为界面上显示了什么,它一无所知。
▲ 图注:一个 get-time 示例工具的注册代码:箭头标出 _meta.ui.resourceUri 是「Path to UI」(把工具连到它的界面资源),返回值里的 structuredContent 是「Data as structuredContent」,也就是给模型的那份数据。
▲ 图注:MCP Apps 文档里的购物车例子:把商品数、总价、币种和购物车里的每件商品拼成一段 markdown 文本,高亮处用 app.updateModelContext 把它推回给模型。
▲ 图注:规则三的落地:原来的 search_jobs(title, location) 拆成两个工具,search_jobs(title, location) 只管搜,render_jobs_widget(job_ids) 只管画,描述里注明「Always call search_jobs first」。
▲ 图注:收尾幻灯片「Key Takeaways for MCP Apps」只有两行:Focus on the data before the UI(先关注数据,再关注界面),Small, composable tools(小而可组合的工具)。
本期为大会演讲,无问答环节。Dustin 比预定时间提前几分钟讲完,说自己没有展位,会在走廊里转悠,欢迎有问题的人去找他。→ 详细
片中未念出具体账号,只说在大多数社交平台上,他的账号要么是他的姓,要么是名字首字母加姓。→ 详细 视频简介附讲者主页 dmihalik.com。