背景
基于ChatGPT和Coze平台的使用感受得到如下公式:
其中:
- Prompt中所指明的内容可以理解为角色认知。角色认知也即:是谁、原则是什么、目标产出是什么以及获得目标产出的路径。
- 大语言模型在个人或企业化使用场景下,始终可用的能力是其推理、总结和转换的能力。我们可以将这些能力统称为“信息处理能力”。LLM在这个等式中也即这些能力的集合。
- Source即资源,在LLM训练和可得的资源的基础上,额外且更明确可以获取的资源。它包括网络上的资源、供应商资源、知识库、私有数据库等等。
- Workflow即工作流,是LLM内部不可见的加工路径之外,额外且明确的、指向输出物的工作流程。
也即,我们可以将“拥有独特信息处理意识,能够获取特定资源,并且按照其工作流进行加工,最终得到输出”的工作单元称为“专家机器人”。优化机器人工作效果的方式也很明确,调整这四部分即可(bot能力的量化评价也将是bot设计过程中需要解决的)。
专家机器人可以是一个完整的产品,也可以是产品的模块,构建它,要和构建产品一样。唯一的区别是,它的试错成本极低。
这里有一个暂时搁置的问题:认知对人思维的干涉,究竟是从信息获取阶段开始还是从处理加工阶段开始?(我当前倾向于前者)它牵扯出bot设计过程中的另一个问题:认知的习得是否应当以提供prompt的形式模拟,还是需要通过fine-tuning或embedding对模型进行干预才能够实现?我打算先尝试做出来bot再做讨论。
工程内容
目标
尝试将工作场景中的任务处理、生活场景中的信息收集等行为,构建为专家/专项机器人,称为mate。
流程设计
基于当前的认知,进行如下设计流程规划:
- 梳理工作和生活场景及不同场景下的事务
- 定义事务复杂度(是否单一行为即完成,是否需要花时间加工处理,是否涉及他人参与),分为简单、中等、复杂,分别用1、2、3标记
- 梳理事务的处理流程,分为主观和客观两部分
- 主观:内观自己处理事务时的情绪、原则、目的、倾向、主张、期待等等主观内容,并将这些内容表述出来。这些内容统统都将成为mate的意识成分,是它能替代自己处理事务的关键。(这个过程里有趣又困难的是要客观地表述自己的主观意识)
- 客观:梳理处理事务时,调用的资源(网站、工具、数据库等等),处理的步骤,影响决策的关键因素等。
- 将主观的目标、倾向、目标转述为prompt
- 将客观的资源、关键因素添加为Source,将加工步骤添加为Workflow,之后在prompt中以合适的方式引入
- 场景任务测试
备注:
事务的划分本身就涉及定义和拆解,因此定义和梳理很可能存在往复。
主观和客观本身存在注意力机制:关注的内容权重高,对路径的选择的影响程度也高。配置Workflow时不应当引入主观因素。
一些想做的mate
一些当下已经能想到的可以外化的事务
- 健康建议:结合身体指标、目标状态、当周及当日进食和健身情况、当前时间给出合理且能够nudge我的建议(饮食、健身、睡眠)
- 新闻总结:基于想要了解的新闻tag,搜集新闻并输出摘要,同时提供详情链接
- 读书总结:基于书籍资源、读书笔记、书籍高亮内容,输出总结,并且在不定的时间内remind我
- 产品调研:基于描述的需求场景,找到已有的产品,并输出产品调研报告
- 项目管理:基于项目目标、项目节点、产品研发进度、系统运行情况、服务器及数据库运行情况、客户信息,反馈项目节点紧张情况、风险点和处理意见(这个bot可以预见极为复杂,或许需要拆解为bot组)
Memo
大语言模型内的产出,或者说Specialist Bot的产出,始终会比较简单(受限因素很明显,首当其冲就是token限制)。获得产品级的输出,在输出节点还要做深,可能需要引入外部generator。
与设计系统一样,给予资源的同时还应控制其资源权限,这块目前仅能做到全局地给或不给,推广到现实环境应用的时候需要能在同一份资源上为不同的mate增加权限配置。