专栏名称: 阿里开发者
阿里巴巴官方技术号,关于阿里的技术创新均将呈现于此
目录
相关文章推荐
腾讯  ·  第二波🧧|送鹅厂红包封面 ·  2 天前  
白鲸出海  ·  OpenAI发布旗下首个AI ... ·  3 天前  
阿里开发者  ·  终于有人说清楚AI开发的全流程了! ·  3 天前  
51好读  ›  专栏  ›  阿里开发者

终于有人说清楚AI开发的全流程了!

阿里开发者  · 公众号  · 科技公司  · 2025-01-24 08:30

正文

阿里妹导读


本文将深入解析AI需求开发流程,全面覆盖从需求分析、开发、测试到发布及后续的监控和反馈收集等各个阶段。

引言

继上篇文章 《掌握Prompt写作技巧:写出完美Prompt的秘籍》对Prompt写作技巧的探讨,本篇将深入解析AI需求开发流程,全面覆盖从需求分析、开发、测试到发布及后续的监控和反馈收集等各个阶段。在AI应用中,提示词工程并不仅限于提示词写作技巧,而是贯穿于整体的AI需求开发流程中,助力业务与技术团队紧密协作,实现高效的开发与优化。



在需求分析阶段,明确的业务目标与模型性能的深刻理解是项目的基石,本文特别强调通过 AI OPS促进产品和业务团队的自主参与 AI需求调研,这不仅有助于保证技术实现与实际业务需求的高度契合,还能增强跨团队协作的效率。

开发阶段则注重AI模型的选择和优化,本文详细讨论了在性能与成本之间寻求最佳平衡的策略,包括对响应时间、Token数量,以及API调用成本的全面考量。此外,通过AI OPS工具的应用,使得提示词设计更为灵活高效,优化了整个开发流程。

测试阶段采用多维度评估的方式,确保模型在多种场景下的应用效果。而在发布后,借助实时监控和用户反馈收集,系统得以持续优化与改进。本文强调,提示词上线仅是实现目标的开始,通过多轮迭代和改进,我们能逐步提升生成效果,使其更加贴合实际业务需求,保障高效AI应用和用户满意度的提升。

一. 需求分析&调研

AI需求通常源自缺乏开发背景的产品和业务团队,这使得在需求调研阶段通常需要依赖开发人员的协助。然而,利用AI OPS(如DIFY等)提供的简便交互模式,产品和业务团队能够在无需开发人员介入的情况下,自主进行需求调研和初步验证。这不仅提高了团队的独立性,通过减少对开发资源的依赖,优化产品开发流程,显著降低了整体需求的迭代周期。


1.1 传统AI需求开发流程

1. 需求分析:

  •  问题定义:与各利益相关者沟通,明确业务需求和最终目标。
  •  用户需求调研:通过调查问卷和访谈确定用户需求如摘要长度和准确性。
  •  确定项目范围:定义项目的必要功能和优先级。
  •  制定性能指标:设定系统性能和质量标准。
  •  撰写需求文档:整理全部需求成文档供团队参考。

2. 技术调研:

  •  竞品分析:分析市场现有的类似产品,明确其优势与不足。
  •  原型验证:通过小规模实验验证所选技术路线的可行性。

这种开发流程虽然能细致入微地满足项目需求,但在多个方面面临挑战,例如对技术人员的依赖、长时间的调研和验证过程,以及有限的灵活性。

1.2  AI OPS引入的革新

AI OPS的出现解决了传统流程中许多固有的痛点。它大大降低了技术门槛,使得不懂代码的业务人员和产品经理能够更直接地参与到AI需求的开发和调研中,它集成了图形化界面和自动化功能,简化流程、加快迭代速度、优化资源管理,并提高团队协作效率。

1.3  业务和产品人员的角色转变

AI OPS新流程和传统流程的最大差异在于,对需求调研和初步可行性分析的执行者角色发生了根本性变化。传统的开发模式中,这一阶段通常需要技术开发人员深度介入,因为涉及复杂的技术评估和验证。

在AI OPS模式中,不懂代码的业务人员和产品经理能够直接进行初步的可行性调研和分析。通过操作简便的AI OPS工具,业务和产品人员可以完成以下任务:

  • 快速配置和测试模型:利用直观的配置界面设置和测试不同的AI模型,评估其可行性和效果。
  • 即时反馈和调整:根据实验结果即时调整需求和参数,而无需大量的技术投入。
  • 自主撰写需求文档:基于直接的实验数据,撰写更加贴近实际应用的需求文档。

这种变化不仅提高了项目的启动速度,也使得需求更贴合实际业务应用。同时,技术人员可以将更多精力放在高价值的优化和创新上,从而提升团队的整体效率。

二、开发阶段

2.1 LLM 选型

在选择和优化LLM时,需要全面考虑多个因素,以在性能和成本之间达到最佳平衡。这包括响应时间(RT)、Token数、API调用量、模型调用成本以及最终产出的效果。这些因素的综合考量可以帮助用户进行更明智的决策,确保模型在实际应用中的高效运行。

