LLM Agent(智能体)的高级概述:

为什么要构建一个通用的 Agent?因为它是一个出色的工具,可以用来原型化你的用例,并为设计你自己的定制 Agent 架构奠定基础。

在我们深入讨论之前,先简单介绍一下LLM Agent。你可以选择跳过这一部分。

什么是LLM Agent?

LLM Agent 是一个程序,它的执行逻辑由其底层模型控制。

从单独的 LLM 到 Agentic 系统:

LLM Agent 与 few-shot 提示或固定工作流等方法的不同之处在于,它能够自主定义并调整执行用户查询所需的步骤。

在具备一组工具(如代码执行或网页搜索)的情况下,Agent 可以决定使用哪个工具、如何使用,并根据输出结果进行迭代优化。

这种适应性使系统能够以最少的配置处理各种不同的用例。

Agentic 架构存在一个从固定工作流的可靠性到自主Agent的灵活性的连续频谱。

例如,RAG(检索增强生成)这样的固定工作流可以通过自反思(self-reflection)循环进行增强,使程序在初始响应不足时能够进行迭代优化。另一方面,ReAct Agent 可以将固定工作流作为工具来使用,从而提供一种既灵活又结构化的方法。最终,架构的选择取决于具体的使用场景,以及在可靠性和灵活性之间的权衡。

从零开始构建一个通用 LLM Agent !

第 1 步:选择合适的 LLM

选择合适的模型对于实现预期的性能至关重要。你需要考虑多个因素,例如许可协议、成本和语言支持

对于LLM Agent来说,最重要的考量因素是模型在关键任务(如代码生成、工具调用和推理)上的表现,评估基准包括:

  • MMLU(Massive Multitask Language Understanding)

    (用于推理能力评估)

  • Berkeley’s Function Calling Leaderboard

    (用于工具选择与调用评估)

  • HumanEval 和 BigCodeBench

    (用于代码能力评估)

另一个关键因素是模型的上下文窗口大小。Agentic 工作流可能会消耗大量 token,有时甚至超过 100K,因此更大的上下文窗口会带来极大便利。

可考虑的模型(截至2025年3月1日)
  • 闭源模型:GPT-4.5、Claude 3.7

  • 开源模型:Qwen 2.5、DeepSeek R1、Llama 3.2

通常来说,更大的模型通常表现更佳,但能够在本地运行的小型模型仍然是不错的选择。如果选择小型模型,Agent 可能只能用于较简单的场景,并且只能连接一两个基础工具。

第 2 步:定义 Agent 的控制逻辑(即通信结构)

LLM 与 Agent 之间的主要区别在于系统提示(system prompt)。在 LLM 的上下文中,系统提示是一组指令和上下文信息,在模型处理用户查询之前提供给它。

Agent 预期的行为可以在系统提示中进行编码,从而定义其 Agentic 行为模式。这些模式可以根据具体需求进行定制,常见的 Agentic 模式:

  • 工具调用(Tool Use)

    Agent 决定何时将查询传递给合适的工具,或直接依赖自身知识回答。

  • 自反思(Reflection)

    Agent 在回应用户之前,会先检查并修正自己的回答。大多数 LLM 系统都可以加入一个反思步骤。

  • 推理后执行(Reason-then-Act,ReAct)

    Agent 逐步推理如何解决查询,执行某个操作,观察结果,并决定是继续采取行动还是直接给出答案。

  • 规划后执行(Plan-then-Execute)

    Agent 先将任务拆解成多个子步骤(如果有必要),然后逐步执行每个步骤。

其中,ReAct 和 Plan-then-Execute 是构建通用单Agent最常见的起点。

要有效实现这些行为,你需要进行Prompt Engineering(提示工程),也可能需要使用结构化生成(structured generation)技术。结构化生成的核心思想是引导 LLM 输出符合特定格式或模式,确保 Agent 的回复风格一致,并符合预期的沟通方式。

示例:Bee Agent Framework 中的 ReAct 风格 Agent 的系统提示片段:

在这里插入图片描述

中文:

在这里插入图片描述

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

第 3 步:定义 Agent 的核心指令

我们通常认为 LLM 具备许多开箱即用的功能,但其中一些可能并不符合你的需求。要让 Agent 达到理想的性能,你需要在系统提示中明确规定哪些功能应该启用,哪些应该禁用

可能需要定义的指令包括:

  • Agent 名称与角色

    Agent 的名称及其职责。

  • 语气与简洁性

    Agent 交流时应正式还是随意?应尽量简短还是提供详细信息?

  • 何时使用工具

    何时依赖外部工具,何时直接使用 LLM 知识回答?

  • 错误处理方式

    如果工具调用失败,Agent 应该如何应对?

示例:Bee Agent Framework 的部分指令:

在这里插入图片描述

中文:

在这里插入图片描述

第 4 步:定义并优化核心工具

工具赋予了 Agent 强大的能力。通过一组精心设计的工具,你可以实现广泛的功能。关键工具包括:
✅ 代码执行
✅ Web 搜索
✅ 文件读取
✅ 数据分析

