专栏名称: InfoQ
有内容的技术社区媒体。
目录
51好读  ›  专栏  ›  InfoQ

如何应对2B客户的定制化需求?模块化、变化控制、需求梳理……|议桌局精华

InfoQ  · 公众号  · 科技媒体  · 2016-11-11 07:59

正文

请到「今天看啥」查看全文


出于这些考量,从技术角度出发,我目前推行的办法就是,尽可能设计一个相对比较灵活的架构,不把它限制的太死,只把我们确定可以共通的那些需求做出来,剩下的都用可扩展的方式来做。

目前的架构,我们把它分成了多个层次,第一层是接入层,不同的客户通过怎样的接入点去接触用户是有差异的,可能包括微信、API、其他聊天平台等多种接入方式。另外,每个客户所做的事情不一样,各个项目的差异非常大,所以对于每一个客户的应用场景,我们都会去造一个机器人的大脑,我们称之为Brain,每个Brain都是可以独立上线、独立变更、独立优化的。

接入层到Brain之间是一个消息通道,因为从我们目前的见解来看,不管哪种应用,最后都可以归一成聊天的场景,所以虽然可能是基于不同的用户、不同的应用场景,但我们最后都把它统一成一个统一的对话的格式进行传输。

同时,一个机器人背后可能会有多个 Brain,通过这种方式,我们可以通过不断扩充Brain的方式来扩充机器人的能力,去应对不同的客户、不同的场景。

标准化、模块化应对客户不同需求

但这个过程中,我们又发现了另外的问题,虽然每个客户的需求都不一样,但他们之间还是会有一些共同点,比如说问答的场景,基本上每个客户都会有。

那我们的应对方法就是,在做不同的Brain的时候,做标准化、模块化。目前我们抽出了这么几个模块,一个是问答的QA Bot,职责就是来一个问题,给一个解答;一个是Form Bot,就是表单机器人,定义好问题之后,就可以通过机器人发给用户收集反馈;

一个是推荐机器人,可以根据用户标签匹配商品,然后把商品推荐给用户;一个是任务机器人,可以识别用户指令,并匹配知识库里的命令形态,看是否可执行,并以此给用户反馈;最后一个是路由机器人,就是判断用户的命令该交给哪个机器人去执行。

目前我们是创造了这样五个机器人,等于做了五个积木块,然后在实现客户需求的时候,就可以用搭积木的方式,去把这些模块拼接成一个能够满足需求的机器人。

这是我们目前在做的方向,但挑战也非常大,因为每个客户还会有一些定制化的需求,特别是在和客户系统做对接的时候,就会碰到这几个机器人都涵盖不了的情况。那我们现在的解决方法就是为了这些特殊需求再专门造一个机器人、造一个Brain出来,然后再把它们做拼接。

总的来说,我们现在主要的应对方法就是造积木、搭积木,碰到了不通用的需求,就单造一块定制化的积木,然后再搭积木。

当然这个过程中还有很多问题需要解决,比如对话机器人这件事和客户的业务逻辑联系非常紧密,一旦客户的业务逻辑发生变化,机器人就得相应做出改变,工程师可能就得去改背后的代码,有点疲于奔命。虽然已经通过搭积木的方式简化了一些这种情况,但压力仍然非常大。

王勇睿







请到「今天看啥」查看全文