2.1.1 模型大小

  • 响应时间(RT):从请求发出到收到响应的时间。随着模型规模的增大,其计算资源需求更高,往往导致更长的RT。这可能影响实时应用中的响应速度。
  • 效果:大规模模型通常具有更高的准确性和更好的输出效果,尤其在复杂任务中能够展现出色的表现。
  • 成本:模型使用时产生的经济成本,调用模型规模越大所需的费用较高,因此需综合考虑预算和效益。

2.1.2 综合考虑的因素

为了在响应速度、效果和成本之间达到合理的平衡,以下几个方面值得特别关注:

  • API调用量限制:任何并发情况下,都必须注意API调用量的限制(包括每分钟查询数QPM和每分钟Token数TPM),以避免因频繁访问而导致被限流。这要求合理的请求频率设置和选择支持较高调用量的模型。

  • Token长度:Token限制影响模型处理长文本的能力。选择支持较高Token限度的模型,以确保对于复杂或长文本任务模型可以充分处理。

2.1.3 综合策略

1.任务复杂性与模型选择

  • 对于简单任务,应使用小规模模型来降低RT和成本。这适合预算有限且不需要高度精确输出的应用场景。

  • 复杂任务则需选择大规模模型,确保能从模型的高级能力中获益,获得更精确的结果。

2.优化API调用和Token使用

  • 合理规划请求频率,充分利用API支持的最大调用能力,以避免限流影响。

  • 在输入文本上进行优化,保持在Token限制内同时保证信息有效性,提升模型处理效率。

在模型选择过程中,全面考量模型大小、响应时间、效果、成本以及API调用量和Token限制,能够更好地为具体应用找到最佳解决方案。通过合理的模型选择和策略优化,不仅可以提升性能,还能在预算内实现更高的经济效益。这种多角度的综合考虑是有效使用AI模型的重要策略。

举个🌰:



在选择合适的通义2.5系列模型时,需要综合考虑响应时间(RT)、API调用量、Token限制(Token)、每分钟查询数(QPM)、调用成本以及模型产出的效果。以下是一个基于通义2.5系列的模型选型指南,帮助您在性能和成本之间找到最佳平衡。

1. qwen2.5-0.5b-instruct/qwen2.5-1.5b-instruct

适合任务:基础问答、简单情感分析、简短文本处理。

优化因素:

  • RT:低,适合实时响应。
  • 调用成本:限时免费。
  • 使用建议:此模型非常适合需要快速响应且预算有限的简单应用场景。

2. qwen2.5-7b-instruct

适合任务:中等复杂度文本生成、详细情感分析、复杂文本摘要。

优化因素:

  • RT:中。
  • 调用成本:较低。
  • 使用建议:在需要生成复杂内容并要求高精度的应用中表现优异。

3. qwen2.5-72b-instruct

适合任务:复杂任务处理、深入文本分析、大规模内容生成。

优化因素:

  • RT:中高。
  • 调用成本:较高的预算需求。
  • 使用建议:此模型适合预算不敏感且需要高性能处理的高级应用场景。

2.2 提示词设计和优化

2.2.1 初始提示词设计

基于需求和技术调研结果,设计初始的提示词。关于提示词撰写本文不再赘述,请参考我的另一篇文章:《掌握Prompt写作技巧:写出完美Prompt的秘籍

2.2.2 提示词实验

利用AI OPS 等工具比较不同LLM在相似提示词下的运行效果,我们可以设计一个实验,该实验通过评估各种模型在特定任务或上下文中的表现,协助选择最合适的模型。这一过程包括对多个LLM应用相同或类似的提示词(prompts),然后比较各模型生成的输出。通过这种方式,我们能够深入了解不同模型在生成质量、响应准确性、风格一致性和适应性等方面的优劣势。此实验将为我们选择最佳模型提供依据,帮助优化AI应用的效率和效果。



多模型对比功能在模型选型中的帮助主要体现在以下几个方面:

1.细致的性能评估

通过比较多个模型的输出,团队可以从准确性、生成流畅度、语义一致性等多个维度进行评估。这种细致的比较能够帮助快速识别出在特定任务上表现最佳的模型。

2.针对性分析

不同模型在不同任务上的表现可能差异显著。多模型对比允许团队在实际应用场景中测试模型,分析哪些模型更擅长处理特定类型的输入,例如情感分析、问答系统或文本生成,确保选型符合任务需求。

3.识别特定场景下的优劣

使用多模型对比功能可以针对具体的应用场景进行调查。例如,在用户支持场景中,表现更好的模型可能更加善于理解上下文和生成准确的回答,从而更好地满足用户需求。

4.成本效益分析

通过评估不同模型的性能,团队可以在保持一定输出质量的前提下,选择计算成本更低的模型,从而提升资源使用效率,减少运营成本。

2.3 链路分析



在应对复杂的AI需求,尤其是多LLM协作的场景中,链路分析发挥着至关重要的作用。通过对各个处理环节的可视化和追踪,链路分析帮助开发者深入理解链路中各节点的行为和性能。具体而言,链路分析链路分析的作用体现在以下几个方面:

