关于软件与人机交互的新思考

Steven Guan

2 min read

最近花了一些时间思考“软件”这个我们每天都在用的东西,到底意味着什么。从最初的工具属性,到现在的 AI 浪潮,回到原点,把这些零散的想法整理一下。

软件

软件对于人的作用,从使用角度,其实主要是帮助人类实现某些目的,满足人类的需求的工具和手段。

  • 实现人类目的
    • 娱乐:游戏、内容消费
    • 教育:学习、获得技能
    • 工作:生产力、协作
    • 生活:衣食住行、交易、健康
    • 社交:连接、沟通
  • 人类需求(用马斯洛作“上层框架”)
    • 生理、安全、社交、尊重、自我实现、认知、审美、自我超越
  • 把“目的”和“需求”拆开
    • 目的(Goal):想达成的结果
    • 需求(Need):达成目的时在意的东西(效率、确定性、安全感、掌控感、胜任感、归属感……)
    • 产品机会点:高频目的 × 高痛需求 × 现有工具的结构性不足

软件本质

sw.jpeg

  • 固定下来、抽象出来的人类习惯
    • What
      • 核心是了解人:软件给人使用、为人服务
      • 软件做的是:为某些人群的一类需求,抽象出一套符合人类习惯、可重复执行的规则与流程
    • How
      • 抽象出这样的规则,首先要理解人类特点:人类基因中固有的特质 + 时间依赖的外部变化,共同塑造出人的做事方式。基于这些特点构建软件,解决用户需求。
      • 人类做事特点,一部分是固有在基因中的;过程上又有时间事件序列依赖,同时受外部影响(也就是用户习惯培养)。但“习惯培养”很多时候只是把人类的一些隐形特点激发出来。
      • 要了解这样的人类特点,一种方式是通过学习,提高对人的认知,了解人类习惯的 pattern,预测会有的人的行为模式,此为认知+预测。另一种是社会实验,也就是实现不同版本,获得人类的反馈,从而了解真实世界中隐藏的人类特点。
      • 抽象出来的体验,与内容体验相对:Capture the underlying principles of an experience, not the experience itself。

Open video in new tab ↗

  • 人类能力的增强(Augmentation:用软件做“人做不到/做不好的事”)。人类大脑虽然精密,但受限于生物机能,记忆容量有限,且难以进行大规模并发思考和行动。
    • “思考”
      • 超强算力与并行: 人类习惯线性思维,而软件具备指数级处理能力。同时把经验流程化、模板化(capture the underlying principles),让“质量”更稳定
      • 记忆的无限延伸:对抗遗忘曲线,把知识/经历外置成可检索、可复用、可共享的记忆
    • “行动”
      • 跨时空协作:把个体能力扩展为网络化能力(协作、同步、沉淀)
      • 使用工具:实现电子迁移到原子迁移的转化,影响环境。上个时代的 O2O 就是典型的例子。

因此,软件应当被视为杠杆。它不仅实现了已有习惯的“自动化”,更协助人类完成了单纯依靠生物本体无法实现的任务。这正是软件产生巨大价值的根源。

软件的运作方式

mapping.jpeg

  • Data mapping / representation transform
    • 软件经常在做的事:把一种表征(representation)映射成另一种表征,并在这个过程中做计算、聚合、筛选、排序、生成
    • 世界被“电子化”之后,出现两类表征
      • 物理世界的映射:人、房间、车、店、商品、位置、时间。比如 Airbnb、Uber、DoorDash,将人、房间、车、店映射到网络空间。
      • 数字世界自生的表征:关系图谱(关注/好友)、信用分、点评、权限与策略、工作流状态。再比如 Excel 的运算与呈现、数据库的 join/聚合、文字/图片/视频编辑

人机交互(HCI):一种妥协,也是一套成本管理

从根本上看,交互界面的存在,本质上是因为机器尚未达到足够的智能,而不得不采用的一种“妥协”方案。

  • 交互界面为什么存在。更便利地将想法、需求转变为工具的执行,以获得结果。人需要找到适合自己的工具,以实现自己的目的和需求。不同的人有不同的需求和习惯,对应的工具很多;最合适的是契合用户需求、符合用户习惯的,也是最容易获得用户粘性的产品。用户需求是个抽象概念,需求需要有边界/范围:通常来自“高频重复的一件事”,或“一系列经常一起出现的事件链”,这些天然会形成边界。
    • 意图、需求满足体验层级
      • 完美: 意图产生 -> 需求即满足(Zero UI)。
      • 次优: 意图表达 -> 需求被满足。
      • 现实(HCI): 意图表达 -> 学习/操作/努力 -> 需求被满足。
    • 当机器还不能可靠理解人类意图时,人只能用更显式、更结构化的方式表达;交互因此成为“妥协成本”。
      • 好的交互不等于“让用户多操作”,而是尽量降低总成本
    • 反馈回路(Feedback Loop)
      • 行动 → 系统状态变化 → 用户理解 → 下一步行动(循环)
      • 一个很实用的检查方式:系统要不断回答
        • 发生了什么(反馈/可见性)
        • 现在到哪了(状态/进度)
        • 如果错了怎么办(可恢复:撤销、回滚、纠错路径)
  • 界面形态的演化(从命令行到今天)
    • 早期:DOS/终端 + 命令行(command line / CLI),用户敲命令,计算机返回结果或执行动作
    • 后来:网页、App、各种 GUI
    • 我对这条演化链的解释:机器越不智能,人越需要更复杂的界面来表达意图与约束
    • 一个有趣的对照:如果把 LLM 接到“命令行”时代,最原始的人机交互可能反而接近聊天(chatbot);今天的 Chatbot/Agent 也在把它重新拉回来。

LLM 时代:交互从“操控(Control)”走向“协作(Collaboration)”

ai.jpeg

  • 一个必须承认的变化:LLM 的反馈是概率性的。传统软件很多反馈是确定的(保存成功/失败、点赞变红),LLM 输出可能波动,甚至“看起来很对但其实不对”。因此,我们应更在意信任机制,而不是“每次都对”
    • 可校验:输出能被验证(引用/依据/复现路径)
    • 可追溯:系统做了什么、为什么这么做
    • 可恢复:错了能低成本纠偏(撤销/回滚/替代方案)
    • 可控:权限、范围、成本、风险在用户掌控中
  • Pull vs Push:从被动响应到主动服务(Agent),但前提是边界清晰。
    • Pull:用户主动操作,系统响应(今天大多数软件)
    • Push:系统基于预测主动服务(Agent )。Push 的前提不应只是“更聪明”,也应该“更可控”
      • 可授权:明确授予权限与目标
      • 可边界:范围(时间/对象/金额/影响面)可配置
      • 可撤销/可回滚:一键停用、撤销动作、恢复状态
      • 可审计:能看到日志(做了什么、为什么、用到了哪些数据)
      • 可降级:自动执行随时降级为建议/草稿/待确认

哪些人机交互在大模型的技术条件下可以有更好的体验,减少交互复杂性,更符合人类与计算机交互的nature? 欢迎评论区讨论。

Share this post

📬 Stay Updated

Get notified when I publish new posts. No spam, unsubscribe anytime.

Already have an account? sign in to manage subscription.

Related Posts