云上数据开发场景的AI Copilot设计实践

随着大模型技术与云计算本身的融合,我们希望未来的云可以像车一样也能够自动驾驶,大幅提升开发者使用云的体验。
 
——阿里云智能首席技术官(CTO)周靖人

随着大模型与生成式AI的迅速发展,云产品的交互体验也在拥抱AI。在刚刚过去的云栖大会上,超过30款云产品宣布接入了大模型能力,其中大数据治理平台DataWorks新增了全新的交互——Copilot,用户只需要通过自然语言输入即可生成SQL,并自动执行相应的数据ETL操作,堪比“自动驾驶”。阿里云容器、数据库等产品上也提供了类似的开发体验,可实现NL2SQL、SQL注释生成/纠错/优化等功能。

在云产品设计中,我们期望借助人工智能助手(AI Copilot)使得数据产品能够更高效处理任务,为企业提供更好的数据开发支持和决策依据。


AI Copilot 扮演怎样的角色

在设计人工智能助手的用户体验时,明确其在人机交互中的角色显得尤为重要。在用户与AI Copilot的交互中,决策往往仍由人主导,而AI Copilot目前的真正优势在于能够激发人的潜力,充当智能副驾驶的角色,提供有效建议,助力用户高效高质地完成任务。

两种交互模式下的AI Copilot设计策略

在智能副驾辅助人完成任务的路径中,我们发现人与AI Copilot的交互模式主要有两种:加速模式和探索模式。我们在这两种模式下定义了相关设计原则和设计方法,帮助我们在后续产品UX设计中提供更好的设计向导。

〇 加速模式

在用户了解产品且目标清晰时,他们知道需要完成的任务包含哪些子步骤、以及该如何执行,用户只需要AI Copilot 帮助他们更快更好地达成目标。

 

例如:

在代码编写的场景中,AI Copilot可以提供代码提示和智能补全能力,减少用户因对语法不熟悉出错的概率、节省回想大量库/表/字段名词的时间,进而帮助开发者更快更准确地完成编程任务。在这种“加速模式”下, AI Copilot帮助用户加速达成任务目标。

-Github Copilot 实时给予用户代码建议,帮助用户补全代码。

在加速模式下,设计重点在于如何快速唤起AI Copilot 功能,聚焦任务、助力用户高效完成。每一次与 AI Copilot 交互应当是轻量的,不主张打断正常任务流程。AI Copilot所提出的交互建议应当保证准确性、清晰度、高质量,尽量避免用户通过多轮选择或反复验证才能获得期望的建议。

〇 探索模式

而在用户不熟悉产品或对于如何完成目标没有完整清晰的规划时,用户更多

依赖AI Copilot探索如何使用产品或达成目标。

例如:用户想查找某些数据但不清楚可以在哪个库表中查询时,通过自然语言找到对应的表,并生成相关的SQL查询语句。在这种“探索模式”下,用户往往需要经过多轮对话才能逐步洞察自我真正意图,AI Copilot 在交互流程中扮演更加积极的角色,帮助用户探索解决方案,最终辅助其达成任务目标。

-在 Miccrosoft 365 中与 Copilot 探索互动,制作出色的幻灯片。
在探索模式下,用户对于AI Copilot有着更高的依赖程度。用户可以与AI Copilot不断交互最终得到符合预期的答案。因此在界面中也可以承载相对更多的选项以及更大的信息量,加快用户明析意图并触达目标。

值得注意的是上述的两种交互模式并非完全对立或者有着绝对明确的界限,在一些场景中,可能会兼具两种交互模式的特点。


AI Copilot设计策略在Dataworks中的落地与实践

阿里云DataWorks是基于阿里云 ODPS/EMR/CDP 等大数据引擎为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

DataWorks Copilot使用了包含通义千问之内的多种大模型,提供NL2SQL(自然语言生成SQL)、NL2Data(自然语言找表)、NL2ETL(自然语言辅助完成ETL)等智能化服务。基于上述两种交互模式下提出的设计原则,在DataWorks Copilot实践中得到了有效的验证。

〇 加速模式

1、提供快速唤起AI Copilot功能的入口
为提高用户在任务流程中的专注度,需要缩短唤起Copilot的操作路径,使得智能助手更易触达。这包括定位Copilot的上下文/区域、选择功能和触发操作。在不同任务中,若Copilot能预测用户的定位区域和唤起功能,并提供一键触达操作,将极大提升任务效率。