2.3.1 耗时分析

通过监测不同处理步骤的耗时,链路分析能够识别出瓶颈环节。这一信息有助于团队快速优化,提升系统的整体响应速度和用户体验。例如,若某个模型在生成响应时耗时过长,团队可以针对性地进行优化或部署更高效的算法。

2.3.2 Token 消耗

对于基于Token计费的模型,链路分析允许团队实时追踪每个环节消耗的Token数量。这对于资源预算和成本控制至关重要,团队可以根据Token消耗的数据,评估模型的使用效率,并在必要时进行策略调整,以降低运营成本。

2.3.3 输入输出结果检测



链路分析能够对LLM的输入与输出进行详细的记录和分析,帮助团队评估模型的准确性和一致性。这一监测提高了大模型在特定任务下的可靠性,确保输出结果符合预期,降低了错误发生的风险。

2.3.4 异常检测与诊断



通过监测每个处理环节的正常运行状态,链路分析能及时捕捉到任何异常情况,例如模型输出的异常值或处理逻辑的故障。这些信息使团队能够迅速反应和修复问题,从而降低对用户体验的负面影响,确保应用的稳定性和可靠性。

2.3.5 链路分析优化

基于链路分析的结果,开发者可以对各节点进行针对性的优化,从而提升整体系统的性能和效率,具体措施包括:

1. 性能优化:通过监测不同处理步骤的耗时,链路分析能够有效识别出系统中的瓶颈环节。这些信息有助于开发者迅速采取针对性措施,加快系统响应速度并提升用户体验。

2. PROMPT表现优化:针对不同模型在相同或相似提示词(prompts)下的生成质量进行评估,调整提示词的结构和内容,提高模型的响应准确性和一致性。通过定期测试和反馈,优化提示词的设计策略,使其更符合预期的输出标准。

3. TOKEN消耗优化:利用分析结果监测各模型的TOKEN消耗情况,识别高消耗节点。通过调整处理逻辑或者改进算法,实现TOKEN的高效利用,减少不必要的资源浪费和成本开销。比如,简化提示词或优化模型的输入输出策略,以降低整体TOKEN消耗量。

结合这些具体的优化措施,团队可以显著提升各节点的运行效率,减少资源浪费,提高系统的响应速度和输出质量,确保多模型协作在复杂AI需求中的高效执行。

2.4  RT 优化小技巧

在上文中,我们零星提到了一些关于实时(RT)优化的技巧,以下是对这些技巧的汇总:

2.4.1 使用适当规模的模型

根据具体任务的需求和计算资源的限制,选择适合的模型规模至关重要。模型并非越大越好,而是要选用与任务匹配的模型来获得最佳效果。较小的模型常在资源高效性和速度上具有优势,适用于简单任务;而较大模型则能在更复杂的场景中提供高度的准确性。因此,关键是理解不同模型的特性和适用范围,以便在确保任务效果的同时,合理利用计算资源。

举个🌰:

在文本分类任务中,对大量用户评论进行快速处理时,qwen2.5-7b-instruct这样的较小模型通常更为合适,因为它能以足够的准确度完成任务并且更为高效。虽然qwen-max等大型模型具备强大的处理能力,但在这种无需极高精度的任务中,反而可能显得资源使用过度。因此,通过深入了解各个模型的参数、特征和实际表现,不要一味追求“大而全”,而应根据具体需求选择最适合的模型,做到资源和性能的最佳平衡。

2.4.2  精简PROMPT

通过精简Prompt的Token数量,可以显著优化大型语言模型(LLM)的响应时间(RT)。这种优化方法的核心在于去除多余信息并使用简洁明确的语言,从而帮助模型快速高效地理解和执行任务。精简Prompt不仅能够加速处理速度,还可以减少计算资源的消耗。然而,在精简过程中必须谨慎,确保必要的上下文信息不被遗漏,以避免影响模型输出的准确性。通过这种平衡的优化策略,用户可以在提升系统运行效率的同时保持高质量的结果输出。

举个🌰:

原始Prompt:

"请为我提供一份描述公司新产品的简要信息。我们公司的新产品是一款智能手机,这款手机拥有最新的处理器技术、高清显示屏、高像素摄像头,并且支持快速充电。我们的目标是通过这款手机满足消费者对于高性能设备的需求。此外,这款手机还具备长电池寿命和时尚的设计。请确保在您提供的描述中包含所有这些信息。"

精简后的Prompt:

"请简要描述我公司新推出的智能手机,强调其处理器技术、显示屏、摄像头、快速充电、长电池寿命和设计。"

2.4.3 复杂任务拆解



当面对复杂问题时,过于依赖单AGENT 或者 将一个PROMPT写得极其复杂,无异于创建一个几千行代码的方法,大量冗长的指令和紧耦合逻辑使得整个系统变得臃肿和反应迟缓。这种方式不仅增加了理解和调试的难度,还严重影响了系统的响应速度,易于产生瓶颈。

