五、一步步学习: 增强LLM的基础构建模块, 工作流 Workflow, 智能体 Agents

在本节中,我们将探讨在生产环境中看到的 agentic systems ( 智能系统 ) 的常见模式。我们将从增强LLM的基础构建模块开始,逐步增加复杂性。从简单的工作流Workflow到智能体Agents。

基础构建模块 - 增强LLM

在这里插入图片描述

Agentic systems ( 智能系统 ) 的基础构建模块是增强了检索、工具调用和记忆能力扩展功能的 LLM。我们当前的模型可以主动使用这些功能:生成自己需要的Query查询语句、选择适当的工具Tools进行调用以及记住需要记忆Memory的信息

我们建议关注实现的两个关键方面:

  • • 为特定用例定制这些功能,并确保它们为 LLM 提供易用、文档完备的接口。

  • • 虽然有许多方法可以实现这些扩展,但一种方法是通过 Anthropic 最近发布的模型上下文协议MCP[9],它允许开发者通过简单的客户端实现与不断增长的第三方工具生态系统集成。字节火山引擎的边缘云智能硬件调用就有在使用该协议。

在本文的其他部分,我们都假设每个LLM都能调用这些增强性的能力。

Workflow 工作流: Prompt Chaining 链式提示

为了提高大语言模型的性能使其更可靠,一个重要的提示工程技术是将任务分解为许多子任务。 确定子任务后,将子任务的提示词提供给语言模型,得到的结果作为新的提示词的一部分,即每个 LLM 调用 处理前一个LLM调用的输出。 这就是所谓的链式提示(prompt chaining),一个任务被分解为多个子任务,根据子任务创建一系列提示操作。

你可以在任何中间步骤添加程序检查(见下图中的"Gate"),以确保处理过程正常。

在这里插入图片描述

什么时候使用这个工作流?

当任务可以轻松、整洁地分解为固定的子任务时,此工作流是理想选择。主要目标是通过使每个 LLM 调用成为更容易的任务,用延迟换取更高的准确性

应用场景:

  • 生成市场营销文案,然后将其转换成另外一种语言
  • 文章编写
  • 编写文章大纲
  • 检查文章大纲是否符合标准
  • 根据大纲编写文章

Workflow: Routing 路由

在这里插入图片描述

针对不同的用户输入进行分类,并将其路由到专门处理该分类的工作流。此工作流允许关注点分离,并构建更专业化的提示。如果没有此工作流,单纯针对一种用户输入进行优化可能会降低其他用户输入的效果。

分离关注点使得解决特定领域问题的程式码从业务逻辑中独立出来,业务逻辑的程式码中不再含有针对特定领域问题程式码的调用(将针对特定领域问题程式码抽象化成较少的程式码,例如将程式码封装成function或是class),业务逻辑同特定领域问题的关系通过侧面来封装、维护,这样原本分散在整个应用程序[10]中的变动就可以很好的管理起来。

关注点分离的价值在于简化计算机程序的开发和维护。当关注点分开时,各部分可以重复使用,以及独立开发和更新。具有特殊价值的是能够稍后改进或修改一段代码,而无需知道其他部分的细节必须对这些部分进行相应的更改。

什么时候使用这个工作流?

Routing 路由 非常适合复杂的任务,能更好地单独处理不同的用户输入类别,并且可以通过 LLM 或 传统的分类模型/算法准确处理分类。

应用场景:

  • • 将不同类型的客户服务查询(一般问题、退款请求、技术支持)引导到不同的下游流程、提示和工具。

  • • 将简单/常见问题路由到较小的模型(如 Claude 3.5 Haiku),将困难/罕见问题路由到更强大的模型(如 Claude 3.5 Sonnet),以优化成本和速度。

Workflow: Parallelization 并行

在这里插入图片描述

LLM 有时可以同时处理一项任务,并以编程方式聚合它们的输出。这个工作流有两个要点:

  • • 任务切片分段:将任务分解为独立的并行运行的子任务。
  • • 多个LLM结果:多次运行相同的任务以获得不同的输出。

什么时候使用这个工作流?

  • 当分割的子任务可以并行处理以提高速度
  • 当需要从多个不同的视角获取生成内容
  • 尝试通过多轮尝试以获得更好更高置信度的结果
  • 对于具有多个考虑因素的复杂任务,当每个考虑因素由单独的 LLM 调用处理时,LLM 通常表现更好,从而可以专注于每个特定方面。

应用场景:

任务切片分段:

  • WAF安全防护:一个LLM处理用户查询,而另一个LLM识别非法内容或非法请求。这往往让同一个 LLM 调用同时处理安全防护和用户查询响应的表现要更好
  • 对同一个提示词Prompt,让多个LLM从不同的方面同时对其进行评估,以衡量在不同方面的表现。

多个LLM结果:

  • 审查代码是否存在漏洞时,可以使用不同的提示词Prompt来识别潜在问题并进行标记。
  • 需要使用多个指标来评估内容的健康程度,例如主题、内容的适当性、观点的正确性等。此外,也可以考虑使用不同的评判标准来平衡误报和漏报的情况。

Workflow: Orchestrator-workers 编排Workers

在这里插入图片描述

在此工作流中,中心 LLM 可以动态地将任务分解并委托给多个LLM Workers,以便他们可以完成工作,并且最终的结果可以被整合在一起。

什么时候使用这个工作流?

这种工作流非常适合处理复杂任务,例如:在代码编写中,需要处理的文件数量和每个文件中需要进行的更改内容都可能因任务而异。虽然拓扑结构与并行化相似,但它的关键区别在于其灵活性,即子任务的数量和任务内容都不是预定义的,而是由中心LLM根据特定的内容输入来确定的

