门户网站通俗理解,网站开发前途,广州万网建网站,莘县网站建设公司一、LLM Agent#xff08;智能体#xff09;高级概述
为什么要优先构建通用LLM Agent#xff1f;对小白和初级程序员来说#xff0c;它是快速验证大模型应用场景的试金石#xff0c;能帮你低成本完成用例原型#xff1b;对进阶开发者而言#xff0c;通用Age…一、LLM Agent智能体高级概述为什么要优先构建通用LLM Agent对小白和初级程序员来说它是快速验证大模型应用场景的试金石能帮你低成本完成用例原型对进阶开发者而言通用Agent的构建过程能为后续定制化Agent架构打下坚实基础少走很多弯路。在深入实操前先快速搞懂LLM Agent的核心概念基础扎实的同学可直接跳过直达构建步骤。二、先搞懂什么是LLM AgentLLM Agent 是一款执行逻辑由底层大模型驱动的程序区别于固定脚本它具备自主决策和动态调整的能力。从单一LLM到Agentic系统核心是增加了自主决策-工具调用-结果迭代的闭环能力具体差异可通过下图清晰理解和传统的少样本提示few-shot prompt、固定工作流相比LLM Agent的核心优势在于自主性它能根据用户查询的具体需求自主定义执行步骤、选择合适工具、调整调用方式还能根据工具输出结果优化后续操作。比如面对分析近3年人工智能领域顶会论文趋势的需求Agent会自主拆解为检索顶会列表→爬取论文数据→数据分析→生成可视化报告等步骤自动调用网页搜索、代码执行等工具全程无需人工干预。这种适应性让它能以最少配置覆盖多种用例这也是Agent的核心价值所在。关键认知Agentic架构的灵活性-可靠性频谱很多新手容易陷入追求极致灵活的误区其实Agentic架构不存在绝对最优解而是存在从固定工作流的可靠性到自主Agent的灵活性的连续频谱。举两个实用例子帮你理解检索增强生成RAG这种固定工作流可通过添加自反思self-reflection循环提升灵活性——当初始检索结果不足以支撑回答时Agent会自主调整检索关键词重新查询ReAct Agent推理-行动架构可将固定工作流作为工具调用既保留了自主决策的灵活性又借助固定流程保证核心步骤的可靠性。最终选择哪种架构核心看你的使用场景比如企业内部固定报表生成优先选可靠性更高的固定工作流轻量Agent比如科研探索、未知领域分析就需要灵活性更强的自主Agent。从零开始构建一个通用 LLM Agent 第 1 步选择合适的 LLM选择合适的模型对于实现预期的性能至关重要。你需要考虑多个因素例如许可协议、成本和语言支持。对于LLM Agent来说最重要的考量因素是模型在关键任务如代码生成、工具调用和推理上的表现评估基准包括MMLUMassive 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 UseAgent 决定何时将查询传递给合适的工具或直接依赖自身知识回答。自反思ReflectionAgent 在回应用户之前会先检查并修正自己的回答。大多数 LLM 系统都可以加入一个反思步骤。推理后执行Reason-then-ActReActAgent 逐步推理如何解决查询执行某个操作观察结果并决定是继续采取行动还是直接给出答案。规划后执行Plan-then-ExecuteAgent 先将任务拆解成多个子步骤如果有必要然后逐步执行每个步骤。其中ReAct 和 Plan-then-Execute是构建通用单Agent最常见的起点。要有效实现这些行为你需要进行Prompt Engineering提示工程也可能需要使用结构化生成structured generation技术。结构化生成的核心思想是引导 LLM 输出符合特定格式或模式确保 Agent 的回复风格一致并符合预期的沟通方式。示例Bee Agent Framework 中的 ReAct 风格 Agent 的系统提示片段# Communication structure You communicate only in instruction lines. The format is: Instruction: expected output. You must only use these instruction lines and must not enter empty lines or anything else between instruction lines. You must skip the instruction lines Function Name, Function Input and Function Output if no function calling is required. Message: Users message. You never use this instruction line. Thought: A single-line plan of how to answer the users message. It must be immediately followed by Final Answer. Thought: A single-line step-by-step plan of how to answer the users message. You can use the available functions defined above. This instruction line must be immediately followed by Function Name if one of the available functions defined above needs to be called, or by Final Answer. Do not provide the answer here. Function Name: Name of the function. This instruction line must be immediately followed by Function Input. Function Input: Function parameters. Empty object is a valid parameter. Function Output: Output of the function in JSON format. Thought: Continue your thinking process. Final Answer: Answer the user or ask for more information or clarification. It must always be preceded by Thought. ## Examples Message: Can you translate How are you into French? Thought: The user wants to translate a text into French. I can do that. Final Answer: Comment vas-tu?中文# 通信结构 你只能通过指令行进行通信。格式为“指令预期输出”。你只能使用这些指令行并且不得在指令行之间输入空行或其他任何内容。 如果不需要调用函数则必须跳过指令行函数名称、函数输入和函数输出。 消息用户的消息。您永远不会使用此指令行。 想法如何回答用户消息的单行计划。它必须紧接着最终答案。 想法如何回答用户消息的单行分步计划。你可以使用上面定义的可用函数。如果需要调用上面定义的可用函数之一则此指令行必须紧接着函数名称或者紧接着最终答案。不要在此处提供答案。 函数名称函数的名称。此指令行必须紧接着函数输入。 函数输入函数参数。空对象是有效参数。 函数输出以 JSON 格式输出函数。 想法继续你的思考过程。 最终答案回答用户或要求提供更多信息或说明。它必须始终以想法开头。 ## 示例 消息你能将“How are you”翻译成法语吗 想法用户想将文本翻译成法语。我可以做到。 最终答案Comment vas-tu?第 3 步定义 Agent 的核心指令我们通常认为 LLM 具备许多开箱即用的功能但其中一些可能并不符合你的需求。要让 Agent 达到理想的性能你需要在系统提示中明确规定哪些功能应该启用哪些应该禁用。可能需要定义的指令包括Agent 名称与角色Agent 的名称及其职责。语气与简洁性Agent 交流时应正式还是随意应尽量简短还是提供详细信息何时使用工具何时依赖外部工具何时直接使用 LLM 知识回答错误处理方式如果工具调用失败Agent 应该如何应对示例Bee Agent Framework 的部分指令# Instructions User can only see the Final Answer, all answers must be provided there. You must always use the communication structure and instructions defined above. Do not forget that Thought must be a single-line immediately followed by Final Answer. You must always use the communication structure and instructions defined above. Do not forget that Thought must be a single-line immediately followed by either Function Name or Final Answer. Functions must be used to retrieve factual or historical information to answer the message. If the user suggests using a function that is not available, answer that the function is not available. You can suggest alternatives if appropriate. When the message is unclear or you need more information from the user, ask in Final Answer. # Your capabilities Prefer to use these capabilities over functions. - You understand these languages: English, Spanish, French. - You can translate and summarize, even long documents. # Notes - If you dont know the answer, say that you dont know. - The current time and date in ISO format can be found in the last message. - When answering the user, use friendly formats for time and date. - Use markdown syntax for formatting code snippets, links, JSON, tables, images, files. - Sometimes, things dont go as planned. Functions may not provide useful information on the first few tries. You should always try a few different approaches before declaring the problem unsolvable. - When the function doesnt give you what you were asking for, you must either use another function or a different function input. - When using search engines, you try different formulations of the query, possibly even in a different language. - You cannot do complex calculations, computations, or data manipulations without using functions.中文# 说明 用户只能看到最终答案所有答案都必须在那里提供。 你必须始终使用上面定义的通信结构和说明。不要忘记思考必须是一行后面紧跟着最终答案。 你必须始终使用上面定义的通信结构和说明。不要忘记思考必须是一行后面紧跟着函数名称或最终答案。 必须使用函数来检索事实或历史信息以回答消息。 如果用户建议使用不可用的功能请回答该功能不可用。如果合适你可以建议替代方案。 当消息不清楚或你需要用户提供更多信息时请在最终答案中询问。 #你的能力 优先使用这些能力而不是功能。 - 你了解这些语言英语、西班牙语、法语。 - 你可以翻译和总结即使是长篇文档。 # 注释 - 如果你不知道答案请说你不知道。 - 可以在最后一条消息中找到 ISO 格式的当前时间和日期。 - 回答用户问题时请使用友好的时间和日期格式。 - 使用 markdown 语法格式化代码片段、链接、JSON、表格、图像和文件。 - 有时事情不会按计划进行。函数在前几次尝试中可能无法提供有用的信息。在宣布问题无法解决之前你应该始终尝试几种不同的方法。 - 当函数无法提供你要求的内容时你必须使用其他函数或其他函数输入。 - 使用搜索引擎时你可以尝试查询的不同表述甚至可能使用不同的语言。 - 不使用函数你无法进行复杂的计算、运算或数据操作。第 4 步定义并优化核心工具工具赋予了 Agent 强大的能力。通过一组精心设计的工具你可以实现广泛的功能。关键工具包括✅ 代码执行✅ Web 搜索✅ 文件读取✅ 数据分析每个工具都应包含以下定义并作为系统提示的一部分工具名称Tool Name清晰描述该工具的功能。工具描述Tool Description解释工具的用途以及何时使用它以帮助 Agent 选择合适的工具。工具输入模式Tool Input Schema定义输入参数包括必填项、可选项、类型和约束。工具执行方式如何运行工具以及 Agent 该如何调用它。示例Langchain 社区的 Arxiv 工具以下是****Arxiv API实现的部分代码该工具可用于检索物理学、数学、计算机科学等领域的论文class ArxivInput(BaseModel): Input for the Arxiv tool. query: str Field(descriptionsearch query to look up) class ArxivQueryRun(BaseTool): # type: ignore[override, override] Tool that searches the Arxiv API. name: str arxiv description: str ( A wrapper around Arxiv.org Useful for when you need to answer questions about Physics, Mathematics, Computer Science, Quantitative Biology, Quantitative Finance, Statistics, Electrical Engineering, and Economics from scientific articles on arxiv.org. Input should be a search query. ) api_wrapper: ArxivAPIWrapper Field(default_factoryArxivAPIWrapper) # type: ignore[arg-type] args_schema: Type[BaseModel] ArxivInput def _run( self, query: str, run_manager: Optional[CallbackManagerForToolRun] None, ) - str: Use the Arxiv tool. return self.api_wrapper.run(query)在某些情况下你可能需要优化工具以提升性能例如通过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 2Prompt Engineering确保 Agent 行为符合预期✅Step 3编写核心指令定义角色、风格、工具使用策略等✅Step 4定义并优化核心工具如 Web 搜索、数据库查询等✅Step 5制定内存管理策略防止上下文溢出那么如果我们现在让 LLM 直接处理用户查询会发生什么举个例子可能会发生User Message: Extract key insighs from this dataset Files: bill-of-materials.csv Thought: First, I need to inspect the columns of the dataset and provide basic data statistics. Function Name: Python Function Input: {language:python,code:import pandas as pd\n\ndataset pd.read_csv(bill-of-materials.csv)\n\nprint(dataset.columns)\nprint(dataset.describe()),inputFiles:[bill-of-materials.csv]} Function Output:用户消息从此数据集中提取关信息 文件bill-of-materials.csv 想法首先我需要检查数据集的列并提供基本数据统计信息。 函数名称Python 函数输入{language:python,code:import pandas as pd\n\ndataset pd.read_csv(bill-of-materials.csv)\n\nprint(dataset.columns)\nprint(dataset.describe()),inputFiles:[bill-of-materials.csv]} 函数输出此时Agent 生成的是原始文本输出。那么如何让它执行下一步操作呢这就需要解析Parsing和编排Orchestration。第 6 步解析 Agent 的原始输出解析器Parser是一种将原始数据转换为应用程序可理解格式例如带有属性的对象的函数。对于我们正在构建的 Agent解析器需要识别第 2 步中定义的通信结构并返回结构化输出如 JSON。这样应用程序就能更容易地处理和执行 Agent 的下一步操作。注意部分模型提供商如 OpenAI默认支持可解析的输出。而对于其他模型特别是开源模型可能需要手动配置此功能。第 7 步编排 Agent 的下一步操作最后一步是设置编排逻辑用于决定 LLM 在生成结果后的处理方式。根据输出内容你可能需要执行工具调用如运行 Python 代码、调用 API。返回答案即向用户提供最终响应或请求额外信息以进一步完成任务。如果触发了工具调用则工具的输出将发送回 LLM作为其工作记忆的一部分。然后LLM 将确定如何处理这些新信息执行另一个工具调用或向用户返回答案。以下是此编排逻辑在代码中的样子def orchestrator(llm_agent, llm_output, tools, user_query): Orchestrates the response based on LLM output and iterates if necessary. Parameters: - llm_agent (callable): The LLM agent function for processing tool outputs. - llm_output (dict): Initial output from the LLM, specifying the next action. - tools (dict): Dictionary of available tools with their execution methods. - user_query (str): The original user query. Returns: - str: The final response to the user. while True: action llm_output.get(action) if action tool_call: # Extract tool name and parameters tool_name llm_output.get(tool_name) tool_params llm_output.get(tool_params, {}) if tool_name in tools: try: # Execute the tool tool_result tools[tool_name](**tool_params) # Send tool output back to the LLM agent for further processing llm_output llm_agent({tool_output: tool_result}) except Exception as e: return fError executing tool {tool_name}: {str(e)} else: return fError: Tool {tool_name} not found. elif action return_answer: # Return the final answer to the user return llm_output.get(answer, No answer provided.) else: return Error: Unrecognized action type from LLM output.大功告成你现在已经构建了一个可以处理多种场景的系统——无论是竞争分析、深度研究还是自动化复杂的工作流都能轻松应对。Multi-Agent 系统的作用尽管当前一代的 LLM 功能强大但它们仍然存在一个核心限制难以处理信息过载。如果上下文信息过多或使用的工具过于复杂模型可能会因超载而导致性能下降。单个通用 Agent 迟早会遇到这个瓶颈尤其是当它大量消耗 token 时。对于某些应用场景采用 Multi-Agent**多 Agent**方案可能更合理。通过将任务拆分到多个 Agent 之间可以减少单个 LLM 需要处理的上下文从而提高整体效率。不过从单 Agent 入手仍然是一个绝佳的起点尤其是在原型阶段。它能帮助你快速测试应用场景并发现系统的瓶颈所在。在此过程中你可以理解任务的哪些部分真正需要 Agent 来执行。识别可以拆分成独立流程的子任务以便构建更大的工作流。从单个 Agent 开始你可以逐步获取有价值的信息为未来扩展到更复杂的系统打下基础。如何快速上手准备好开始构建了使用一个框架是快速测试和迭代 Agent 配置的好方法。如果你计划使用开源模型如 Llama 3可以尝试Bee Agent Framework提供入门模板https://github.com/i-am-bee/bee-agent-framework如果你计划使用前沿模型如 OpenAI可以参考 LangGraph 提供的教程https://langchain-ai.github.io/langgraph/如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线互联网企业工作十余年里指导过不少同行后辈。帮助很多人得到了学习和成长。我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限很多互联网行业朋友无法获得正确的资料得到学习提升故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】为什么要学习大模型我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年人才缺口已超百万凸显培养不足。随着AI技术飞速发展预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。大模型入门到实战全套学习大礼包1、大模型系统化学习路线作为学习AI大模型技术的新手方向至关重要。 正确的学习路线可以为你节省时间少走弯路方向不对努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划带你从零基础入门到精通2、大模型学习书籍文档学习AI大模型离不开书籍文档我精选了一系列大模型技术的书籍和学习文档电子版它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。3、AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。4、大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。5、大模型大厂面试真题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我精心整理了一份大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。适用人群第一阶段10天初阶应用该阶段让大家对大模型 AI有一个最前沿的认识对大模型 AI 的理解超过 95% 的人可以在相关讨论时发表高级、不跟风、又接地气的见解别人只会和 AI 聊天而你能调教 AI并能用代码将大模型和业务衔接。大模型 AI 能干什么大模型是怎样获得「智能」的用好 AI 的核心心法大模型应用业务架构大模型应用技术架构代码示例向 GPT-3.5 灌入新知识提示工程的意义和核心思想Prompt 典型构成指令调优方法论思维链和思维树Prompt 攻击和防范…第二阶段30天高阶应用该阶段我们正式进入大模型 AI 进阶实战学习学会构造私有知识库扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架抓住最新的技术进展适合 Python 和 JavaScript 程序员。为什么要做 RAG搭建一个简单的 ChatPDF检索的基础概念什么是向量表示Embeddings向量数据库与向量检索基于向量检索的 RAG搭建 RAG 系统的扩展知识混合检索与 RAG-Fusion 简介向量模型本地部署…第三阶段30天模型训练恭喜你如果学到这里你基本可以找到一份大模型 AI相关的工作自己也能训练 GPT 了通过微调训练自己的垂直大模型能独立训练开源多模态大模型掌握更多技术方案。到此为止大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗为什么要做 RAG什么是模型什么是模型训练求解器 损失函数简介小实验2手写一个简单的神经网络并训练它什么是训练/预训练/微调/轻量化微调Transformer结构简介轻量化微调实验数据集的构建…第四阶段20天商业闭环对全球大模型从性能、吞吐量、成本等方面有一定的认知可以在云端和本地等多种环境下部署大模型找到适合自己的项目/创业方向做一名被 AI 武装的产品经理。硬件选型带你了解全球大模型使用国产大模型服务搭建 OpenAI 代理热身基于阿里云 PAI 部署 Stable Diffusion在本地计算机运行大模型大模型的私有化部署基于 vLLM 部署大模型案例如何优雅地在阿里云私有部署开源大模型部署一套开源 LLM 项目内容安全互联网信息服务算法备案…学习是一个过程只要学习就会有挑战。天道酬勤你越努力就会成为越优秀的自己。如果你能在15天内完成所有的任务那你堪称天才。然而如果你能完成 60-70% 的内容你就已经开始具备成为一名大模型 AI 的正确特征了。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】