相比之下,Multi-Agent 以其高度的灵活性,通过将任务分解为多个专注的小任务,交由不同智能代理并行处理,显著减少整体处理时间。每个代理各司其职,无需频繁等待其他任务完成,从而提高了系统的整体效率和响应速度。在高负载场景中,Multi-Agent架构也展现出更强的容错能力和适应性,能动态调整任务和资源分配,确保系统稳定运行。

通过多代理系统的模块化设计,功能扩展和维护变得更加简便,允许系统随时应对新的任务需求和环境变化。这种设计不仅优化了资源利用,还促成了智能协作与决策,使得系统在动态环境中始终保持高效、可靠的性能。通过减少对单一复杂PROMPT的依赖,多代理系统提供了一种更高效、易维护的解决方案,真正提升了用户体验和系统效率。

2.4.4  并行执行任务

通过采用multi-agent 将一个复杂任务拆解成多个单一职责的Agent后,可以并行执行这些拆解后的Agent,提升任务运行效率和响应速度。在这一架构下,多个智能代理被设计成处理彼此之间无直接依赖关系的子任务,使得系统能够同时完成多项任务,充分利用计算资源。

举个🌰:

一个公司希望从面试记录中提炼候选人的以下特质:务实、阳光、聪明、自驱。系统可以通过以下方式运作:

1. 务实分析Agent:专注扫描面试对话,识别候选人在回答中使用的具体细节、事实陈述及实际案例,评估其务实性。

2. 阳光分析Agent:评估候选人语言中的积极词汇、语气,以及解决问题时所表现出的乐观态度,判断其是否阳光向上。

4. 自驱分析Agent:识别候选人在面试中体现出的自我激励和主动承担责任的实例,分析其自我驱动的特质。

在前四个代理并行完成其任务后,综合分析代理使用大语言模型汇总并整合这些信息,生成对候选人全方位的特质总结和建议。

这种多代理系统的应用,使得分析过程不再需要冗长的线性等待,减少了处理时间,增强了评估的效率和准确性,从而帮助招聘团队在竞争激烈的市场中迅速做出更明智的选择。

2.4.5 任务预处理

在优化大型语言模型(LLM)运行效率的方案中,提前进行预处理工作的前提是识别并区分出哪些数据处理任务可以在模型执行前独立完成。这些预处理步骤可以在用户触发模型运行之前完成,从而减少实时计算的负担,提升整体响应速度。下面是一个基于这一前提的描述:

通过提前完成预处理工作,可以有效地优化LLM的运行效率。预处理的关键在于识别可以脱离实时输入而提前执行的任务,例如数据清洗、格式转换和特征提取等。通过将这些步骤放在LLM执行之前,我们可以在用户触发模型运行时仅处理最相关的计算任务,从而大大缩短响应时间。预处理还可以降低系统负载,减少计算资源的即时消耗。

举个🌰:

原始任务描述:

"在处理用户生成的在线评论时,我们需要实时进行情感分析。这个过程通常包括从原始文本中解析有用的信息,移除噪声,执行文本标准化,然后进行情感判断。"

优化前的预处理步骤:

"预先解析和清理在线评论,移除无关信息,并标准化文本。确保在用户请求情感分析时,直接进行情感判断。"

通过在LLM执行之前完成这些预处理步骤,可以有效减少运行时的计算需求,并提升系统的响应效率,同时确保分析的准确性和一致性。

2.4.6 缓存中间结果

通过缓存中间结果,可以显著优化大型语言模型(LLM)的运行效率。在处理过程中,某些中间结果是可重复使用的,通过缓存技术,我们可以避免不必要的重复计算。这一策略的核心在于识别出哪些结果可以缓存,并合理管理缓存,以便在多次运行时快速访问这些数据。缓存不仅能够加速处理速度,还能显著减少计算资源的消耗,从而提高系统的整体性能。采用缓存策略时,需要确保缓存的一致性和有效性,以维护输出结果的准确性。

举个🌰:

原始任务描述:

"在对海量用户数据进行个性化推荐时,每次需要重新计算每个用户的特征向量、相似度矩阵,并生成推荐列表。这些计算过程在用户特征变化不大的情况下是相似的。"

优化后的缓存策略:

"缓存用户特征向量和相似度矩阵,减少重复计算。保证推荐列表的实时更新时充分利用缓存数据。"

通过缓存这些可重复使用的中间结果,我们可以显著降低每次计算的时间和资源需求,从而提升模型的响应速度和系统的整体效率。

三、测试阶段

LLM 评估测试是开发和部署语言模型(LLM)应用程序的重要环节。评估不仅包括确保模型在开发过程中的性能,也涉及到使用后对其效果的持续检测和优化。团队通常会根据特定的用例、行业标准和开发阶段,选用多种评估方法来衡量其 AI 应用程序的表现。AI 平台通常提供灵活的评分系统,能够将所有评估结果整合到一个中心化的位置,便于分析、操作和后续迭代。

3.1 人工评估

