AI 原生应用的一些看法
date
Aug 14, 2024
slug
ai-native-applications-definition-advantages-challenges
status
Published
summary
从个人角度探讨 AI 原生应用的概念、特征及其面临的挑战
tags
AI
产品设计
LLMs
GPT
GPTs
产品体验
type
Post
AI 原生应用是什么
理想中的 AI 原生应用应该是什么样的?在当前这个时间点其实比较难做出一个比较有意义的回答,因为现在就连 AI 原生具体是什么定义可能都没办法统一。
从我个人的角度来说,我认为所谓 AI 原生应用主要是指那些将 AI 能力深度融入其核心功能的应用,它们当前或者未来可能会具有两个关键的特征:
- 人机协作交互:在用户可见的前端,通过 AI 增强了人机交互体验。它使应用能够理解并响应用户的自然语言指令,提供更直观、更个性化的操作方式。
- 不断进化:在用户看不见的后端,AI 需要持续学习和分析用户行为。随着时间推移,应用能够逐渐深入理解每个用户的独特需求和偏好,从而提供更贴心、更精准的服务。
用户侧:加强人机协作交互
通过 AI 加强人机协作交互让用户通过 AI 获得即时反馈和帮助,相比较于原先的交互能够简化操作和学习成本,实现从"需要学习"到"自然交互"的进步。这种进步能够帮助用户更快上手,但不一定能够完全替代掉原先的交互,很长一段时间内依然是共存的,就像是命令行和图形界面、自动驾驶和手动驾驶。
在人机协作方面的优势
自然语言交互
用户可以用自然语言描述需求,而不是学习特定的命令或导航复杂的菜单。例如,用户可以告诉 AI 我要做一个 Project Management Software Product Comparison,就像 https://matrices.app/ 这样:根据 AI 说自己想要做什么,然后用 AI 会自行推理、寻找数据填充表格(Plan and Solve)。
上下文感知
AI 能够获得用户当前操作的上下文,提供更贴切的建议。比如在 GitHub Copilot 中,可以提供符合当前目标的代码建议,同时在遇到错误时,还能跨文件解释错误原因并提供修复建议;Notion 中,可以根据正在编写的文档内容或风格提供内容续写。
当然,上面这些优势并非意味着能取代传统交互方式,我认为在相当长的一段时间内,就像触摸屏的普及并没有完全取代物理键盘一样,AI 增强的交互会与传统交互方式继续共存,为用户提供更多选择,甚至很多时候「物理键盘」仍然是生产力的代表。
而且现在也存在一个很重要的问题:纠偏。
纠偏
目前 LLMs 最被人所诟病的地方之一就是在于它们的不可靠,也就是常说的幻觉。虽然我认为幻觉有可能在未来能够诞生创造力,但是在当前这是大多数产品会面临的一个非常影响用户体验的地方,特别是解决复杂问题上。
而 AutoGPT 、AgentGPT 和 Autogen 之类的产品就是希望通过一些工程上的方式让 LLMs 能够自主独立地去解决复杂问题,我之前的文章也有提过 https://www.xukecheng.tech/ai-agents-practical-experience。包括近期也有一些新的产品逐渐在往这个方向做,例如 https://github.com/assafelovic/gpt-researcher 和上面提到的 Matrices 如何想要达成 DEMO 视频中的效果,必定也是要提高 LLMs Plan and Solve 上的能力。
而想要达到目标,AI 原生产品必须构建完善的错误处理机制。这种机制不仅仅是简单的错误检测和报告,而是一个复杂的系统:
- 规范LLMs的输出:通过设定严格的输出格式和内容标准,减少不相关或错误信息的产生
- 验证输出内容:利用多重验证机制,包括与可信数据源的交叉检查,确保输出信息的准确性
- 自我纠错能力:通过多种方式(例如多角色等 https://github.com/microsoft/autogen),让 LLMs 具备自主纠正的能力
- 人机协作纠错:在关键决策点引入用户的审核,实现人机协作的错误处理。
特别是像 AI 软件工程师,现在已经不断进化,像最近发布的 https://cosine.sh/genie 就在其演示视频中展示出来类似人类的一样的错误处理能力。
服务侧:持续进化与自适应
在服务侧还能持续进化意味着 AI 能够不断学习和适应用户行为(更懂用户),乍听之下,这可能让人联想到传统的推荐系统,但在 LLMs 的支持下,这种自适应能力有着更深层次的含义和更广泛的应用,下面就以推荐这个场景举例:
传统的推荐系统通常局限于特定领域,如电商推荐或内容推荐。它们主要基于以下因素运作:
- 用户的历史行为数据
- 相似用户群体的偏好
- 预定义的分类和匹配算法
这种方法虽然在特定场景下有效,但存在明显的局限性:
- 需要大量相似用户数据
- 难以捕捉用户的独特需求和上下文
- 通常需要针对特定任务重新训练模型
相比之下,基于 LLMs 的 AI 原生应用可以拥有更强大的自适应能力,LLMs 可以无需重新训练,就能"理解"并适应用户的独特需求和习惯,可以通过 Prompting 方式输入每个用户的各种类型的上下文信息。
甚至上下文的输入和输出都可以做成自动化的,给予 LLMs 各种工具(如数据提取、记忆存储和检索、内容筛选等),它能够根据需要动态选择和使用这些工具。这使得 LLMs 甚至可以自主地完成复杂任务(理解用户),而不仅仅是按照预设规则运行。
理想情况下就像一个真正的 AI 助理,不仅记录功能使用 or 某个内容的阅读频率,还能理解使用的目的和在用户个人工作流程中的作用。还能够将用户的短期行为与长期目标联系起来,提供更有洞察力的建议。它的通用性使其能够在多个领域之间建立联系,发现用户可能没有意识到的关联。例如,在阅读软件中它可能会推荐一本科幻小说,因为其中的概念与用户正在研究的科技有关。
它还能够根据用户的背景知识和理解水平,自动调整交互方式和内容深度,例如,在阅读过程中适时提供个性化的解释或背景信息。
它不仅仅是一个被动的推荐工具,而是一个真正的智能助力,能够深入理解用户的需求,并提供全方位的支持。
不过我们需要承认,目前的大语言模型这个方向上可能还无法实现"真正的理解",很多时候似乎只是表现出理解的假象。
挑战与限制
尽管基于 LLMs 的应用,展现出了巨大的潜力,但也必须认识到在实际应用中面临的一系列挑战和限制:
- 在未来,上下文很可能是各自独立的,完全不打通。除了政府和少数科技巨头(如Apple、字节跳动、腾讯等),大多数产品开发者难以获取用户更详细的上下文信息(当然还有隐私问题)。
- LLMs 的运行成本依然很高,特别是对于需要实时响应的应用,这可能导致应用的开发和维护成本过高,限制其广泛应用,当前的端侧模型能力还不足以支撑许多复杂的应用场景。
- 在协作式交互中,处理好用户和 LLMs 之间的关系至关重要,AI 永远不应该取代人类决策。
- LLMs 往往都是"黑箱"操作,任何人类都难以完全解释其决策过程,这可能导致用户不信任系统,或在法律和监管方面遇到问题。
- 如果过度依赖 LLMs 可能会导致一些问题,例如调用的系统出现故障就导致整体功能不可用。这一点相比较于传统的 AI API 服务可能还不太一样(例如文本分类、OCR 等等),因为 LLMs 需要强大的 GPU/TPU 支持,计算资源需求远超传统 AI 服务,如果服务提供方的用量一大,出现故障的几率也会更大。相比之下,传统 AI API 服务通常更容易实现冗余和故障转移。因此很多产品会使用多个 LLM 服务提供商,避免单点故障,但是这样做的话成本也会很高,例如要做智能路由,根据各服务的可用性和性能动态分配请求;要评估不同服务商,每个服务商的 Prompt 可能也需要单独调整等等
- ……
最后,以上均是个人看法,欢迎讨论。