← 回到笔记

接入一个工具,也是在做一次选择。

改写自arslan-starter-pack 插件示例 ↗

我为 Arslan 放了一个公开的插件示例:知识图谱记忆、Brave 搜索,以及一套结构化研究流程。它很小,却把一个值得反复想的问题摆了出来:当用户接入一种能力时,他究竟同意了什么?

如果一个界面只告诉人“已连接”,它省略的可能正是用户最需要理解的部分。

把几个不同的动作拆开

发现一个工具、读取它的配置、启动服务、允许代理使用它,是不同的动作。它们可以在一个顺畅的流程里完成,但各自的含义需要清楚。

这个插件的配置描述启动方式、需要填写的密钥名称和技能文件的位置。密钥由用户在本机填写。读取配置不会启动服务;连接之后,服务才开始运行。子代理能否使用它,则由单独的开关控制。

这样拆分的价值,是让“我想了解这个工具”不会悄悄变成“我同意所有代理都能使用它”。

控制越多,理解也可能越少

给每一步加确认,看起来很谨慎,但也会增加阅读和判断的负担。如果每次都弹出相似的问题,真正需要注意的那一次,反而容易被埋在重复操作里。

因此,我不认为按钮数量可以衡量一个权限界面的好坏。更值得问的是:这一步是否发生了用户没有预期到的变化?它会读取什么、改变什么,影响能不能收回?

以一个假设的研究流程为例,搜索公开网页、读取个人资料库和向外发送研究结果,带来的影响并不相同。把它们都概括成“允许使用工具”,会让这个选项失去解释力。

委托以后,边界还要成立

多代理系统让问题更具体:用户把能力交给主代理,是否意味着它也能把同样的能力交给任何子代理?

Arslan 的插件示例用一个独立开关表达这层选择。它还没有回答所有关于委托的问题,却至少让这一步变得可见。进一步想,好的界面还应该帮助人理解:当前谁有访问权,为什么需要它,以及在哪里可以停止。

这些是我用来判断设计的要求,不能因为存在一个开关,就认定它们都已经解决。

连接成功之后,体验才开始

工具会出错,连接可能失效,用户也会改变主意。如果系统只能解释如何接入,却说不清怎样退出、退出后哪些工作会受影响,那么用户仍然很难掌握自己的环境。

所以我更想用另一种方式评价工具体验:用户能否预期它接下来会做什么;出现问题时,能否找到原因并收回影响。

当能力不断增加,这种可理解性会变得更有价值。它让人愿意继续使用一个系统,也让委托有了边界。