人工评测旨在通过专业测试的协作,为用户提供准确和高效的工作流及工作流PROMPT节点的评估服务。在人工评测过程中,测试人员将对系统输出的结果进行深入的审查和分析,以确保其质量和可靠性。这一过程不仅考虑到模型给出的数据结果,还结合了人为的主观判断和行业专业知识,从而更全面地识别潜在问题和改进空间。通过这种评测方式,用户可以获得更具参考价值的反馈,进而推动产品优化和性能提升。

3.1.1 人工评估指标

以下为我们部门定义的通用人工评估指标,仅供参考:

1.生成质量(Generation Quality)

  • 语法正确性(Grammaticality):语言生成是否符合语法规则。
  • 流畅性(Fluency):语言生成是否自然和流畅。
  • 一致性(Coherence):内容的前后连贯程度。
  • 信息完整性(Completeness):回答或内容是否提供了全面的信息。
  • 相关性(Relevance):生成内容是否与给定的上下文或问题相关。

2.事实性(Factual Accuracy)

  • 准确性(Accuracy):生成内容中所提供事实的正确程度。
  • 可信度(Credibility):信息来源和内容的可信度。

3. 创造性(Creativity)

  • 创新性(Novelty):生成内容的新颖和原创程度。
  • 多样性(Diversity):生成内容的多样性和丰富性。

4. 伦理和安全(Ethics and Safety)

  • 无害性(Harmlessness):生成内容是否避免导致伤害或负面影响。
  • 公平性(Fairness):是否存在偏见或不公正的描述。
  • 隐私保护(Privacy):是否遵守用户隐私保护原则。

5. 任务完成度(Task Success)

  • 目标达成(Goal Achievement):在特定任务中语言模型是否达成预期目标。
  • 问题解决(Problem Solving):对复杂问题的解决能力。

6. 响应速度(Response Time)

  • 指用户输入后的系统响应时间。

3.1.2 操作示例

1.测试手动评分



评测平台提供人工打分的指标,通过这些指标,测试团队可以对输出结果进行系统的评分,并详细描述评分的原因。这一过程不仅能够提高评测的准确性,还能为研发团队提供深入的反馈。

2.查看评分结果

研发团队可以通过平台实时查看测试反馈的具体结果,包括每项指标的得分、测试人员对输出结果的评价以及相关的改进建议。这种透明的信息流动使研发人员能够快速识别问题所在,并进行有针对性的优化和调整。



此外,评测平台还支持历史数据的对比分析,帮助研发团队了解进展和不足,从而更有效地进行产品改进和升级。整体而言,该评测平台为提高产品质量和研发效率提供了强有力的支持。

3.2 数据集测试

数据集评测 能够对的提示词进行严格的测试,以确保对其相关数据集的影响得到充分评估。每次提示词调整后,系统可自动运行数据集评测,分析其对结果准确性和模型表现的影响。此过程涉及对比修改前后的数据输出,检测任何模式变化或结果偏差。数据集评测为用户提供了详尽的分析报告,帮助他们理解提示词修改带来的实际效应,并为后续优化提供清晰的指导方向。通过此功能,用户可以更加自信和精准地进行提示词的迭代,确保每一次修改都能推动工作流的进一步优化。

通过设立数据集并在每次变更PROMPT后对其进行批量测试,可以有效解决评估过程中面临的多个问题。这一方法具有以下几个优点:

1.提供基准和标准化评估

  • 建立基线:设立固定的数据集作为基准,使得每次变更后的结果都可以与原始数据集的输出进行对比,确保评估过程的标准化与一致性。

  • 量化效果:通过定量分析不同版本的输出指标(如准确性、流畅性等),可以较为清晰地判断变更是否带来改进。

2.覆盖多样性与复杂性

  • 测试多场景:设定的数据集可以包含多种输入情况,保证覆盖不同用户需求和场景,以全面评估模型的适应性和鲁棒性。

  • 检测异常情况:通过多样化的数据样本,能够在不同情境下发现可能的输出问题,如幻觉现象等。

3.系统化的多维度评估

  • 多维度打分:使用多种评估指标对LLM输出进行打分,帮助开发者系统化地理解模型在准确性、流畅性、语义一致性等方面的表现。

  • 用户体验模拟:通过基于数据集的评估,可以更接近实际用户体验,预测新输入对用户满意度和交互质量的影响。

4.快速迭代与反馈

  • 自动化测试流程:通过自动化脚本执行批量测试,有助于快速获取评估结果,降低人工干预的时间成本和误差。

  • 闭环反馈机制:评估数据可以为后续的PROMPT调整提供科学依据,形成持续优化的闭环。

3.2.1 数据集评估的类型

1.基于模型的评估(LLM-as-a-Judge)

基于模型的评估是一项强大的工具,它可以自动评估与 AI 平台集成的 LLM 应用程序。在这种方法中,模型会根据多个因素,如准确性、是否包含负面或有害内容、以及幻觉的出现等,对 AI 平台中的特定会话、追踪或 LLM 调用进行评分。  

2.确定性结果的评估

