技术博客
易源合一、直连单接口、自建意图识别:三条路线怎么选

易源合一、直连单接口、自建意图识别:三条路线怎么选

作者: 万维易源
2026-09-15
易源合一选型对比自建意图识别方案评估
# 易源合一、直连单接口、自建意图识别:三条路线怎么选 > 接入点:3054-1 / 3054-2 / 3054-3 | 计费:5.5 厘/次,失败不扣费 | 最后实测核对:2026-09-15 ## 核心要点 这篇不给结论,给判据。三条路线各有站得住的适用场景,我把自己实测到的边界都写在下面,包括直接说「这个场景别用易源合一」的部分。 - 意图数量少且三年不变,直连单接口更省事。 - 意图数量多、还会变、要快速上线,易源合一的性价比来自省下的适配工时。 - 意图高度垂直、有硬性准确率指标、手上有标注语料,自建更可控。 ## 三条路线是什么 **路线 A:易源合一。** 一次调用把自然语言转成意图 + 结构化参数 + 已整理的答复。参数量小,接入成本低。 **路线 B:直连单接口。** 天气接天气接口,快递接快递接口,新闻接新闻接口,每个都自己写参数构造、字段映射、错误码转换。用户那句话怎么变成参数,你自己处理。 **路线 C:自建意图识别。** 用大模型做工具调用(function calling),或者训一个文本分类模型,把意图判定放在自己的服务里,再路由到各业务接口。 ## 关键维度逐项对比 | 维度 | 路线 A 易源合一 | 路线 B 直连单接口 | 路线 C 自建意图识别 | |------|---------------|-----------------|-------------------| | 首次上线工作量 | 一个接口,半天 | N 个接口 × N 套适配 | 判定服务 + N 个接口 + 评测集 | | 意图增减的改动面 | 改你的路由表 | 逐接口改 | 改 prompt 或重训模型 | | 意图集合是否透明 | 不透明,文档没公布枚举 | 由你自己定义 | 由你自己定义 | | 字段控制力 | 低,`result` 结构随意图变且由平台决定 | 高,字段就是你接的那个接口的 | 高 | | 单次成本 | 5.5 厘 | 各接口自己的单价 | 模型调用费 + 人力 | | 延迟(实测) | 3054-1 约 0.65~2.32 秒 | 取决于对接的接口 | 取决于推理服务 | | 失败可诊断性 | 中,`ret_msg` 是自然语言文案 | 高,错误码由你定义 | 高 | | 多轮上下文 | 不支持,接口无状态 | 不支持,要自己做 | 可做 | | 并发上限 | 10 次/秒(接口标注) | 取决于对接的各接口 | 取决于自己的服务 | ## 路线 A 的边界,实测到的都列出来 选它之前,下面这几条要能接受。 **单句无状态,没有多轮上下文。** 请求参数只有 `text` 和 `args_list`,没有会话 ID、没有历史。用户说「那明天呢」,你得自己从会话里把「昆明」补回去。多轮对话是你的活,不是它的。 **意图集合不透明。** 官方文档没给出枚举清单,只给了 `weather` 一个示例。实测拿 15 条语料探出 8 类(`weather`、`query_express`、`oral_correct`、`traffic_control`、`query_news`、`joke`、`ocr_idcard`、`ocr_handwrite`),但这是样本覆盖,不是全集。你要先跑一遍自己的语料才知道支持不支持。 **意图分析的能力和对话的能力不保证一致。** 实测「北京限行尾号是多少」在 3054-2 稳定识别为 `traffic_control`(6/6,置信度 90~98),在 3054-1 稳定返回 `ret_code: -1`「抱歉,您的问题我还没有学会」。识别出来不等于能执行。 **低信息量输入结果不稳定。** 「你好」在 3054-1 重复 6 次拿到 4 种结果(2 次笑话、1 次新闻、2 次 `must input content field`、1 次推理失败);在 3054-2 重复 6 次拿到 3 个不同意图、置信度在 50~65 之间浮动。「讲个笑话」「帮我查找一下昆明今天的天气」这类明确语句则 6/6 稳定。你对输入的清晰度要有预期。 **答复文案不可控。** `reply_msg.text` 由平台生成,实测是 Markdown(天气给 `####` 标题,快递给 `###`,OCR 给 `**加粗**`),语气和措辞你改不了。要品牌一致就只用 `intent` 和 `result` 自己拼。 **计费粒度按次,不按结果质量。** 命中一个你不需要的意图也算成功、也扣费。实测「你好」命中 `query_news` 那次返回了一批无关新闻,仍计费 1 次。 ## 路线 B 的边界 选它之前要接受的是工作量线性增长。 每接一个业务能力就是一套新代码:参数怎么构造、字段怎么映射、错误码怎么转。用户说「我的快递到哪了」「帮我查下这个单号」「快递什么情况」,三种说法你得自己归一到同一个查询参数。意图不再增加时这套代码很稳;意图每季度增加两个,维护成本会明显。 好处也很实在:字段由你控制,错误码由你定义,SLA 由你谈,`result` 不会突然换结构。 ## 路线 C 的边界 判定逻辑掌握在你手里,代价是你要背判定错误的后果。 写 function calling 的 prompt 能快速起步,但要有一套评测集才能量化准确率。没有评测集,你只是把不确定性从平台挪到了自己身上,并没有减少。训分类模型的门槛更高,收益是稳定的延迟和可控的成本曲线。 如果意图既垂直又稳定(比如只会出现「查余额」和「改密码」两种),自建的复杂度不划算。如果意图有几十种还在快速迭代,自建能给你最好的控制力,前提是你有持续维护它的人。 ## 判据:按你手上有什么来选 决策点其实就三个问题。 **第一,你要支持的意图有多少个。** 一到两个,且明确知道未来也不会加,路线 B 是最少的工作量。五个以上、或者还在加,路线 A 的一次接入能省下大量适配代码。 **第二,你对字段有多强的控制要求。** 需要把返回字段直接落库、或者要求字段名和类型长期稳定,路线 A 的 `result` 随意图变会让你很难受,走路线 B 或 C。 **第三,你有没有人力做评测。** 路线 C 没有评测集就没有意义。没有这名人力,路线 A 或 B 才是现实选择。 ## 成本怎么算,说清楚口径 路线 A 的调用费是可算的:5.5 厘/次,一天 1000 次约 5.5 元,走两段式翻倍。产品价格页给出的换算口径是 50 元专用资源包对应 9090 次调用。 路线 B 的调用费取决于你对接的各接口自己的定价,本文不假设具体数字。 路线 C 的成本主要是人力和模型调用,具体量级取决于你的技术选型和流量,本文同样不给数字。 三条路线真正的差别不在调用费,在人力投入和长期维护责任。只看单价会比错。 ## FAQ **Q1:只有天气和快递两个需求,该选哪条?** 两个意图且明确不会扩展,路线 B 更直接,字段也能自己控。但如果你的产品形态是开放对话(用户想说什么就说什么),路线 A 能把用户的其他提问也接住,代价是每次 5.5 厘。 **Q2:易源合一能完全替代自建意图识别吗?** 不能。它给的是接口内部支持的意图集合,不对外开放自定义。如果你的意图是「识别用户是不是在投诉」「判断工单优先级」这类业务专属分类,得自己建。 **Q3:不确定我的意图是否被支持,怎么办?** 拿 20~30 条你自己的真实语料打 3054-2,看 `intent` 和 `confidence` 的分布。实测方法见 [易源合一实测能识别哪些意图:8 类 intent 编码逐一验证](https://www.showapi.com/guides/united-api-intent-list-3054)。判出意图之后,再用 3054-1 各跑一遍,验证这个意图真的能执行。 **Q4:会不会被平台绑定?** 接口层面会有一部分绑定:答复文案由平台生成,`result` 结构随意图变化且由平台定义。降低绑定程度的方式是只用 `intent` 和 `args` 这两个字段,把答复和数据结构掌握在自己手里。这样切换成本主要落在意图枚举的映射上。 **Q5:三条路线可以混用吗?** 可以,而且常见。做法是把易源合一当意图层(只调 3054-2 拿 `intent` 和 `args`),执行层用你已有的业务接口。这样既有自然语言理解,又保留字段控制力。实测 `args` 里能直接抽到 `area`、`express_nu` 这类结构化参数,够撑起你自己的查询链路。 ## 下一步阅读 - [易源合一 3054-2 与 3054-1 的搭配方式:先判意图,再决定要不要发起对话](https://www.showapi.com/guides/united-api-intent-precheck-3054) - [易源合一调用失败扣不扣费:ret_code 与 showapi_fee_num 实测对照表](https://www.showapi.com/guides/united-api-retcode-fee-3054) - [易源合一在对话式应用里的位置:意图层与执行层的切分方案](https://www.showapi.com/guides/united-api-dialog-architecture-3054) - **本系列共 12 篇**:查看[易源合一指南总目录](https://www.showapi.com/guides/united-api-guides-3054)