场景输入和输出
场景输入定义场景启动时可以接收的数据,场景输出定义执行完成后可以返回的数据。它们共同构成场景与调用方之间的数据契约:调用方知道应提供哪些字段,也知道可以从结果中读取哪些字段。
在场景构建器中,可以通过工具栏上的 Scenario inputs and outputs 入口查看和配置这些字段。界面用语可能随版本调整,实际操作请以当前 Make 界面和官方文档为准。
输入和输出如何流动
在父场景调用子场景的常见流程中,三个 Scenarios 模块各自承担不同职责:
如果父场景采用异步调用,它不会等待输出,也不应把后续逻辑建立在尚未返回的结果上。需要返回结果时,应使用同步调用,并确保每条可能的结束路径都提供兼容的输出结构。
哪些场景需要数据契约
输入和输出适用于需要被其他系统调用的场景,包括:
这些入口的认证方式、可用范围和调用行为并不完全相同。输入和输出只描述数据交换,不能替代调用方认证、权限控制、错误处理或人工审批。
选择合适的数据类型
字段类型应尽量具体。普通文字使用 Text,数值使用 Number,真或假使用 Boolean,时间点使用 Date。一组同类项目可使用 Array,一个对象的相关字段可使用 Collection。预定义选项可使用 Select,标识符、邮件地址和网址则应选择相应的专用类型(如界面提供)。
只有在无法提前确定结构时才考虑 Any 或动态集合。类型越宽松,下游需要承担的校验工作越多。Make 当前支持的完整类型及限制请以官方页面为准。
定义字段时的建议
data1 或 value 等模糊名称。示例:查询餐厅菜单
假设父场景需要调用一个菜单查询子场景,可以定义以下输入:餐厅 ID、查询日期和可选语言。子场景校验餐厅 ID 与日期,查询数据后返回状态、菜单项集合和最后更新时间。
父场景不需要了解子场景内部使用哪种数据库,只依赖这份输入输出约定。如果查询失败,子场景应返回可识别的状态,或进入约定的错误处理路径,而不是返回一段无法稳定解析的说明文字。
用于 AI Agents 与 MCP 时
当场景作为 AI Agents 或 MCP 工具时,字段名称与描述会帮助调用方理解如何填写参数及解释结果。仍应把敏感操作拆成权限受限的工具,并为删除、付款、权限修改、公开发布等高影响动作加入明确的确认步骤。不要假定自然语言调用方会自动遵守未写入工具边界的业务规则。
关于当前支持的数据类型、API 行为和配置步骤,请查看 Make 官方场景输入和输出文档。