应用场景:

  • 每次对多个文件进行复杂更改的编码产品。譬如:Github Copilot 。
  • 搜索任务涉及从多个来源收集和分析信息,以查找可能相关的信息。

Workflow: Evaluator-optimizer 评估-优化

在这里插入图片描述

在此工作流中,一个LLM根据用户输入生成对应的结果,而另一个LLM针对结果提供反馈,不断地在两者之间进行迭代优化。

什么时候使用这个工作流?

当我们能为任务设置明确的评估标准,并需要持续迭代改进,能提供可衡量的价值时,这种工作流程特别有效。整个流程:首先,当LLM的响应结果能获得明确反馈时,LLM 的响应结果会得到显著改进;其次,评估LLM 可以提供类似这种反馈。就像人在不断地迭代优化作品的过程一样。

应用场景:

  • 文学类翻译,对内容追求精益求精。翻译LLM在第一次翻译的时候,可能无法感知到词汇的细节。但评估LLM可以根据设置的评判标准,准确地给出有效的批判性反馈。
  • 需要多轮搜索和分析以收集全面信息的复杂搜索任务,其中评估LLM会决定是否需要进一步搜索。

六、智能体 Agents

在这里插入图片描述

智能体的随着LLM的能力成熟而诞生,譬如:能理解复杂的用户输入、能进行推理以及规划、能更加可靠地调用工具和故障自愈能力。

智能体的任务执行来自用户的命令或者与用户进行交互式的对话。智能体一旦收到任务,便会独自对其进行任务规划和任务执行,也可能会在任务执行的过程中询问用户更多信息以辅助任务执行。在执行的过程中,对于智能体最关键的就是,在每一步中通过工具调用等方式,从环境中获取“基础事实”以评估当前的任务进度。智能体会在预定的检查点 或者 遇到无法解决的障碍的时候,会自动暂停并向用户求助。智能体通常会在任务完成的时候才终止任务,但是通常在任务执行的时候也会包含其他的终止条件(譬如:最大迭代次数),以而避免智能体脱离控制。

智能体可以处理很复杂的任务,但是实现却是非常地简单。通常智能体只需要循环地让增强LLM基于当前的环境信息反馈去调用工具。因此,清晰、周到地设计工具集及其清晰文档至关重要。

什么时候使用智能体?

智能体可以用于很难或者不可预测步数的开放式问题上,以及你无法使用代码对执行路径进行固定的情况。LLM可能会执行很多轮并且你需要在一定程度上信任LLM的决策,某种意义上的放权。也因为智能体的自主性让其成为在可信环境中处理弹性任务的理想选择、更高的使用成本、累积更多的错误。我们建议在沙盒环境中进行广泛测试,并设置恰当的安全防护。

应用场景:

  • 能解决SWE-bench任务[11]的编程智能体,它可以基于任务的描述来编辑许多个文件。
  • “computer use[12]”的实现,其中Claude使用了 “computer” 来完成任务。

在这里插入图片描述

七、定制化

上面所提到的基础构建模块和构建模式并不是一成不变的。开发者可以根据自身需求,通过改变模块和不同组合去适应不同的场景。与任何 LLM 特性一样,成功的关键是衡量性能并对实现进行迭代。

再次强调:只有在能明显改善LLM结果时,你才应该考虑增加复杂性。

八、总结

在大模型领域取得成功不在于构建最复杂的系统,而在于根据实际业务需求构建合适的系统。从简单的提示词开始,通过全面评估对其进行优化,只有在更简单的解决方案不足时才添加多步骤的 agentic systems ( 智能系统 )不要过度优化。

在实现智能体时,我们应该努力遵循三个核心原则:

1. 保持智能体设计的简单性。
2. 应该优先考虑通过显式定义智能体步骤以增加任务执行时的透明度。
3. 通过全面的工具文档和测试,精心设计您的agent-computer interface (ACI)。

框架可以帮助你快速入门,但在生产环境时,尽可能地减少抽象层并使用基本组件构建。通过遵循这些原则,你可以创建不仅功能强大,而且可靠、可维护并受用户信任的代理。


如何系统学习掌握AI大模型?

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
在这里插入图片描述

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

在这里插入图片描述

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

在这里插入图片描述

4. 2024行业报告

行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

在这里插入图片描述

5. 大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

6. 大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

在这里插入图片描述

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费

引用链接

[1] 《Building effective agents》:https://www.anthropic.com/research/building-effective-agents
[2]LangChain:[https://langchain-ai.github.io/langgraph/](https://langchain-ai.github.io/langgraph/)
[3]Amazon Bedrock 的 AI Agent 框架:[https://aws.amazon.com/cn/bedrock/agents/](https://aws.amazon.com/cn/bedrock/agents/)
[4]Rivet:[https://rivet.ironcladapp.com/](https://rivet.ironcladapp.com/)
[5]Vellum:[https://www.vellum.ai/](https://www.vellum.ai/)
[6]Coze:[https://www.coze.cn/](https://www.coze.cn/)
[7]腾讯元器:[https://yuanqi.tencent.com/agent-shop](https://yuanqi.tencent.com/agent-shop)
[8]LLM示例:https://github.com/anthropics/anthropic-cookbook/tree/main/patterns/agents
[9]模型上下文协议MCP:[https://www.anthropic.com/news/model-context-protocol](https://www.anthropic.com/news/model-context-protocol)
[10]应用程序:[https://zh.wikipedia.org/wiki/%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F](https://zh.wikipedia.org/wiki/%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F)
[11]SWE-bench任务:[https://www.anthropic.com/research/swe-bench-sonnet](https://www.anthropic.com/research/swe-bench-sonnet)
[12]computer use:https://github.com/anthropics/anthropic-quickstarts/tree/main/computer-use-demo

点击阅读全文
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