火山方舟
场景分类 | 核心特征 | 核心价值 | 典型应用 |
场景分类 | 核心特征 | 核心价值 | 典型应用 |
实时数据交互场景 | 需大模型与外部工具协同处理动态信息 | 处理动态信息查询需求 | 天气/股票/航班实时状态查询、数据库检索与 API 数据调用 |
任务自动化场景 | 单次函数调用完成操作 | 提升操作效率 | 邮件/消息自动发送、设备控制指令执行(如智能家居开关) |
复杂流程编排场景 | 多工具串并联调用 | 跨工具参数传递、子任务依赖关系管理 | 先查天气再发通知等需跨工具传递参数及管理子任务依赖的场景 |
智能系统集成场景 | 与业务系统深度耦合 | 实现系统智能化联动 | 智能座舱多设备联动控制、企业级 Bot 工作流(如飞书会议创建→群组管理→任务生成) |
类别 | 问题 | 错误示例 | 改正后示例 |
类别 | 问题 | 错误示例 | 改正后示例 |
函数 | 命名不规范、描述不规范 | { "type": "function", "function": { "name": "GPT1", "description": "新建日程" } } | { "type": "function", "function": { "name": "CreateEvent", "description": "当需要为用户新建日程时,此工具将创建日程,并返回日程 ID" } } |
参数 | 避免不必要的复杂格式(或嵌套) | { "time": { "type": "object", "description": "事件时间", "properties": { "timestamp": { "description": "事件时间" } } } } | { "time": { "type": "string", "description": "事件时间" } } |
| 避免固定值 | { "time": { "type": "object", "description": "事件时间", "properties": { "timestamp": { "description": "固定传 2024-01-01 即可" } } } } | 既然参数值固定,删去该参数,由代码处理。 |
业务流程 | 尽量缩短 LLM 调用轮次 | System prompt: 你正在与用户 Alan 沟通,你需要先查询用户 ID,再通过 ID 创建日程…… | System prompt: 你正在与用户 Alan(ID=abc123)沟通,你可以通过 ID 创建日程…… |
歧义消解 | System prompt: 可以通过 ID 查找用户,并获得用户的日程 ID 这里两个 ID 未明确,模型可能会混用 | System prompt: 每个用户具有唯一的用户 ID;每个日程有对应的日程 ID,两者独立的 ID。 可以通过用户 ID 查找用户,并获得用户的所有日程 ID | |
维度 | FC(Function Calling) | MCP(Model Context Protocol) |
维度 | FC(Function Calling) | MCP(Model Context Protocol) |
本质 | 模型调用外部工具 / 函数的能力(功能扩展) | 定义模型与外部系统交互时的上下文管理协议(流程规范) |
目标 | 弥补模型自身能力不足(如计算、数据查询、操作执行) | 标准化交互过程中上下文的传递、解析与状态维护 |
核心作用 | 实现模型与外部工具的“能力集成” | 确保多轮交互中上下文(如对话历史、参数、状态)的一致性 |
协议标准 | 厂商自定义格式(如 OpenAI 的 JSON 参数结构) | 强制遵循 JSON-RPC 2.0 标准,强调协议统一性 |
架构 | 直接集成于模型 API,用户定义函数后由模型触发调用 | 客户端 - 服务器模式,分离 MCP Host(客户端)与 MCP Server(服务端) |
上下文管理 | 单次请求 - 响应模式,上下文依赖需开发者自行处理 | 支持多轮对话、历史状态维护,适用于长序列依赖任务 |
典型使用场景 | 外部数据调用与系统操作(如天气查询、复杂运算);示例:调用天气 API 回复“东京今日气温” | 多轮对话与跨系统上下文管理(如订餐流程、客服对话);示例:连贯处理订餐菜品与配送地址 |
字段 | 类型 | 是否必填 | 说明 |
字段 | 类型 | 是否必填 | 说明 |
name | string | 是 | 函数名称,唯一标识,建议使用小写加下划线 |
description | string | 是 | 函数作用的描述 |
parameters | object | 是 | 函数参数定义,需要符合 JSON Schema 格式 |
type 类型 | 示例 |
type 类型 | 示例 |
string、integer、number、boolean | 略 |
object(对象)
|
"person": { "type": "object", "description": "个人特征", "properties": { "age": {"type": "integer", "description": "年龄"}, "gender": {"type": "string", "description": "性别"}, "married": {"type": "boolean", "description": "是否已婚"} }, "required": ["age"], } |
array(列表)
|
"url": { "type": "array", "description": "需要解析网页链接,最多 3 个", "items": {"type": "string"}
"matrix": { "type": "array", "description": "需要计算的二维矩阵", "items": {"type": "array", "items": {"type": "number"}}, }
"grade": { "description": "年级, 支持多选", "type": "array", "items": { "type": "string", "description": "枚举值有\n\"一年级\",\n\"二年级\",\n\"三年级\",\n\"四年级\",\n\"五年级\",\n\"六年级\"。 " }, } |