大模型应用方案升级实践与思考
结合之前做的一些产品实践,以及近期在大模型解决方案、产品形式、技术发展上的一些见闻,谈谈看法和想法,涉及到大模型的应用方案迭代升级,必须知道每种方案的所能与所不能。
大模型涌现出来的能力有很多,并且在快速发展,我认为其最重要且核心的三点是指令理解与遵循能力、内容生成能力、思维链推理能力,这些能力让大家对其在业务中应用产生了无限的想象。
有优必有劣,在ToB领域企业共识是必须与企业数据结合,大模型才能解决实际应用问题。但用基座大模型、行业大模型(SFT/Post-train)的方式去解决企业个性化需求,会带来很多问题:
- 大模型训练所需人才稀缺
- 训练成本极高、周期长
- 无法确保训练的可靠性和稳定性
- 有新数据就需要进行再次训练,还可能出现问题
- 当基座模型升级,原有训练数据无法使用
应用升级之路:Prompt、RAG、Copilot、Agent
Prompt引导输出
Prompt是指给定的一段文字或指令,作为输入来引导模型生成特定的输出。Prompt可以是一句话、一个问题、一段描述等,为模型提供了上下文和指导,帮助模型生成与Prompt相关的、符合预期的输出。
Prompt在大模型中的作用是指导和限制模型的生成,使其生成与Prompt相关、符合预期的输出。设计合适的Prompt,可以控制模型生成的内容,使其更加有针对性和可控,适应不同的任务和应用场景。
目前也有很多Prompt框架都是在BROKE、CREATE、LangGPT等等,包含模板、最佳实践和指导原则等,帮助创建出更有效、更有针对性的Prompt,提升模型在各种应用任务中的表现。它的意义在于:格式清晰标准化,提高可复用性、效率、可扩展性、可解释性,方便进行知识共享等。
但是Prompt只能依赖于模型的预训练知识,限制了模型在处理需要外部信息或实时数据的任务时的表现。
RAG信息增强
RAG(检索增强生成),什么情况下使用RAG。我认为有3点:
- 引入私有数据,减少幻觉,且私有数据存在一定频率的动态更新,解决长尾问题;
- 对于事实来源依赖度强,需要给出内容出处,增强回答可信度;
- 计算资源(GPU)不允许不充足的,客观条件不允许;
当然也不是说不需要SFT,是SFT+RAG更有性价比,远比每个企业或者每个场景SFT更有适用性。
Sam Altman在YC W24 启动会上的演讲要点:不建议大家把产品和服务建立在解决当前GPT-4模型不足的地方——其中大部分都会被GPT-5的模型升级所解决,特别是创业公司更需要基于场景做优化而不是基于模型能力做优化,从长期看通过检索增强生成(RAG)或是提供更多相关背景信息(Context)可能比微调模型(Fine-Tuning)更有意义。
而RAG的核心思想是,通过检索的方式,找到一个或多个相关的知识片段,然后将这些知识片段作为输入,提交给大模型,生成最终的输出。RAG本质上还是为了扩展大模型的外挂知识库,这个外挂知识库的知识又分为长期记忆和长期记忆。
知识库的实现细节也非常复杂,如:基于对话进行管理、划分切片、检索、清理、更新、存储、存储时间等都是需要考虑的问题。知识库可以作为一个单独的模块设计实现。
短期记忆一般就直接放内存中,但如果应用发生重启,短期记忆就会消失;此外,如果对话量很大,短期记忆的内存占用也会很大。使用外部的数据库进行持久化存储,是一个更好的选择。
- 长期记忆(硬盘)
- Embedding模型+向量数据库
- 稀疏检索+向量检索并行
- 搜索系统和大模型对齐
- …
- 短期记忆(内存)
- 长上下文窗口
但是现实业务应用场景远比我们所看到的RAG要复杂,比如需要一些工具插件(如搜索、浏览)、行为增强插件(定制工作流)、存储管理插件(数据存储方案)、业务数据管理插件(如角色、状态管理)、协作沙盒插件(自动化方案)等,凡是在实际业务中需要的管理、业务、渠道、其他等数据信息都要接入,因为要进行各类问题的解决,是个单点业务下的综合解决方案、或者业务链条下的综合解决方案。涉及到信息抽取类问题、数值计算类问题、逻辑推理类问题、业务决策类问题等等
可见RAG的下一步是Copilot,尽头是Agent。
Agent与SOP式工作流
Agent的定义是以大模型为大脑驱动,能够自主感知环境、行程记忆、规划决策、使用工具并执行复杂任务,甚至与其他Agent合作实现任务,能根据用户的语言请求进行任务拆解规划,从而多轮次调用不同的工具,来实现最终的目标。
和Copilot不一样,Copilot倾向于强调辅助和协作的角色,而Agent则更强调独立性和自主性。Agent可以自己规划并执行任务,也可以连接很多服务和工具来达成目标。OpenAI开发的GPTs,是基础Agent的构建能力,如工具调用、基于知识库文件记忆能力。在实际运行过程中,遇到难以决策的问题也会寻求你的帮助,你需要把知识、经验、需求、预期等喂给它,在交互过程中实现全自动化的决策、运行和反馈;这跟基于人设定的逻辑,辅助处理问题的逻辑完全不一样。
从角色上分析,大模型所需的Agent包含Planner和Executer两部分:
- Planner,具有决策能力的思考者
- 主要是围绕工作目标,制定合理的行动计划,分析过程中获得的反馈,进行行动修正
- 是控制中心,执行工作,尤其是需要确定性结果的执行工作,交由其他工具执行
- 能够针对不同的场景和不同需求的用户有较强的自然对话能力和理解能力
- 自省和成长迭代能力
- 能够模拟人的听、说、看、想,具备跟整个自然世界交流的能力
- 价值观对齐能力,Agent也需要像人一样受到社会价值观和道德取向的约束
- Executor,是特定工作的执行者
- 主要工作是扮演行动链/流水线中的一环,与其他环节配合以达成预设目标
- 是问题回答者,是执行单元,执行工作就是自己的任务,需要保证自身的准确性和完成度
- 学习使用工具、规划,还有记忆、知识储备等
- 可被定义的能力,根据人的需求和设定,随时变化出一个特定的形态
设计良好的Agent能解决大模型应用感知世界、连接周边系统的问题。
当然,Agent也在不断发展,面向问题解决的Agent能力成长拆解,可以分为大致3个等级,L1、L2、L3步步推进:
- L1,需要高精度描述问题,高度依赖人类给定的处理流程设计或建议,能够处理基于自身知识储备和知识补充的问答类问题,能够正确扮演自己的角色并于其他Agent/人类完成通讯
- L2,可以接受一定模糊程度的问题,可以基于问题拼装给定小流程的碎块,能够处理流程较短、需要结合少量工具调用的综合类问题,能够理解自己所在协作组织关系中的位置,能够给出上下游协作建议
- L3,可以接受现实场景自然语言表述的问题,能够自主规划解决问题的全部处理节点和判断节点,能够处理长链条、多分支、复杂上下文的复杂问题,结果具有高度可靠性,能后进行自组织选择合适的组织关系和方式完成给定任务
目前所看到的Agent都在L1级别,典型的SOP式Agent,如:coze、InsiderX、zapier、vectorvein等,远远不能达到Agent的定义,是一种SOP式的RPA。
单体Agent和群体Agent
在Agent的背景下,单体Agent指一个Agent能够独立完成的任务,而群体Agent则涉及到多个Agent之间的协作,共同实现更复杂的目标。例如,在一个多智能体系统中,每个Agent可能负责不同的子任务,通过相互之间的通信和协调,共同完成一个复杂的任务,在L2、L3级别。
单体Agent:
- 单体Agent指的是单个智能体(如单个AI Agent或机器人)所展现的智能。这种Agent常被设计来完成特定领域的决策制定。
- 在单体Agent中,Agent的决策和行动是基于其自身的知识库和处理能力。它们可能通过分治算法来不断优化自己的性能,不涉及与其他智能体的直接协作。
- 单体智能的应用包括个人助手、自动化生产线上的机器人等。
群体Agent:
- 群体Agent是指多个智能体(如多个AI Agent)通过协作和通信来共同解决问题或完成任务的能力。这种Agent现在智能体之间的互动和集体行为上,每个Agent可能只负责整体任务的一部分。
- 群体Agent强调的是Agent之间的协同工作,通过分布式计算和信息共享,实现比单个智能体更高效或更复杂的任务处理。
- 群体Agent的应用包括多机器人系统、分布式计算、群体决策支持系统等。在这些系统中,Agent可以共享信息、协调行动,表现出超越单个智能体的智能水平。
OpenAI开发的GPTs,实际上属于单体Agent。AutoGPT、GPT-Engineer和MetaGPT这三个框架都可以被视为群体Agent的进化之路,有的涉及到多个智能体(agents)之间的交互和协作。在这些框架中,Agent有单体Agent,也有多个Agent组成的群体Agent。
- AutoGPT:
- AutoGPT能够根据用户设定的目标,自行制定计划并执行任务,无需人持续干预。通过迭代自己的prompt并在每次迭代中构建prompt实现目标。
- MetaGPT:
- MetaGPT强调了自动生成Agent的能力,将SOP具体化。包括产品经理/架构师/项目经理/工程师。提供了软件公司的整个过程以及精心编排的SOP。以一行需求作为输入,输出用户故事/竞品分析/需求/数据结构/API/文档等。
通过Agent之间的交互和协作,这些框架能够解决复杂的问题,展现出群体Agent的优势。如:使用自然语言进行软件开发、实体产品设计、数字产品设计,从而通过不同的智能体,提供了更强的生产力,重塑整个生产资料、生产关系,整个社会的产能也会有一个很大的提升。
因此,对于Agent也提出了更高的要求:
- 大、小模型切换适配能力
- 对使用者而言简单的指令输入
- 精确的指令表达
- 丰富准确的知识储备
- 真实的拟人化表现
- 完善的context管理调用机制
- 复杂的处理过程控制
- 丰富的工具使用
- 丰富的群体Agent参与机制
- 强大丰富的任务处理能力
- …
ToC与ToB的应用展望
ToC方向Agent可能是智能助理(工作、学习、生活…)等,从群体Agent角度来看,ToC或许是更大的社区化组织,每个人的Agent都能通过数据连接在一起。
ToB方向Agent可能成为企业内部的不同工种,重塑企业组织流程,提效的同时,最后实现完全由Agent组建、运营起来的公司;组织、企业,不同的企业和员工都能通过智能体纳入到网络当中。
目前大模型在ToB领域的应用场景主要面向运营管理层面,如果想要真正用起来,需要将大模型融入企业原有数字化系统,即打造企业全局业务Agent(基于大模型能力重构的Agent层),需要考虑构建LUI交互模式、服务注册机制、打通异构业务系统、API管理系统、优化体验等
进而打通企业各类业务系统,如:OA、HR、CRM、ERP,如银行层面包括:业务类(核心业务系统、信贷管理系统…)、渠道类(渠道管理系统、网络银行、手机银行…)、管理类(风险管理、商业智能、金融审计与稽查…)
好了,这次先聊到这,下次接着聊,欢迎交流(主页可获取联系方式)。