
追忆 2018 年:SAP 最早的聊天机器人?
蓝色节点是一个 API 节点,调用墨迹天气 API,返回 JSON 数据给绿色节点。进入 2025年,我们有了 DeepSeek,Kimi,通义千问,智谱清言等优秀的国产大模型,所以 coze 里的工作流节点的 Intent Detection 开箱即用,仅仅需要在模型的下拉列表里选择一个即可,无需其他额外配置。下图是 coze 的工作流编辑界面。参加这个训练营的有国企行政,会计,律师,医生,大学
笔者最近参加了一个 AI 智能体开发的训练营,觉得很有意思,认识了很多各行各业的朋友。
训练营里有一个练习,是用字节跳动旗下的 coze 开发工作流。
下图是 coze 的工作流编辑界面。参加这个训练营的有国企行政,会计,律师,医生,大学生,烘焙店老板,侧面也说明了 coze 的工作流编辑功能(我都不想用"开发"这个词)比较亲民,没有什么门槛。
对于使用过 SAP ABAP On-Premise 或 SAP BTP Workflow Service 的朋友们来说,捣鼓 coze 这玩意儿,就好比让大学数学教授去做小学生数学家庭作业一样,妥妥的降维打击。
如上图所示,图例1 为工作流开始节点,图例2 为用户意图识别节点(Intent Detection),图例 3 为识别出意图后走的两个分支。
如果识别出用户想「查询天气」,调用 city_extract 节点,提取出用户想要查询的城市名称,然后交给下游的蓝色节点处理。蓝色节点是一个 API 节点,调用墨迹天气 API,返回 JSON 数据给绿色节点。绿色节点把 JSON 响应做一个整合,转换成对用户友好的段落。
如果识别出来的用户意图是「新闻查询」,走上图的黄色分支,调用今日头条的新闻查询 API,API 同样返回 JSON 格式的响应,交给新闻整合节点。
运行这个工作流,能看到下图所示详细的执行日志。
图例1:用户输入为「北京今天冷不冷?」图例2 为工作流执行完毕后,返回给用户的最终输出:
北京2025年3月25日天气为多云,最高气温21℃,最低气温6℃,白天风向为西北风,风力5级,夜间风向为东南风,风力3级,湿度19% 。
图例3 的 classification: 1 意思是 coze 的意图识别节点,识别出用户输入「北京今天冷不冷」这个句子,与维护的索引为 1 的「查看天气」意图相匹配。
图例4 显示了 city_extract 节点的执行结果,将提取出的「北京」,存储到变量「city」中。
图例5 显示 DayWeather 节点执行结果,调用「墨迹天气」的 Restful API,输入为「北京」,输出是 JSON 格式的北京天气情况。
整个工作流就像一台精密的机器,每个节点就像机器上的各个零部件,各司其职,按照用户指定的逻辑完成了任务。
笔者编辑这个工作流时,总觉得自己之前曾经做过类似的事情。
想了一会儿,翻到了 2018 年写过的这篇文章,不禁感慨时光荏苒。
使用 Recast.AI 创建具有人工智能的聊天机器人
2018 年,SAP 收购了一家自然语言处理领域的法国初创公司 Recast.AI:
2019年1月,Recast.AI 更名为 SAP Conversational AI,网址 https://recast.ai 也被自动重定向到 https://cai.tools.sap:
注意:本文接下来提到的 SAP Conversational AI 的功能和截图,均只截至 2018 年 8 月,不代表其最新的功能!
工作流预定义的意图,其实体现了该工作流能实现用户的业务需求范畴。
下图演示了如何在 coze 里添加新的意图。
SAP Conversational AI 原理类似,创建聊天机器人后首先需要创建一个新的意图。
这里我创建一个程序员相关的意图,id 为 programmer:
接收到一个自然语言句子后,智能体工作流如何判定该句子属于哪一种意图?这其实就是 Intent Detection 该如何实现的问题。
进入 2025年,我们有了 DeepSeek,Kimi,通义千问,智谱清言等优秀的国产大模型,所以 coze 里的工作流节点的 Intent Detection 开箱即用,仅仅需要在模型的下拉列表里选择一个即可,无需其他额外配置。
回到 2018 年的 SAP Conversational AI,它又是如何实现意图判定的呢?
因为我创建的是和程序员交谈相关的意图,所以需要在 Train 面板,手动给它喂一些和程序员相关的句子,比如 Are you a programmer?
Recast.AI 会自动将这个句子进行词元化(tokenization),识别出一个代词(Pronoun) - You, 一个数量词(Number) - a, 和一个工作描述(Job) - programmer.
继续给这个意图喂更多的句子:
-
Are you coding with Java or ABAP or JavaScript or C# or C++ or Python or Ruby?
-
Are you using Integrated Development Environment or Command Line to debug?
-
is Programming your daily work?
点击 Test 链接测试一下,发一条测试文本:
Are you working with Java every day?
Recast.AI 判断这句话有 99% 的可能性属于 programmer intent.
工作流完成意图匹配之后,下一步就要针对每个匹配上的意图,指定其执行的业务逻辑。
在 coze 里,编辑者通过鼠标拖拽的方式拉一根线,将意图和匹配后要执行的业务逻辑连接起来。
其实就是编程语言里的 IF XXX THEN YYY ELSE ZZZ 的 pattern,只不过 coze 通过图形化的界面,把这种编程思想封装起来了。
在 SAP Conversational AI 里,选中一个 Intent,右键菜单选择 Create Skill. 创建的一个个 Skill,实际就是机器人需要执行的业务逻辑。
2018年笔者测试的时候,只是简单创建了一个 ID 为「chat_with_programmer」的 Skill,这个 Skill 的功能就是从三句硬编码的回复中,随机挑选一句返回给交谈者。
下面是一个简单的测试。
我向 SAP Conversational AI 发送 Are you working with Java?
这句话被判定归属于 id 为 programmer 的意图,其绑定的 「chat_with_programmer」技能触发,随机返回一句「Yes, and I am learning Scala in my spare time」.
这个测试虽然简陋,但是走通了一个完整的端到端流程。
从 2018 到 2025,看看如今 coze 支持的琳琅满目的插件,吸引了一大帮没有编程基础的业外人士蜂拥而入,用 AI 智能体完成了个人办公提速,让人不得不感叹 AI 发展的一日千里。
如果大家想了解 SAP Conversational AI 至今最新的功能,可以访问官网 https://cai.tools.sap.
感谢阅读。
更多推荐
所有评论(0)