您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

机器人设计原则Principles of bot design

使用 Bot Framework,开发人员能够拥有可解决各种业务问题且极具吸引力的机器人体验。The Bot Framework enables developers to create compelling bot experiences that solve a variety of business problems. 通过了解本部分中所述的概念,你将能够设计出符合最佳做法的机器人,并利用迄今为止在这个相对较新的领域中学到的经验教训。By learning the concepts described in this section, you'll become equipped to design a bot that aligns with best practices and capitalizes on lessons learned thus far in this relatively new arena.

设计机器人Designing a bot

如果要构建机器人,可以大胆地假设你希望用户能够使用它。If you are building a bot, it's safe to assume that you are expecting users to use it. 还可以大胆地假设你希望用户更喜欢机器人体验而不是其他体验(例如应用、网站、电话和满足其特殊需求的其他途径)。It is also safe to assume that you are hoping that users will prefer the bot experience over alternative experiences like apps, websites, phone calls, and other means of addressing their particular needs. 换句话说,你的机器人将与应用和网站等内容争夺用户时间。In other words, your bot is competing for users' time against things like apps and websites. 那么,如何最大限度地提高机器人实现吸引和留住用户的最终目标的几率?So, how can you maximize the odds that your bot will achieve its ultimate goal of attracting and keeping users? 在设计机器人时,只需优先考虑正确的因素。It's simply a matter of prioritizing the right factors when designing your bot.

不能保证机器人成功的因素Factors that do not guarantee a bot's success

在设计机器人时,请注意,以下因素都不一定能保证机器人的成功:When designing your bot, be aware that none of the following factors necessarily guarantee a bot's success:

  • 机器人有多“智能” :在大多数情况下,让机器人变得更智能不太可能保证用户满意或采用你的平台。How “smart” the bot is: In most cases, it is unlikely that making your bot smarter will guarantee happy users or adoption of your platform. 实际上,许多机器人几乎没有先进的机器学习或自然语言功能。In reality, many bots have little advanced machine learning or natural language capabilities. 如果机器人必须使用这些功能来解决目标问题,那么它可能具备这些功能,但是,不应假设机器人的智能和机器人的用户采用之间存在任何关联。A bot may include those capabilities if they're necessary to solve the problems that it's designed to address, however you should not assume any correlation between a bot's intelligence and user adoption of the bot.

  • 机器人支持多少自然语言 :机器人可以在聊天中表现很出色。How much natural language the bot supports: Your bot can be great at conversations. 它可以拥有丰富的词汇量,甚至可以讲出好笑的笑话。It can have a vast vocabulary and can even make great jokes. 但是,除非它解决了用户需要解决的问题,否则这些功能在机器人成功方面可能做不了多少贡献。But unless it addresses the problems that your users need to solve, these capabilities may contribute very little to making your bot successful. 事实上,一些机器人根本没有会话能力。In fact, some bots have no conversational capability at all. 在许多情况下,这完全没问题。And in many cases, that's perfectly fine.

  • 语音:启用机器人的语音功能并不总是能够带来出色的用户体验。Voice: It isn’t always the case that enabling bots for speech will lead to great user experiences. 通常,强制用户使用语音会导致令人沮丧的用户体验。Often, forcing users to use voice can result in a frustrating user experience. 在设计机器人时,请始终考虑语音是否是针对给定问题的适当途径。As you design your bot, always consider whether voice is the appropriate channel for the given problem. 是否会使环境嘈杂?Is there going to be a noisy environment? 语音是否能够传达需要与用户分享的信息?Will voice convey the information that needs to be shared with the user?

对机器人成功起作用的因素Factors that do influence a bot's success

最成功的应用或网站至少有一个共同点:出色的用户体验。Most successful apps or websites have at least one thing in common: a great user experience. 对于这一点,机器人也不例外。Bots are no different in that regard. 因此,在设计机器人时,确保良好的用户体验应该是首要任务。Therefore, ensuring a great user experience should be your number one priority when designing a bot. 一些关键注意事项包括:Some key considerations include:

  • 机器人是否可以用最少的步骤轻松解决用户的问题?Does the bot easily solve the user’s problem with the minimum number of steps?

  • 机器人是否比任何其他体验更好/更轻松/更快地解决了用户的问题?Does the bot solve the user’s problem better/easier/faster than any of the alternative experiences?

  • 机器人是否在用户关注的设备和平台上运行?Does the bot run on the devices and platforms the user cares about?

  • 机器人是否具备可发现性?Is the bot discoverable? 在使用机器人时,用户是否自然而然地知道该做什么?Do the users naturally know what to do when using it?

这些问题都不直接与以下因素相关:机器人的智能程度,它具有多少自然语言能力,它是否使用机器学习,或者使用了哪种编程语言来创建它等等。None of these questions directly relates to factors such as how smart the bot is, how much natural language capability it has, whether it uses machine learning, or which programming language was used to create it. 如果机器人解决了用户需要解决的问题,并提供了出色的用户体验,那么用户不太可能关注这些因素。Users are unlikely to care about any of these things if the bot solves the problem that they need to address and delivers a great user experience. 出色的机器人用户体验不需要用户键入太多、说出太多、重复多次,或解释机器人应该自动知道的内容。A great bot user experience does not require users to type too much, talk too much, repeat themselves several times, or explain things that the bot should automatically know.

提示

无论你创建的是哪类应用程序(机器人、网站或应用),都要将用户体验放在首位。Regardless of the type of application you're creating (bot, website, or app), make user experience a top priority.

设计机器人的过程类似于设计应用或网站的过程,因此,从数十年构建 UI 和为应用及网站提供 UX 获得的经验教训仍然适用于机器人的设计。The process of designing a bot is like the process of designing an app or website, so the lessons learned from decades of building UI and delivering UX for apps and websites still apply when it comes to designing bots.

每当你不确定机器人的正确设计方法时,请退一步并自问以下问题:如何在应用或网站中解决该问题?Whenever you are unsure about the right design approach for your bot, step back and ask yourself the following question: how would you solve that problem in an app or a website? 同样的答案很可能适用于机器人设计。Chances are, the same answer can be applied to bot design.

后续步骤Next steps

现在,你已经熟悉了设计机器人的基本原则,可以详细了解设计用户与机器人之间的第一次交互的基本原则了。Now that you're familiar with some basic principles of bot design, learn more about the basic principles for designing the first interaction between a user and bot.