在代码运行出错后 DataWorks Copilot 提供一键纠错入口,与用户主动查找 SQL 纠错入口相比,将大大提升代码纠错的效率。

2、通过可视化的响应,确保用户实时了解系统状态
用户对于Copilot结果生成的响应时间更为敏感。长时间的等待和模糊的系统状态可能会使用户分心。因此,无论Copilot处于何种任务执行状态,都需要提供实时可视的反馈。

在用户信息输入后,提供动效阐述响应过程,并以最快的速度将内容进行返回,最终呈现的效果犹如打字机般迅速且自然。
3、针对AI Copilot生成结果,提供快速识别的特征
用户对于是否接纳Copilot建议是一个快速观察、快速识别特征、快速决策(接纳/拒绝)的过程。为了提高信息传达的效率并增强用户对Copilot的信任,智能助手输出的内容应当提供相应的重点摘要或可视化展示。Copilot可以提供前后对照的交互,突出显示区别的特征,帮助用户更快地理解信息,从而更容易采纳建议。
对于不理解的SQL,DataWorks Copilot能为用户提供SQL注释,并可进行diff(前后比较,加快用户对代码的理解。

4、对生成的建议提供进一步验证的途径
Copilot所生成的结果并非每次都是完美的。为了提升安全性和用户的信任度,如何支持用户对 Copilot 建议结果进行验证与测试就变得相当重要。一方面,对于不同的Copilot建议结果,我们可以给出相应的置信度指标辅助用户进行判断。另一方面,对那些会较大程度上影响全局的建议,我们可以提供进一步验证的途径,确认无误后再将其应用于实际环境中。
DataWorks Copilot生成SQL后,我们还提供了插入至编辑器运行验证 SQL 可用性的能力,确保代码的准确性。

 

 

〇 探索模式

1、给予用户充足的提示
在探索模式中,为方便用户了解Copilot提供的能力与服务,给予充足且准确的提示非常重要。例如在初次进入时提供新手引导、在信息输入前提供示例指令等,引导用户高效使用Copilot以及向 AI 发出合适的请求。
初次使用DataWorks Copilot时,提供欢迎语以及视频教程,帮助用户快速上手。
2、控制AI Copilot建议的信息量,不过度加重用户认知负担
在探索模式中,用户愿意探索不同的建议以找到任务的最佳解决方案。然而,我们仍然需要注意不要给出过多的建议选项,或者冗长的信息。与Midjourney、Stable Diffusion等创意类图生成应用场景不同,在数据开发场景下,用户最终需要的是确定性的解决方案,而不是开放式的探索,因此需要避免在过多选项间进行选择带来的认知负担。基于最佳实践,当存在多个选项时,我们建议每次向用户展示不超过3个结果。
用户通过自然语言找表(NL2Data),DataWorks Copilot 给用户返回匹配度最高的3个结果。

3、当结果不符合期望,有效引导用户寻找新答案,排除重复结果
为了帮助用户快速定位新答案,我们应随时提供交互触点。当AI Copilot的建议不符合用户期望时,用户可以通过这些触点迅速寻找新的答案。在这一流程中,我们还需要考虑一些细节问题,例如每一批新的结果都需要排除之前已出现过的答案,以减少用户不必要的注意力付出。
云上数据开发场景的AI Copilot设计实践

当查找的表不符合期望时,DataWorks Copilot提供“换一批”的能力,快速更换查询结果。

4、支持多轮对话与上下文记忆
在探索模式中,用户需要经过多轮对话来逐步了解自己的真正意图。AI Copilot的上下文记忆和多轮对话对于提供连贯性、个性化的用户体验非常重要。它们使得 AI 能够理解和利用之前的对话历史,并更好地回答问题、协同用户探索最佳的解决方案。
为更好确保用户确认与 DataWorks Copilot 对话的上下文关键信息,我们把它们收纳在一个上下文盒子里,用户可以随时查看并进行修改。

 

引用
【1】Barke S, James M B, Polikarpova N. Grounded copilot: How programmers interact with code-generating models[J]. Proceedings of the ACM on Programming Languages, 2023, 7(OOPSLA1): 85-111.
【2】https://github.com/features/copilot
【3】https://support.microsoft.com/en-us/copilot-powerpoint

原文:https://mp.weixin.qq.com/s/o12MiakSydUDz9dW7_OLVw

- Posted in: Blog

- Tags:

0 条评论 ,1,330 次阅读

发表评论

  1. 既然来了,说些什么?

Top