我从 2024 年的 LLM 应用开发实践中学到了什么?Part 1 原创
编者按: "为什么明明选择了最先进的大语言模型,构建的 AI 产品却总是无法达到预期效果?" —— 这大概是今年众多技术团队都在苦恼的问题。从选择合适的商业场景,到组建专业团队,再到技术架构设计,每一步都充满挑战。一个错误的决策,可能导致数月的努力付诸东流,更遑论昂贵的模型调用成本。
本文作者凭借近十年的 Web 应用和云原生开发经验,以及 2024 年深度参与 LLM 应用开发的第一手经历,为我们揭示了一个重要发现:成功的 LLM 应用开发需要抛弃传统的产品开发思维,转而采用"持续研究-实验-评估"的创新模式。
作者 | Satwiki De
编译 | 岳扬
大语言模型(LLMs)有望改变我们对待人工智能的方式,这一点在将 LLMs 与 Web 应用融合的创新设计中已初露端倪。自 2022 年末起,众多框架、软件开发工具包(SDK)和工具纷纷亮相,展示了如何将 LLMs 与 Web 应用或商业工具相结合,形成初步原型。随着越来越多的资金投入到基于生成式 AI 的商业应用和工具的开发中,将这些原型推向生产阶段并实现商业价值变得尤为重要。如果你打算投入时间和资金打造一个 LLM 原生工具,你该如何确保这一投资能够带来长期回报?
为此,制定一套开发 LLM 应用的最佳实践是关键所在。在过去一年里,我投身于 LLM 应用的开发,这段经历不仅令人振奋,而且收获颇丰。基于我在设计和构建 Web 应用及云原生应用方面近十年的经验,我认识到,传统的产品开发模式往往不适用于 LLM 原生应用。相反,持续的研究、实验和评估循环被证明对打造卓越的 AI 驱动产品更为有效。
为了帮助各位读者应对 LLM 应用开发的道路上的各种挑战,我将分享以下几个关键领域的最佳实践:商业场景挑选、团队理念、开发策略、responsible AI 实践以及成本控制。
01 构思阶段:挑选合适的商业应用场景
是否每个问题都需要依赖 AI 来解决?答案显然是否定的。倒不如问问自己,哪些商业场景能够通过运用 LLMs 获益最多?企业在开发应用之前,需要先回答这些问题。有时候,合适的商业场景就在我们眼前;有时候,通过与同事交流或在公司内部进行研究,可能会找到正确的方向。以下几个方面可能有助于我们做出决定。
- 提出的解决方案是否满足市场需求?针对拟定的商业场景进行市场调研,把握当前的市场形势。找出是否存在集成了 AI 或不集成 AI 的现有解决方案,分析它们的优缺点,以及目前您提议的 LLM 应用方案能否弥补现有缺陷。这一步包括对竞争对手、行业动态和客户反馈的分析。
- 它能帮助用户吗?如果您的解决方案旨在为公司内部用户服务,衡量用户期望的一个简单方法是看该解决方案是否能够通过节省时间来提升工作效率。例如,提供一个 IT 或 HR 支持的聊天机器人,帮助员工解答关于公司的日常问题。此外,通过对潜在用户进行快速调查,也能帮助您了解 AI 可以解决哪些痛点。
- 它能否提升业务流程效率?有些应用场景可能专注于优化业务流程,从而间接惠及用户。例如,对呼叫中心记录进行情感分析、进行个性化推荐、总结法律和财务文件等。对于这类应用场景,自动化技术的应用是将 LLM 融入日常业务流程的关键。
- 我们是否拥有必要的数据?基于 LLM 的应用通常采用 RAG(检索增强生成)技术,从特定知识库中生成与上下文相关且基于事实的答案。基于 RAG 的解决方案的基础在于数据的可用性、类型和质量。如果缺乏充足的知识库或高质量数据,这种解决方案的效果可能就不尽如人意。数据的可获取性同样重要,因为并非所有机密或敏感数据都能轻易获取。
- 提出的解决方案是否切实可行?决定是否采用 AI 解决方案,不仅需要考虑技术层面的可行性,还需评估伦理、法律和财务等因素。若涉及敏感数据,还需在确定商业应用场景前考虑隐私保护和合规性问题。
- 解决方案是否满足您的业务需求?思考 AI 解决方案如何助力您的短期和长期业务目标。同时,合理管理期望值也很关键,过于追求短期目标可能不利于价值的实现。通常,AI 应用的投资回报是一个长期过程。
正确设定预期目标
在挑选应用场景的同时,产品负责人还需考虑为团队设定恰当的预期目标和短期、可实现的小步骤。每个小步骤都应具备明确的目标和预定时间表,且需得到团队的认同,这样利益相关者才能定期检查项目进展。这对于决定如何推进基于 LLM 的解决方案、实施生产化策略、引入用户等方面做出明智的选择至关重要。
02 实验阶段:培养正确的思维方式
在人工智能领域,研究和实验是不可或缺的。开发 LLM 应用程序同样如此。与遵循固定设计的传统 Web 应用不同,基于 AI 的设计更依赖于实验,并根据早期结果灵活调整。成功的关键在于对明确的目标进行反复试验,并持续对每次试验进行评估。在 LLM 原生开发中,衡量成功的标准通常是输出的质量,这意味着我们需要专注于生成精确且相关性高的结果,无论是聊天机器人的回答、文本摘要、图像生成,还是 LLM 定义的操作(Agentic 方法)。要稳定输出高质量的结果,需要对语言模型有深刻理解,不断优化提示词,并进行严格评估,以确保应用达到预期标准。
团队应具备哪些技术能力?
或许您可能会认为,只需几位数据科学家就能构建 LLM 应用程序。但实际上,工程技能同样重要,甚至更为关键,因为 LLM 应用并不完全遵循传统的机器学习路径。数据科学家和软件工程师都需要调整心态,以适应这种开发方式。我见证过这样的转变:数据科学家开始熟悉云基础设施和应用部署,而工程师则开始掌握模型使用和评估 LLM 输出的细节。最终,团队需要的 AI 实践者不仅仅是能够编码,更重要的是他们能够进行研究、协作,并不断提升 AI 的应用潜力。
既然将采用预训练的语言模型,我们真的还需要进行“实验”吗?
像 GPT-4o 这样的流行大语言模型(LLMs)已经在大数据集上完成了训练,能够识别和生成文本、图像等,因此无需我们再进行“训练”。在极少数情况下,可能需要对模型进行微调,但这也可以轻松完成,无需传统的机器学习(ML)方法。不过,我们要区分“实验”与 predictive ML 中的“模型训练”概念。如本文先前所述,应用程序的输出质量至关重要。通过设置多次迭代实验,我们可以逐步提升结果的质量。例如,如果你正在开发一个聊天机器人,并希望控制其输出给最终用户的效果,那么采用迭代和实验性的方法来优化提示词和调整超参数,将有助于我们找到生成最精确和最一致输出的最佳途径。
尽早构建原型
在项目初期,应尽可能快地构建一个仅包含必要核心功能的原型(即 MVP —— 最小可行产品),最佳时间是在 2 至 4 周内完成。若采用基于知识库的 RAG 方法,请使用数据子集,以减少繁琐的数据预处理工作。
通过目标用户小范围的快速反馈,我们可以了解解决方案是否达到了用户的预期。
与项目利益相关者进行评审,不仅要展示正面的成果,还要讨论在原型构建过程中团队遇到的局限性和制约因素。这样做对于早期风险防范和做出明智的交付决策至关重要。
团队应据此确定技术选型、安全性和可扩展性需求,以便将原型进一步完善为功能齐全的产品,并规划出合理的交付时间表。
判断原型是否已准备好转化为“产品”
众多 AI 相关的样本让原型的构建变得非常容易,而且这些原型的初期测试往往成效显著。当原型开发完成时,团队可能已经对成功标准、市场调研、目标用户群体、平台需求等有了更深入的认识。此时,思考以下问题有助于明确产品的发展路径:
- 原型中的功能是否真正解决了终端用户或业务流程的核心需求?
- 在原型开发过程中遇到的问题,哪些可能会在生产阶段重现?有哪些策略可以提前规避这些风险?
- 原型在遵循 responsible AI 原则(译者注:“responsible AI” 要求技术开发者、用户、政策制定者和其他利益相关者共同努力,确保 AI 技术的发展和应用能够造福人类社会。)方面是否存在潜在风险?如果有,应采取哪些预防措施?(我们将在第二部分深入讨论这一点)
- 若要将解决方案融入现有产品,可能会遇到哪些障碍?
- 如果该解决方案要处理敏感数据,是否采取了有效措施来保护数据隐私和安全?
- 是否需要为产品设定性能标准?原型的表现是否符合预期,或者还有提升空间?
- 产品需要满足哪些安全标准?
- 产品是否需要用户界面?(基于 LLM 的聊天机器人等应用,需尽早明确 UI 需求)
- 对于 MVP 阶段的 LLM 使用,是否有成本预算?结合预期的生产使用规模和预算,这个预算是否合理?
在初步审查后,若您对大多数问题都有了满意的答复,并且原型测试表现优异,那么就可以着手推进产品开发了。
敬请期待第二部分,届时我将探讨产品开发应采取的策略、如何在产品初期嵌入 responsible AI 实践,以及成本管理的技巧。
Thanks for reading!
Hope you have enjoyed and learned new things from this blog!
About the authors
Satwiki De
Software Engineer @Microsoft | Experienced in App Dev, Cloud-native solutions, DevOps & Generative AI | Curious explorer of tech and life
END
本期互动内容 🍻
❓在原型转向产品的过程中,你采取了哪些措施来控制和规避风险?有什么经验教训?
原文链接: