建设一个网站需要什么技术人员,免费下载软件的网站,机械设计网站有哪些,校园网站建设途径简介
上下文工程是设计架构的学科#xff0c;旨在正确时间向LLM提供正确信息#xff0c;构建连接模型与外部世界的桥梁。它包含6个核心组件#xff1a;Agents、Query Augmentation、Ret retrieval、Prompting Techniques、Memory和Tools。通过这些组件解决LLM上下文窗口限制…简介上下文工程是设计架构的学科旨在正确时间向LLM提供正确信息构建连接模型与外部世界的桥梁。它包含6个核心组件Agents、Query Augmentation、Ret retrieval、Prompting Techniques、Memory和Tools。通过这些组件解决LLM上下文窗口限制导致的断开连接问题使AI应用能够可靠工作。最佳AI系统来自更好的工程而非更大的模型开发者需从提示者转变为架构师。核心理念: 上下文工程是设计架构的学科,在正确的时间向LLM提供正确的信息。这不是改变模型本身,而是构建连接模型与外部世界的桥梁。目录什么是上下文工程核心组件Agents - 决策大脑Query Augmentation - 查询增强Retrieval - 检索系统Prompting Techniques - 提示技巧Memory - 记忆系统Tools - 工具集成总结什么是上下文工程?每个使用大语言模型(LLM)构建应用的开发者都会遇到同样的瓶颈。你从一个强大的模型开始,它能够写作、总结、推理,表现出惊人的能力。但当你尝试将其应用到现实世界的问题时,裂缝就开始出现:无法回答关于你私有文档的问题不知道昨天发生的事件当不知道答案时会自信地编造问题的本质不在于模型的智能,而在于它从根本上是断开连接的。这种隔离是其核心架构限制的直接结果:上下文窗口。上下文窗口是模型的活动工作内存——保存当前任务指令和信息的有限空间。每个字、数字、标点符号都会消耗这个窗口中的空间。就像白板一样,一旦满了,旧信息就会被擦除以为新指令腾出空间,重要细节可能会丢失。你无法仅通过编写更好的提示来修复这个根本限制。你必须围绕模型构建一个系统。这就是上下文工程。核心组件上下文工程由6个核心组件组成,每个组件解决LLM应用中的特定挑战:1. Agents - 决策大脑定义: 编排如何以及何时使用信息的决策系统。什么是Agent?在大语言模型的上下文中,AI Agent是一个能够:动态决策信息流: 基于学到的内容决定下一步做什么,而不是遵循预定路径跨多次交互维护状态: 记住已完成的事情并使用历史信息指导未来决策自适应使用工具: 从可用工具中选择并以未明确编程的方式组合它们基于结果修改方法: 当一种策略不起作用时,可以尝试不同的方法这份完整版的大模型 AI 学习和面试资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】Agent架构类型单Agent架构:尝试自己处理所有任务适用于中等复杂度的工作流单Agent架构多Agent架构:在专门的Agent之间分配工作允许复杂的工作流但引入协调挑战多Agent架构上下文窗口的挑战LLM具有有限的信息容量,因为上下文窗口一次只能容纳这么多信息。每次Agent处理信息时,它都需要做出关于:哪些信息应该保持在上下文窗口中活跃哪些应该外部存储并在需要时检索哪些可以总结或压缩以节省空间为推理和规划保留多少空间常见的上下文错误类型上下文污染(Context Poisoning):错误或幻觉信息进入上下文因为Agent重用和构建该上下文,这些错误会持续并复合上下文干扰(Context Distraction):Agent被过多的过去信息(历史、工具输出、摘要)负担过度依赖重复过去的行为而不是新鲜推理上下文混乱(Context Confusion):不相关的工具或文档挤满上下文分散模型注意力并导致使用错误的工具或指令上下文冲突(Context Clash):上下文中的矛盾信息误导Agent使其陷入冲突假设之间Agent的核心策略和任务Agent能够有效编排上下文系统,因为它们能够以动态方式进行推理和决策:上下文总结: 定期将累积的历史压缩成摘要以减少负担同时保留关键知识质量验证: 检查检索的信息是否一致和有用上下文修剪: 主动删除不相关或过时的上下文自适应检索策略: 当初始尝试失败时重新制定查询、切换知识库或改变分块策略上下文卸载: 将细节存储在外部并仅在需要时检索动态工具选择: 只过滤和加载与任务相关的工具多源综合: 组合来自多个源的信息,解决冲突并产生连贯的答案不同类型的Agent在上下文工程系统中的功能2. Query Augmentation - 查询增强定义: 将混乱、模糊的用户请求转换为精确、机器可读意图的艺术。上下文工程中最重要的步骤之一是如何准备和呈现用户的查询。有两个主要问题需要考虑:用户通常不以理想方式与聊天机器人交互现实世界中的用户交互可能不清楚、混乱且不完整需要实现处理所有类型交互的解决方案管道的不同部分需要以不同方式处理查询LLM理解良好的问题可能不是搜索向量数据库的最佳格式需要一种适合不同工具和步骤的查询增强方法2.1 查询重写(Query Rewriting)将原始用户查询转换为更有效的检索版本。查询重写流程工作原理:重构不清楚的问题: 将模糊或形式不佳的用户输入转换为精确、信息密集的术语上下文移除: 消除可能混淆检索过程的无关信息关键词增强: 引入常见术语以增加匹配相关文档的可能性2.2 查询扩展(Query Expansion)从单个用户输入生成多个相关查询来增强检索。查询扩展流程需要注意的挑战:查询漂移: 扩展的查询可能偏离用户的原始意图过度扩展: 添加过多术语可能降低精度计算开销: 处理多个查询会增加系统延迟2.3 查询分解(Query Decomposition)将复杂、多方面的问题分解为更简单、集中的子查询。查询分解流程过程包括两个主要阶段:分解阶段: LLM分析原始复杂查询并将其分解为更小、集中的子查询处理阶段: 每个子查询独立通过检索管道处理2.4 查询Agent(Query Agents)查询Agent是查询增强的最高级形式,使用AI Agent智能处理整个查询处理管道。查询Agent架构3. Retrieval - 检索系统定义: 连接LLM到你的特定文档和知识库的桥梁。LLM的能力取决于它能访问的信息。虽然LLM在海量数据集上训练,但它们缺乏对你特定私有文档和训练完成后创建的任何信息的了解。RAG架构挑战: 原始文档数据集几乎总是太大而无法放入LLM有限的上下文窗口。我们必须找到完美的片段——包含用户查询答案的单个段落或部分。为了使我们庞大的知识库可搜索,我们必须首先将文档分解为更小、可管理的部分。这个基础过程称为**分块(Chunking)**。分块技术指南分块是你为检索系统性能做出的最重要决定。分块策略矩阵设计分块策略时,必须平衡两个竞争优先级:检索精度: 块需要小而专注于单个想法上下文丰富性: 块必须足够大和自包含以便被理解目标是找到分块最佳点——创建足够小以实现精确检索但足够完整以给LLM所需完整上下文的块。简单分块技术固定大小分块(Fixed-Size Chunking):递归分块(Recursive Chunking):使用优先级分隔符列表分割文本尊重文档的自然结构基于文档的分块(Document-Based Chunking):使用文档的固有结构高级分块技术语义分块(Semantic Chunking):基于含义而不是分隔符分割文本基于LLM的分块(LLM-Based Chunking):Agentic分块:层次分块(Hierarchical Chunking):延迟分块(Late Chunking):预分块 vs 后分块预分块(Pre-Chunking):后分块(Post-Chunking):这份完整版的大模型 AI 学习和面试资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】4. Prompting Techniques - 提示技巧定义: 给出清晰、有效指令以引导模型推理的技能。提示工程是设计、细化和优化给予大语言模型的输入(提示)以获得期望输出的实践。经典提示技术思维链(Chain of Thought, CoT):少样本提示(Few-Shot Prompting):结合CoT和Few-shot:结合CoT和Few-shot示例是一种强大的方式,可以同时指导模型的推理过程和输出格式,以获得最佳效率。专业技巧 #1: 使思维链中的模型推理非常具体到你的用例。例如,你可以要求模型:评估环境重复任何相关信息解释这些信息对当前请求的重要性专业技巧 #2: 最大化效率并减少token数量,要求模型以草稿形式推理,每句话不超过5个单词。这确保了模型的思考过程是可见的,同时减少了输出token数量。高级提示策略思维树(Tree of Thoughts, ToT):ReAct提示:5. Memory - 记忆系统定义: 给你的应用程序历史感和从交互中学习能力的系统。Karpathy的类比Agent记忆的架构在构建强大的Agent时,我们需要分层思考记忆,通常混合不同类型的记忆以获得最佳效果。短期记忆:短期记忆是Agent的即时工作空间。这是现在,被塞入上下文窗口以推动即时决策和推理。这通过上下文学习实现,将最近的对话、操作或数据直接打包到提示中。示例对话:用户: “天气怎么样?”AI: “晴天,24°C”用户: “我需要带夹克吗?”AI: “不需要,很暖和!”因为受到模型token限制的约束,主要挑战是效率。诀窍是保持这个精简,以减少成本和延迟,同时不遗漏任何对下一步处理可能重要的细节。长期记忆:长期记忆超越了即时上下文窗口,将信息外部存储以便在需要时快速检索。这使Agent能够随着时间推移建立对其世界和用户的持久理解。它通常由检索增强生成(RAG)驱动,Agent查询外部知识库(如向量数据库)来提取相关信息。这种记忆可以存储不同类型的信息,例如:情节记忆: 存储特定事件或过去的交互语义记忆: 保存一般知识和事实(可以是公司文档、产品手册或精选的领域知识库的信息,使Agent能够准确回答问题)混合记忆设置:实际上,大多数现代系统使用混合方法,将短期记忆的速度与长期记忆的深度相结合。一些高级架构甚至引入了额外的层:工作记忆: 与特定多步骤任务相关信息的临时存储区。例如,如果Agent正在预订旅行,其工作记忆可能会保存目的地、日期和预算直到任务完成,而不会使长期存储混乱。程序记忆: 这帮助Agent学习和掌握例程。通过观察成功的工作流程,Agent可以内化重复任务的步骤序列,使其随着时间推移变得更快、更可靠。有效记忆管理的关键原则修剪和细化:选择性存储:掌握检索的艺术:6. Tools - 工具集成如果记忆给Agent自我意识,那么工具就是给它超能力的东西。工具集成概念从提示到行动的演变使LLM具有工具使用能力的旅程经历了快速演变。最初,开发者试图通过传统的提示工程从LLM获得行动,通过诱导模型生成看起来像命令的文本。这很聪明但容易出错。真正的突破是函数调用(Function Calling),也称为**工具调用(Tool Calling)**。这种能力现在已成为大多数模型的原生功能,允许LLM输出可以包含要调用的函数名称和要使用的参数的结构化JSON。有了这个能力,就有很多可能性:简单工具: 旅行Agent机器人可以使用search_flights工具,当用户询问帮我找下周二去东京的航班时,LLM不会猜测答案。它生成对你提供的函数的调用,进而查询真实的航空公司API。工具链: 对于像帮我计划一个周末去旧金山的旅行这样的复杂请求,Agent可能需要将多个工具链在一起:find_flights、search_hotels和get_local_events。这需要Agent进行推理、规划并执行多步骤工作流程。上下文工程在这里的工作是如何呈现这些工具。一个写得好的工具描述就像一个小型提示,指导模型,清楚地说明工具的作用、需要什么输入以及返回什么。编排挑战给Agent一个工具是容易的(大部分情况下)。让它可靠、安全和有效地使用该工具才是真正工作开始的地方。上下文工程的核心任务是编排,即在Agent推理使用哪个工具时管理信息流和决策制定。这涉及在上下文窗口中发生的几个关键步骤。让我们使用Glowe(一个由我们的Elysia编排框架支持的护肤领域知识应用)作为运行示例来分解这些关键编排步骤:1. 工具发现: Agent需要知道它拥有哪些工具。这通常通过在系统提示中提供可用工具及其描述的列表来完成。这些描述的质量非常关键。它们是Agent理解每个工具作用的唯一指南,使模型能够理解何时使用工具,更重要的是,何时避免使用它。在Glowe中,我们在初始化每个新聊天树时配置一组专门的工具(步骤5)并提供精确的描述。2. 工具选择和规划(思考): 面对用户请求时,Agent必须推理是否需要工具。如果需要,是哪一个?对于复杂任务,它甚至可能需要将多个工具链在一起,形成计划(例如,“首先,在网上搜索天气;然后,使用电子邮件工具发送摘要”)。工具选择在这里,决策Agent正确分析了传入的请求并选择了product_agent工具。3. 参数制定(行动): 一旦选择了工具,Agent必须弄清楚传递什么参数给它。如果工具是get_weather(city, date),Agent需要从用户的查询中提取旧金山和明天并正确格式化它们。这也可以是带有使用工具所需信息的结构化请求或API调用。参数制定在这种情况下,product_agent需要一个文本查询来搜索产品集合。注意Agent如何在生成初始导致错误的格式错误参数后自我修正(自我修复)(编排的另一个关键部分)。4. 反思(观察): 执行工具后,输出(“观察”)被反馈到上下文窗口中。然后Agent反思这个输出以决定下一步。工具成功了吗?它产生了回答用户查询所需的信息吗?还是返回了需要不同方法的错误?反思观察2如你所见,编排通过这个强大的反馈循环发生,通常称为思考-行动-观察循环(Thought-Action-Observation Cycle)。思考-行动-观察循环这个循环构成了现代Agent框架(如Elysia)中的基本推理循环。Agent观察其行动的结果,并使用这些新信息来推动其下一个思考,决定任务是否完成、是否需要使用另一个工具,或者是否应该向用户寻求澄清。工具使用的下一个前沿传统集成 vs MCP方法:总结上下文工程不仅仅是提示大语言模型、构建检索系统或设计AI架构。它是关于构建在各种用途和用户中可靠工作的互联、动态系统。简单提示工程 vs 上下文工程上下文工程由以下组件组成:Agents- 作为系统的决策大脑Query Augmentation- 将混乱的人类请求转换为可操作的意图Retrieval- 将模型连接到事实和知识库Memory- 给你的系统历史感和学习能力Tools- 给你的应用程序与实时数据和API交互的手我们正在从与模型对话的提示者转变为构建模型生活世界的架构师。最好的AI系统不是来自更大的模型,而是来自更好的工程。如何系统的学习大模型 AI 我在一线互联网企业工作十余年里指导过不少同行后辈。帮助很多人得到了学习和成长。我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限很多互联网行业朋友无法获得正确的资料得到学习提升故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。这份完整版的大模型 AI 学习和面试资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】第一阶段从大模型系统设计入手讲解大模型的主要方法第二阶段在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用第三阶段大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统第四阶段大模型知识库应用开发以LangChain框架为例构建物流行业咨询智能问答系统第五阶段大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型第六阶段以SD多模态大模型为主搭建了文生图小程序案例第七阶段以大模型平台应用与开发为主通过星火大模型文心大模型等成熟大模型构建大模型行业应用。学会后的收获• 基于大模型全栈工程实现前端、后端、产品经理、设计、数据分析等通过这门课可获得不同能力• 能够利用大模型解决相关实际项目需求 大数据时代越来越多的企业和机构需要处理海量数据利用大模型技术可以更好地处理这些数据提高数据分析和决策的准确性。因此掌握大模型应用开发技能可以让程序员更好地应对实际项目需求• 基于大模型和企业数据AI应用开发实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能 学会Fine-tuning垂直训练大模型数据准备、数据蒸馏、大模型部署一站式掌握• 能够完成时下热门大模型垂直领域模型训练能力提高程序员的编码能力 大模型应用开发需要掌握机器学习算法、深度学习框架等技术这些技术的掌握可以提高程序员的编码能力和分析能力让程序员更加熟练地编写高质量的代码。1.AI大模型学习路线图2.100套AI大模型商业化落地方案3.100集大模型视频教程4.200本大模型PDF书籍5.LLM面试题合集6.AI产品经理资源合集获取方式有需要的小伙伴可以保存图片到wx扫描二v码免费领取【保证100%免费】