将 AGENT 生成的输出与数据集中的预期输出进行比对。判断生成的结果与预期结果在内容上的完全一致,即这两个结果在字面上出现相同的文本。

3.2.2 操作示例

1.设立数据集:选择或构建一个包含不同场景和类型的代表性数据集。

2.数据集批量测试:使用模型对设定数据集进行处理,收集生成的输出。

3.多维度评估:使用标准评估指标对模型输出进行打分,并进行对比分析。

4.结果分析:总结评估结果,判断变更效果是否达标,是否需要进一步调整。

四. 上线和迭代

4.1 正式上线

将系统部署到生产环境,开放给用户使用,确保系统的稳定运行。上线后,持续监控系统运行状态,确保平稳过渡。

4.2 监控和日志

设置实时监控和日志系统,追踪系统运行状态,发现潜在问题。

4.2.1 实时预警

实现对异常日志的实时监控和及时预警。这一集成将捕获AI应用中的各种异常情况,包括调用模型的异常和节点运行异常,以及其他错误信息、性能瓶颈和资源使用情况。一旦监测到异常,系统将立即触发预警,通知相关技术团队,以便快速响应和处理。

快速问题定位

1.通过鹰眼TRACE定位日志



鹰眼trace查询日志(图1)

2.trace快速定位 workflow_id

通过workflow_id分析链路 具体参考:2.3 链路分析

4.2.2 节点平均耗时统计



在multiagent的模式下,通过分析一定周期内每个节点的运行耗时情况,可以针对性地对节点的响应时间(RT)进行优化。以下是一些具体的补充和完善建议:

1. 实现实时监控系统,记录每个节点的运行耗时、处理任务的数量和频率,以及其在整个系统中的角色。例如,通过使用分布式追踪工具来跟踪请求的路径和时间戳。

2. 通过分析确定哪些节点成为系统瓶颈。例如,使用瓶颈分析图表或关键路径法找出最耗时的环节。

3. 审视高耗时节点中的实现方案,看看是否存在优化空间。可能涉及更改算法本身、使用更高效的数据结构,或减少不必要的计算步骤。

通过以上措施,可以有效优化每个节点的响应时间,从而提升整个multiagent节点的效率和性能。

4.3 用户反馈收集

通过问卷、评论等方式收集用户反馈,了解用户的使用体验和需求。建立用户反馈渠道,如邮件、社交媒体和用户社区,鼓励用户提供反馈和意见。

4.3.1 显示反馈

显式反馈是用户明确表达的评价,通常包括:

  • 点赞/点踩:这种双向选择机制简单直观,可以快速反映出用户对模型输出的满意度。

  • 1-5星评分:这种分级评分系统提供了更细腻的反馈,让用户能够表达对内容的具体满意度。分析这些评分可以帮助识别高质量内容与需要改进的领域。

  • 评论与建议:允许用户留下自由文本的反馈,不仅可以获得更具体的用户意见,还能理解用户如何使用生成的内容以及他们的期望。

收集显式反馈

  • 组件设计:前端将设计直观易用的用户界面,允许用户方便地对AGENT的表现进行点赞、点踩或打分(1-5星)。这些组件将嵌入自然的用户交互流程中,减少用户反馈的阻碍。

  • 评论系统:引入评论框,以便用户能够详细描述他们的体验和建议,产生的自由文本反馈将对后续的深度分析有重要价值。

4.3.2 隐示反馈

隐式反馈则是通过用户的行为进行评估,常见的指标包括:

  • 停留时间:用户在特定生成内容上的停留时间可以反映内容的吸引力。如果用户在某个结果上停留时间较长,通常意味着该内容更符合用户需求。

  • 点击率:观察用户点击不同生成输出的频率,可以帮助识别哪些内容更具吸引力,并进一步分析点击后的行为,例如是否进行了进一步的交互。

  • 接受/拒绝模型生成的输出:记录用户是否接受AI生成的内容或选择其它选项可以作为一种反馈。若用户频繁拒绝生成的结果,则提示该模型在某些方面存在缺陷。

  • 人机协作情况:监测用户与AI的互动频率,如何使用AI生成内容,以及在什么情况下选择介入或修改生成的输出,可以提供有关有效协作的见解。

收集隐式反馈

  • 用户行为监测:前端组件将集成对用户行为的监测功能,包括停留时间、点击率、以及对生成输出的接受与拒绝情况。这些数据将以匿名方式收集,确保用户隐私。

  • 交互数据:分析用户在使用AGENT时的交互方式,包括他们如何修改、使用或离开生成的内容。这可以帮助我们了解用户的真实需求和习惯。

4.3.3 定期评估与优化

计划定期审查收集到的反馈数据,为产品迭代和改进奠定基础。通过持续的用户反馈循环,确保AGENT模型能够不断提升其服务质量。

分析显式反馈

  • 统计分析:计算平均评分、点赞/点踩比例等指标来了解整体用户满意度。
  • 情感分析:对评论进行情感分析,提取用户反馈中的积极和消极情绪。
  • 关键词提取:使用自然语言处理工具识别评论中的高频关键词,以确定主要关注点。

