【Agent智能体21 | 构建AI工作流的技巧-优化组件的常用方法】

发布时间:2026/6/7 20:05:12

【Agent智能体21 | 构建AI工作流的技巧-优化组件的常用方法】 声明本篇博客是以吴恩达的【Agent智能体】教程为基础并对其中的内容做了笔记整理以及个人收获的总结。上一篇介绍了组件级评估的方式端到端测试会受到“噪声”的影响且成本很大因此我们引入了组件级的评估方式这可以让我们专注于优化某个具体的组件提高优化组件的效果。并且解耦了团队协作流程这一篇介绍一些优化组件的方式一个智能体工作流可能包含多种不同类型的组件因此提升不同组件的工具也会有很大差异下面会介绍一些通用的模式优化非大语言模型组件non-LLM component在一个完整的AI系统中除了核心的大语言模型外通常还会结合许多外部工具和传统模型。例如网络搜索、RAG的文本检索、代码执行、训练好的机器学习模型用于语音识别、人员检测等这张图讲的是如何优化这些辅助组件。1. Tune hyperparameters of component (调整组件的参数)这是指在不更换现有工具的情况下通过修改其内部设置来获得更好的结果。Web search (网络搜索):Number of results, date range (结果数量、日期范围)。解释比如让搜索引擎只返回前3个最相关的结果或者只搜索最近一年的文章以提高信息的精准度。RAG (检索增强生成):Change similarity threshold, chunk size (更改相似度阈值、分块大小)。解释在从本地知识库检索信息时可以调整相似度分数的要求太低会导致无关信息混入或者调整每次切分文本的长度chunk size。ML models (机器学习模型):Detection threshold (检测阈值)。解释对于图像识别或语音模型调整其判定置信度的阈值比如只有超过90%确定的结果才被采纳以减少误报。2. Replace the component (替换组件)如果调整参数依然无法满足需求就可以考虑直接更换底层的工具。尝试不同的网络搜索引擎、RAG提供商等。Try a different web search engine, RAG provider, etc.解释例如把搜索工具从 Bing 换成 Google或者把向量数据库从 Pinecone 换成 Milvus。优化大语言模型组件LLM component聚焦于系统中的核心大脑——大语言模型LLM本身的性能提升方法。按照实施成本和难度通常由低到高分为以下四个策略1. Improve your prompts (改进你的提示词)这是最直接、成本最低的优化方式。**添加更明确的指令。在提示词中添加一个或多个具体示例少样本提示**Add more explicit instructions. Add one or more concrete example to the prompt (few-shot prompting).解释如果模型回答不好首先反思是不是指令不够清晰。你可以给出具体的规则或者直接给模型提供几个“标准问答示范”Few-shot让模型照猫画虎。2. Try a new model (尝试一个新模型)不同的模型擅长的领域和能力上限不同。尝试多个大语言模型并使用评估evals来挑选最好的一个。Try multiple LLMs and use evals to pick the best.解释如果提示词已经优化到极限可能是当前模型的智商瓶颈了。这时可以在测试集上对比一下 GPT-4、Claude 3、Gemini 等不同模型看哪个表现最好。3. Split up the step (拆分步骤)降低单次推理的复杂度。将任务分解成更小的步骤。Decompose the task into smaller steps.解释不要试图让模型一次性完成“阅读万字长文并写出包含三方面数据分析的总结报告”这种复杂任务。可以拆分为第一步提取数据第二步总结核心观点第三步整合撰写报告。这能大幅降低模型的出错率幻觉。4. Fine-tune a model (微调模型)这是成本最高但也最能打造垂直领域专属能力的方案。使用内部数据进行微调以提升性能。Fine tune on your internal data to improve performance.解释当通用的提示词和模型都无法掌握你们公司特定的行话、格式或私有逻辑时可以将大量的业务数据做成训练集让模型“回炉重造”一下从而在特定任务上达到甚至超越更大参数模型的表现。但是注意微调模型会很复杂而且成本很高一般都是前几个都没用的时候才会使用这个方法遵循复杂指令Instruction following这个图演示了如何通过编写多步骤、明确的提示词Prompt让大模型严格按照人类的要求处理数据。原始输入数据 (Summary of customer call)蓝色字体的文本是一段模拟的客服通话记录摘要。2023年7月14日居住在科罗拉多州博尔德市 1024 Maple Ridge Lane邮编80301的 Jessica Alvarez社会安全号码555-44-3333提交了一份支持工单……这段文本中包含了明显的个人身份信息PII, Personally Identifiable Information如姓名、社保号SSN和详细家庭住址。提示词拆解 (Prompt)识别 (Identification)识别出下方文本中所有属于个人身份信息PII的内容。分类与脱敏 (Classification Redaction)然后返回一个按类型分类的已识别 PII 列表接着用“*****”将所有识别出的 PII 进行打码脱敏格式化输出 (Formatting)使用“REDACTED: ”这个词将“PII列表”和“脱敏后的文本”分隔开。占位符:{text}代表将上面的客服记录摘要插入到这里。在较小的模型上运行这个图展示了一个参数量较小的开源模型Llama 3.1 8B的输出结果。右侧的方框给出了结论它失败了Didn’t follow the instructions properly(没有正确遵循指令)Missed some PII(遗漏了一些个人身份信息)具体失败原因分析信息提取不全 (Missed some PII)在它列出的 PII 列表中只提取了“Social Security Number (社保号)”和“Address (地址)”完全遗漏了“客户姓名 (Jessica Alvarez)”。无视格式指令 (Didn’t follow formatting)上一张图的提示词明确要求“使用 REDACTED: ’ 将列表和脱敏文本分开”。但这个模型并没有使用这个特定的词而是自作主张地写了一句啰嗦的话“Redacted text with “*****” replacing the identified PII:”。输出逻辑混乱在脱敏文本之后它又莫名其妙地把 PII 列表重复输出了一遍显得非常笨拙。更好的模型这个图展示了一个强大闭源模型GPT-5的输出结果。右侧的方框给出了结论它完美完成了任务。Followed formatting instruction(遵循了格式化指令)Identified all PII(识别出了所有的个人身份信息)具体成功原因分析精准提取 (Identified all PII)它准确地找出了所有三项敏感信息Full Name (全名)、Social Security Number (社保号) 和 Physical Address (物理地址)没有遗漏。严格遵守格式 (Followed formatting)它极其听话在 PII 列表和脱敏文本之间干净利落地使用了大写的REDACTED:作为唯一的分隔符没有任何多余的废话。脱敏彻底下方的文本中对应的名字、社保号和地址都被完美地替换成了*****。Developing intuition for model intelligence (培养模型智能的直觉的方式)这种“直觉”是指当你面对一个具体任务时你能凭经验下意识地判断出哪个模型能搞定、大概需要怎么写提示词、以及模型可能会在哪一步犯错。建议一Play with models often (经常把玩/使用模型)建立直觉没有捷径最好的方法就是大量、频繁地去实际使用它们。**拥有一套你个人的评估标准evals**可能会有帮助。Having a personal set of evals might be helpful 解释:这里的“evals”指的是评估测试集。不要只看官方公布的跑分数据。建议你自己准备几个你非常熟悉的复杂问题比如你所在行业的专业难题、或者你写过的一个逻辑题每次出了新模型都拿这套“私人题库”去考一考它这样你立刻就能体会出它比上一个版本聪明了多少。阅读其他人的提示词以获取如何最好地使用模型的灵感。Read other people’s prompts for ideas of how to best use models 解释:提示词工程Prompt Engineering是一门实践科学。多看看开源社区或别人分享的优秀 Prompt你会学到很多激发模型潜力的奇技淫巧。建议二Use different models in your agentic workflows (在你的智能体工作流中使用不同的模型)在构建复杂的 AI Agent 系统时不要死磕单一模型比如只用 GPT-4o而是要学会“组合拳”。哪些模型适合哪些类型的任务Which models work for which types of tasks? 解释:不同的模型有不同的“偏科”。有的代码能力极强如 Claude 3.5 Sonnet有的极其快速且便宜如 Llama 3 8B 或 Gemini 1.5 Flash有的擅长极长文本处理。你需要通过测试为工作流中的每一步分配最合适的“员工”。aisuite 使得快速切换/替换模型变得很容易。aisuite makes it easy to quickly swap out models 解释:aisuite是一个具体的代码库由吴恩达团队推出。过去切换不同的模型需要重写大量 API 调用代码而使用类似aisuite这样的工具它提供了一个统一的接口让你只需改一行代码就能无缝切换 OpenAI、Anthropic、Google 等不同厂商的模型极大降低了测试成本。除了提高工作流质量后面会介绍一些优化延迟、成本的方式。如果这篇文章对你有帮助欢迎点赞、评论、关注、收藏。你们的支持是我前进的动力

相关新闻