每个工具都应包含以下定义,并作为系统提示的一部分:

  • 工具名称(Tool Name)

    清晰描述该工具的功能。

  • 工具描述(Tool Description)

    解释工具的用途,以及何时使用它,以帮助 Agent 选择合适的工具。

  • 工具输入模式(Tool Input Schema)

    定义输入参数,包括必填项、可选项、类型和约束

  • 工具执行方式

    如何运行工具,以及 Agent 该如何调用它。

示例:Langchain 社区的 Arxiv 工具,以下是 Arxiv API 实现的部分代码,该工具可用于检索物理学、数学、计算机科学等领域的论文:

在这里插入图片描述

在某些情况下,你可能需要优化工具以提升性能,例如:

  • 通过Prompt Engineering(提示工程)调整工具名称或描述,提高匹配度。

  • 设定高级配置,处理常见错误。

  • 过滤工具输出,确保结果符合期望。

第 5 步:制定记忆管理策略

LLM 的上下文窗口(context window)是有限的,它决定了模型可以“记住”的内容量。例如:多轮对话、长文本工具输出和额外的上下文信息都会快速占满上下文窗口。因此,合理的记忆管理策略至关重要

在 Agent 的语境中,记忆是指系统存储、回忆和利用过去交互信息的能力。这使 Agent 能够随着时间的推移保持上下文,根据以前的交流改进其响应,并提供更个性化的体验。
常见的记忆管理策略

1️⃣ 滑动窗口记忆(Sliding Memory):保留最近的k 轮对话,丢弃旧内容。
2️⃣ Token 记忆(Token Memory):仅保留最近的 n 个 token,其余丢弃。
3️⃣ 摘要记忆(Summarized Memory):每轮对话后,使用 LLM 生成摘要,然后丢弃具体对话内容。
4️⃣ 关键点存储(Key Moment Storage):让 LLM 识别关键事实并存入长期记忆,使 Agent 能“记住”重要信息,为用户提供更个性化的体验。

目前,我们已经覆盖了 Agent 构建的五个核心步骤:

Step 1:定义 Agent 任务与行为模式(ReAct、Plan-then-Execute)
Step 2:Prompt Engineering(确保 Agent 行为符合预期)
Step 3:编写核心指令(定义角色、风格、工具使用策略等)
Step 4:定义并优化核心工具(如 Web 搜索、数据库查询等)
Step 5:制定内存管理策略(防止上下文溢出)

那么,如果我们现在让 LLM 直接处理用户查询,会发生什么? 🚀

举个例子,可能会发生:

在这里插入图片描述

此时,Agent 生成的是原始文本输出。那么,如何让它执行下一步操作呢?这就需要解析(Parsing)和编排(Orchestration)。

第 6 步:解析 Agent 的原始输出

解析器(Parser)是一种将原始数据转换为应用程序可理解格式(例如带有属性的对象)的函数。

对于我们正在构建的 Agent,解析器需要识别第 2 步中定义的通信结构,并返回结构化输出(如 JSON)。这样,应用程序就能更容易地处理和执行 Agent 的下一步操作。

注意:部分模型提供商(如 OpenAI)默认支持可解析的输出。而对于其他模型(特别是开源模型),可能需要手动配置此功能。

第 7 步:编排 Agent 的下一步操作

最后一步是设置编排逻辑,用于决定 LLM 在生成结果后的处理方式。根据输出内容,你可能需要:

  1. 执行工具调用(如运行 Python 代码、调用 API)。

  2. 返回答案,即向用户提供最终响应,或请求额外信息以进一步完成任务。

如果触发了工具调用,则工具的输出将发送回 LLM(作为其工作记忆的一部分)。然后,LLM 将确定如何处理这些新信息:执行另一个工具调用或向用户返回答案。

以下是此编排逻辑在代码中的样子:

在这里插入图片描述

大功告成! 你现在已经构建了一个可以处理多种场景的系统——无论是竞争分析、深度研究,还是自动化复杂的工作流,都能轻松应对。

Multi-Agent 系统的作用?

尽管当前一代的 LLM 功能强大,但它们仍然存在一个核心限制:难以处理信息过载

如果上下文信息过多,或使用的工具过于复杂,模型可能会因超载而导致性能下降。单个通用 Agent 迟早会遇到这个瓶颈,尤其是当它大量消耗 token 时。

对于某些应用场景,采用 Multi-Agent**(多 Agent)**方案可能更合理。通过将任务拆分到多个 Agent 之间,可以减少单个 LLM 需要处理的上下文,从而提高整体效率。

不过,从单 Agent 入手仍然是一个绝佳的起点,尤其是在原型阶段。它能帮助你快速测试应用场景,并发现系统的瓶颈所在。
在此过程中,你可以:

  • 理解任务的哪些部分真正需要 Agent 来执行。

  • 识别可以拆分成独立流程的子任务,以便构建更大的工作流。

从单个 Agent 开始,你可以逐步获取有价值的信息,为未来扩展到更复杂的系统打下基础。

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
在这里插入图片描述

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
在这里插入图片描述

Logo

Agent 垂直技术社区,欢迎活跃、内容共建,欢迎商务合作。wx: diudiu5555

更多推荐