分析隐式反馈

  • 行为路径分析:绘制用户在使用过程中可能的行为路径,以找出常见的使用模式和问题。
  • 接受率统计:计算不同内容选项的接受与拒绝率,发现用户偏好的生成内容特征。
  • 决策树模型:建立用户行为模型,以识别何种特定的内容组合可能导致更高的用户满意度。

4.5 线上质量检测

在上线后的AGENT 中,质量跟踪是确保其输出符合用户期望的关键环节不仅是管理和评估AGENT 输出的重要工具,也是实现用户满意、增强品牌价值和促进持续发展的重要策略。

1.弥补反馈不足  

许多用户在使用产品时并不会主动提供反馈,这可能导致开发团队对模型输出的真实效果了解不够。通过质量跟踪,可以主动监测和评估输出结果,以识别潜在问题并进行必要调整。

2.理解用户需求  

用户的期望往往是主观且多样的。质量跟踪通过定量和定性的分析,帮助开发者更好地理解用户需求和行为,从而实现更精准的优化。

3.增强产品可信度  

定期监控输出质量能够降低错误和不一致的发生率,从而提升产品的可靠性。这种主动的质量管理能够增强用户信任,促进品牌形象的提升。

4.支持持续改进  

质量跟踪为产品迭代提供了科学依据,团队可以基于数据分析进行系统性的改进,确保输出质量的稳步提升,进而推动企业的发展与创新。

4.5.1 人工抽样检查

在线上运行的大语言模型(LLM)的过程中,我们通过人工定期抽样分析的方法来评估其运行结果。这一过程包括从模型的输出中随机抽取样本,并由专家团队进行详细审查和评估,以识别模型在生成内容中的不足之处。

这些不足可能表现为理解偏差、上下文不连贯或创意欠佳等问题。通过这种人工审查机制,我们能够收集到具体且有针对性的反馈,以此为基础,我们对模型的提示词(PROMPT)进行持续优化和改进。这种迭代优化过程不仅提高了模型的整体表现和输出质量,还增强了系统对复杂任务的处理能力,最终为用户提供更为精确和贴心的交互体验。

具体参考 3.1 人工评估部分内容

4.5.2 LLM 自动检测



通过实现实时对线上AI工程运行结果的自动化采样、分析及评估,并及时提供预警,保障系统的稳定性和可靠性。

1. 评估标准

  • 准确性:评估模型输出与预期结果的匹配程度。准确性高的输出不仅符合用户预期,还在逻辑结构和事实陈述上保持高度一致。这样的评估可识别和纠正潜在的偏差或误分类问题。

  • 有害内容检测:针对输出内容中的负面或有害信息进行自动检测,包括但不限于歧视性言论、误导性信息或仇恨言辞。通过设置明确的阈值,系统能够有效屏蔽不当内容,从而维持安全和健康的用户体验。

  • 幻觉检测:识别模型输出中的不准确或虚假信息。通过分析文本的一致性与逻辑性,借助上下文和历史数据对比,识别并标记潜在的误导性信息,以减少对用户的误导和信息偏差。

2. 评估流程

  • 数据输入:全面记录AI平台的执行任务链路,按需实时或定时采样。采样方案可以基于不同的维度,如员工、时间段和使用案例等。

  • 多因素评分体系:基于预定义标准,模型将对每个维度进行详尽评分,包括准确性、有害内容及幻觉因素。采用先进的机器学习算法,为各项指标赋予适当权重,以计算出综合得分,从而形成全局评价。

  • 动态报告生成:评估完成后,系统会自动生成详尽的分析报告。报告中包括每次交互的详细得分、问题汇总和趋势分析。此功能可帮助开发者快速识别问题所在,并进行及时调整和优化。

3. 低分预警机制

系统持续监控并评估各项得分,当检测到任何指标低于预设的安全阈值时,将自动在钉钉群中发出即时预警。此机制旨在促使相关团队迅速响应和处理潜在问题,确保AI系统的稳定、高效运行。

4.6  PROMPT优化

在AI工程中,优化模型输出质量是持续提升用户体验的关键步骤。通过上述文章中表达的综合运用用户反馈、人工采样分析以及AI实时采样分析,我们能深入了解当前系统的表现,并找到改进的切入点。进行多轮提示词优化和实验,逐步提升生成效果,不断试验和调整,直到达到预期效果。

但是在处理PROMPT优化时,由于其黑盒特性,仅仅几个词的变动可能会导致输出结果出现显著差异,甚至完全不符合预期,因此我们必须格外谨慎。

4.6.1 PROMPT优化检测的难点

在变更LLM 或PROMPT后,输出的结果可能会显著不同。对于开发者而言,这些变更带来的影响并不直观且难以评估。具体来说,开发者可能面临以下挑战:

1.难以量化输出效果

即使在修改PROMPT后,输出的质量变化(如准确性、流畅性等)往往难以用简单的指标来量化,从而使得评估过程缺乏客观依据。

2.不确定的性能收益

