构建终极的Gen AI聊天/副驾驶体验(第一部分)
在Clearwater面向客户的AI应用的核心是Clearwater智能控制台(CWIC)- 一个先进的Gen AI平台,为投资专业人士提供用户体验(UX)。CWIC由多层构建块驱动,这些构建块连接形成全面的认知架构,其中包括来自语言代理的认知架构(CoALA)框架[1]的关键概念,灵感来源于数十年的研究以及Clearwater自己的创新。把它想象成AI的乐高套件,但没有半夜不小心踩到一块偏离的积木。
在这篇博客文章中,这是四篇系列文章中的第一篇,我们将涵盖构建基础模块——CWIC工具、技能和专家——这些模块支持CWIC Chat,这是一个功能强大的Gen AI助手或副驾驶,与现在最好的相媲美。在第二部分中,我们将介绍如何绑定一个专家到一个Gen AI聊天窗口,以我们的Web组件API为例。在第三和第四部分,我们将向上移动构建模块金字塔,解释我们如何构建下一个改变游戏规则的Gen AI助手的进化。剧透:这是从三轮车简单到喷气背包复杂的一次飞跃。
但首先,让我们讨论一下我们如何为客户考虑Gen AI聊天价值。我们建立CWIC来支持三个层次的集成,按照客户价值逐渐增加的顺序:
- 知识认知
- 应用认知
- 数据认知
知识意识
知识意识,被称为“力量之助”,通过自然语言查询在聊天用户体验中向用户展示Clearwater的知识库。利用最佳的LLM、RAG和调优技术的结合,我们为用户提供简明直接的答案 - 不是用户进一步搜索答案的文件列表。用户可以立即获取他们问题的回应,以及参考和验证的引用列表。示例客户问题包括:
· Clearwater如何计算书息?· 为什么书息会为负?· 如何对债券远期进行估值?· GAAP和STAT之间对期权的处理有何不同?· 2024年NAIC指导更新有哪些?
这些是我们的客户通常会问客户支持代表的典型问题,现在在我们的应用程序中可以快速解决,这要归功于CWIC的知识意识水平。
应用程序意识
现代软件通常配备功能丰富、复杂的用户界面。对于初学者来说,浏览多个菜单、按钮和选项可能令人不知所措 - 功能可能被错误地使用或完全被忽略。即使是高级用户也必须投入时间来获得专家级的熟练度。
应用程序意识是一种高度发展的上下文敏感帮助形式。通过结合特定应用程序的知识、用户上下文和UI自动化,聊天UX可以直接引导用户到他们想要去的地方,无需任何先决培训。 CWIC不仅了解应用程序,还了解用户,用户在该应用程序中可访问的内容以及他们的偏好。这是我们帮助新手用户或不熟悉该应用程序的用户快速提升为高级用户的强大方式。
应用意识的一个很好的例子是我们的CWIC聊天应用程序中的Clearwater报告应用程序。 它了解用户可以访问哪些报告,这些报告在哪里,以及如何提供导航到这些报告的链接。 用户还可以根据架构和列向报告提出问题以及该报告的含义。 因此,如果报告中有一个您不太确定含义或对Clearwater有何含义的特定列,您可以询问有关该列的问题,CWIC将为您提供所有信息。 这就像为您的软件拥有GPS。
示例应用程序感知命令如下:
· 显示我投资组合的业绩· 带我去我的会计设置报告· 我的批次库存方法是什么?· 我在哪里可以看到我的国家风险暴露?· 帮我提交 FAS 157 报告
数据意识
在当今以数据驱动的商业环境中,准确和及时获取信息对做出明智决策至关重要。数据意识使客户能够轻松地与其数据交流,同时安全可靠地获得有价值的洞察,以做出及时的决定。通过数据API和数据库查询的综合,CWIC可以获取相关客户数据,帮助回答问题,识别趋势和异常,并构建易于理解的叙述。客户数据受保护,通过身份和基于角色的访问机制进行结合,完全将数据访问与LLM控制分开。
Clearwater的数据意识查询示例包括:
· 我的可用现金余额是多少? · 帮我核对账面收益 · 为我总结这份报告 · 过去一年有现金流量异常吗? · 为什么我的BACV与市值不匹配?
当我们逐步深入认知架构建模块堆叠时,我们将提到这三个层面的Gen AI聊天集成。我们现在准备开始这段旅程。
CWIC工具-LLM通往世界的门户
LLMs是深度学习的惊人演变,但今天它们有三个主要缺点:
1. 他们仅限于他们接受训练时的数据 2. 他们在某些形式的逻辑和推理方面有困难 3. 他们无法做除了生成内容以外的任何事情(这可能是一件好事!)
CWIC工具可以解决以下每一个问题:
- 工具可以带来超出LLM培训数据范围的数据,包括:a. 最新培训数据发布后的新内容 b. 专有客户数据,共享的LLM不应该进行培训。
- 工具可以使用传统编程,其中严谨和准确性至关重要: a. 使用Python编写的计算器进行数学计算 b. 使用机器学习模型进行预测。
- 工具可以为具有接口的任何软件或硬件系统(包括其他LLMs)提供桥梁。例如: a. 调用任何授权API b. 在沙盒中运行生成的代码 c. 请求人类输入或批准 d. 与自主代理交流,如CWIC专家(或机器人)!
这里是一个LLM与工具交互的视觉总结:
CWIC工具为Gen AI聊天集成的所有三个级别提供基础。要深入了解CWIC工具,以及它们是如何安全地语义路由和/或与LLM连接的,请查看我们在此处关于MRKL代理架构的优秀帖子。这篇帖子演示了使用CWIC工具问关于报告数据的问题的数据意识示例。
CWIC技能 — 精选流程
我不知道你是谁,也不知道你想要什么。如果你是想要赎金的话,我可以告诉你,我没有钱。但我所拥有的,是一套非常特殊的技能,是我在漫长职业生涯中习得的技能。
- 利亚姆·尼森在《96小时》中饰演布莱恩·米尔斯,以及每一个人工智能助手。
CWIC工具本身功能强大,但随着用户提示变得复杂,可能会出现失误,需要多个工具来回答。随着可用工具数量的增加,LLMs开始失去选择和可靠地将工具链接在一起的能力。一个CWIC技能是将工具打包成一系列要执行的步骤的LLM提示,从而减少在尝试完成任务时在更多可能无关的工具之间选择的成本和不确定性。这些技能提示可以经过测试和强化,以每次都提供完美的答案。
CWIC技能非常适合任何可以分解为步骤的复杂任务,比如标准操作规程(SOP)或支持运行手册。它们比单一工具更灵活,因为其他工具可以用来支持主要工具,比如收集输入并转换工具的输出。以下是一个示例,通过要求用户提供PDF文件并输出该PDF的高亮版本来增强合规规则提取工具。
可能的指导说明:
- 使用文件上传工具从用户那里获取 IPS 遵从性文件(PDF 格式)。如果提供或已知文件名,请跳过此步骤。
- 使用文件选择工具来使用已上传或已命名的文档。
- 使用parse_document_to_markdown工具将文档解析为markdown。
- 使用compliance_rule_extractor_markdown工具从markdown中提取合规规则并保存为json格式。
- 使用compliance_highlight_pdf工具创建高亮版本。
请注意:虽然工具和技能是通过自然语言和LLMs创建、访问和协调的,但最好还是采用与传统编程相同的最佳工程实践进行开发,如单一责任、清晰接口、封装、松散耦合、可重用性和明确命名约定。 这将在未来的帖子中详细说明。
CWIC 专家 — 机器中的幽灵
具有一套良好的工具和技能,涵盖知识/应用/数据意识,您将拥有必要的基础要素,从而为您的应用程序提供竞争力强大的 Gen AI 聊天功能。唯一缺少的是赋予您的 Gen AI 聊天一些个性,以提供优秀的对话式用户体验 — 这就是专家的用武之地!
CWIC 专家是自治代理,是知识、工具、技能、身份和记忆的结合物。 当它们活跃时,它们还有一个计划正在执行,以解决应用用户的提示。
知识
我们已经讨论了工具和技能。知识是一种专业化的RAG工具(或工具集合),它集中于一系列文件和其他结构化或非结构化来源,构成了专业人员的领域。知识比添加到专业人员的其他工具或技能更为重要,并且往往更加针对专业人员,就像身份一样。
身份
CWIC Identity 由五个属性组成,合并成一个高级角色提示,以引导专业风格及个性化的LLM反应。
- 姓名: 专家的姓名
- 职位: 职位标题
- 工作描述: 工作详细描述
- 公共简介: 专家愿意与他人分享的信息。类似于简历中可找到的信息,如能力和成就。
- 私人简介: 只有专家自己知道的信息,如个性、基本口吻、不安全感和欲望。
一个专家的身份 — 其自称的能力 — 应该与其工具、知识和技能 — 其实际的能力相符合。
记忆
专家的能力和身份可以通过短期和长期记忆进一步增强。这使得专家能够与最终用户建立关系,并从过去的错误中学习。CWIC记忆根据最近性、相关性和重要性进行过滤和排序,然后注入到专家的LLM提示中。
CWIC的回忆也随着时间的推移而保持着。结晶化服务将冗长的记忆压缩成简洁的形式,整合相似的记忆,并修剪旧的、未使用的或重复的记忆。这个过程帮助保持记忆的高效性,随着用户互动的增加。可以将其看作是您的AI心理阁楼的玛丽康多。
策划
计划就是专家正在执行或打算在未来执行的行动。每个计划通常归结为使用什么工具以及使用什么参数。专家可以将计划优先级排序到一个后续计划中,但最重要的计划是当前计划,由专家通过思考决定。
想法是整个认知架构的原子连接组织。它们提供透明度,可追溯性,以及对专家们机制的深入了解 - 一句话,可解释性。
优先考虑和执行计划的过程被称为决策循环。一个简单的决策循环的例子是之前提到并在此处涵盖的MRKL代理循环,其中通过将用户输入与工具描述进行匹配来选择工具。
在一个复杂的决策周期中,执行计划的过程是动态和迭代的,可以受到以下因素的影响:
· 人类引导 · 预先编写的计划 · 长期目标 · 语义路由 · 技能 · 反应 · 记忆 · 反思
我们将在以后的帖子中更详细地讨论复杂的决策周期。
将所有内容整合在一起
一旦您为应用程序构建了一个具有知识、技能和数据意识的专家,还剩下什么要做呢?并不多!只需要一点黏合剂来指定专家,动态设置应用程序上下文,并处理Gen AI聊天中的操作,然后您就可以开始了。在本系列的第二部分中,我们将详细介绍我们在平台上如何实现这一点 - 敬请关注!
随着我们不断发展和完善Gen AI系统,我们不仅仅是在创造构建模块,我们正在打造能够以越来越复杂的方式思考、学习和交互的数字思维。CoALA框架为创建这些复杂认知结构提供了宝贵的路线图[1],我们很高兴能够处于这Gen AI革命的前沿。
参考资料
[1] 语言代理的认知结构。arXiv:2309.02427v3
关于作者
杰夫·斯克拉洛夫是Clearwater分析公司Gen AI的软件开发总监,拥有数十年的经验,建立,激励和协调才华横溢的团队解决重大问题,并提供创新的软件解决方案,为客户提供深刻的价值。