在修改了提示词后,开发者可能很难明确定义变更所带来的收益或改进。这可能包括输出的改善程度、模型处理效率的提升等。

3.潜在的模型幻觉

更改PROMPT可能导致新的幻觉现象,即模型生成不准确或虚假的信息,这给开发者带来了更大的评估挑战。

4.反馈延迟

由于用户反馈通常是来自实际应用中的逐步积累,开发者在短期内难以看到变更的全部效果,导致评估过程变得复杂和缓慢。

根据用户反馈和日志数据,迭代优化提示词,并修复系统中的问题,确保系统的持续改进。持续进行A/B测试和用户实验,收集更多数据来优化提示词和系统功能。

4.6.2 使用数据集验证

为了更好地追踪PROMPT调整后的质量变化,我们采用数据集检测的方法。具体而言,这包括构建一个多样化且具有代表性的数据集,用于在每次PROMPT修改后进行全面测试。这个数据集不仅涵盖了常见的用户查询,还需要涵盖一些极端和边缘情况,以确保在各种场景下,模型都能保持稳定的表现。

在数据集检测过程中,我们将评估以下几个方面:

1. 准确性:衡量AI在理解和生成符合用户意图的输出方面的准确性。
2. 一致性:评估AI在相似情况下给出一致结果的能力。

3. 鲁棒性:检测在遇到非典型输入时,AI仍能提供合理输出的能力。

具体参考  3.2 数据集测试

此外,我们还会引入自动化测试管道,实时监控每次PROMPT调整后的输出情况,自动记录表现不佳的案例,以便进行更深入的分析和调优。结合用户的直接反馈和人工分析结果,我们可以更快速地识别哪些调整带来了正向改善,哪些可能导致了意想不到的问题。

通过这种系统化和可重复的检测方法,我们可以精确追踪PROMPT变更对输出质量的影响,确保每一次优化都能稳定地提升AI系统的整体表现。最终,随着不断的迭代和改进,我们的AI将能够在更广泛的场景下满足用户需求,同时保持高质量和可靠性。

4.6.3 版本管理

管理不同版本的提示词和系统代码,确保可追溯性和回滚能力,提高系统的可靠性。使用版本控制系统(如Git)进行代码管理,确保每个版本的变化记录清晰可追溯。

基于AI Ops 开发有助于提高AI应用的管理和运营效率。通过AI Ops,可以实现对AI应用的版本管理、回溯和回滚。

4.6.4 AB TEST

通过AB测试分析优化后的AI工程或Prompt与原先版本之间的表现差异是一种行之有效的方法。以下步骤可以帮助您实施这一过程:

1. 定义测试指标:

  • 首先明确测试的主要指标,如模型的准确性、用户满意度、响应时间、转化率等。这些指标将用于衡量新旧版本的表现差异。

2. 设置测试组和对照组:

  • 将用户或请求随机分为两个群组。A组作为对照组,使用原先的AI工程或Prompt;B组作为实验组,使用优化后的版本。

  • 确保样本的随机化和足够大的样本量,以便结果具有统计显著性。

3. 数据收集与监测:

  • 收集每组的相关数据,根据预定义的指标收集用户交互数据、AI输出结果等。

  • 使用日志系统和分析工具进行实时监测和数据收集。

4. 统计分析:

  • 使用统计学方法分析两组之间的差异。常用的方法包括t检验、方差分析、以及非参数检验等,以度量各个指标的变化情况。

5. 结果解读与决策:

  • 综合分析结果,查看优化后的AI工程或Prompt在各个指标上的表现是提升还是下降。

  • 如果新版本的某些方面表现更优,可以考虑进行全量推广;如果表现没有显著改善或产生负面影响,则需要进一步分析原因,进行迭代和优化。

6. 用户反馈与进一步优化:

  • 除了定量数据的分析,还要关注定性反馈。用户反馈有助于发现隐藏的问题和改进机会。

  • 根据测试结果和用户反馈进行优化,继续改进AI工程的各个方面。

通过这样系统化的AB测试流程,可以细致地比较和分析原先与优化后的AI系统表现,确保改进措施能带来实际价值提升。

结语

从0到1开发一个 AI 工程并不是一个简单的过程,涉及多个环节和细节的把控。通过系统化和规范化的流程,我们可以有效地管理和推动项目进展。希望本篇文章能为你的提示词项目开发提供参考和指导,助你顺利实现智能化应用。无论是在哪个阶段,保持持续优化和改进的态度将帮助你不断提升产品的质量和用户体验。

参考文档:

1.Large Language Model based Multi-Agents: A Survey of Progress and Challenges:

https://arxiv.org/pdf/2402.01680

2.掌握Prompt写作技巧:写出完美Prompt的秘籍

使用Elasticsearch的向量检索能力进行个性化推荐


在电商领域,个性化推荐系统是提高用户满意度与销售转化率的关键工具。本文将探讨如何利用Elasticsearch的向量检索能力,实现商品个性化推荐,助力电商平台提升用户体验和业务增长。   


点击阅读原文查看详情。