免费POC, 零成本试错
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


我要投稿

Context Engineering:Weaviate构建智能体系统的完整指南

发布日期:2025-11-20 19:41:56 浏览次数: 1548
作者:ChallengeHub

微信搜一搜,关注“ChallengeHub”

推荐语

超越提示词工程:揭秘构建智能AI系统的六大核心组件,打造真正懂上下文的AI应用。

核心内容:
1. Context Engineering的六大核心组件解析
2. AI Agent如何实现动态决策与状态维护
3. 上下文窗口挑战与优化策略

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

这篇笔记深入解读了 Weaviate 出品的《Context Engineering》电子书。在大模型应用开发中,仅仅依赖 Prompt Engineering(提示词工程)往往是不够的,如何构建一个能够根据上下文动态调整、拥有记忆并能使用工具的系统,才是打造高质量 AI 应用的关键。这就是 Context Engineering(上下文工程)。

以下是基于原书内容的深度解读与笔记。

PDF地址:https://weaviate.io/ebooks/the-context-engineering-guide


大型语言模型(LLM)的能力令人印象深刻,但开发者很快就会发现一个问题:模型本身很强大,但它是孤立的。它无法访问私有文档,不知道昨天发生的事,甚至会在不知道答案时自信地编造内容。

问题的根源在于上下文窗口(Context Window)——模型的工作记忆空间是有限的。就像白板一样,一旦填满,旧信息就会被擦除,重要细节可能丢失。

单靠写更好的提示词解决不了这个根本限制,需要在模型周围构建一个完整的系统。这就是 Context Engineering(上下文工程)

Context Engineering 的六大核心组件

Context Engineering 是一门设计架构的学科,它能在正确的时间向 LLM 提供正确的信息。这不是改变模型本身,而是构建连接模型与外部世界的桥梁。

1. Agents(智能体)

决策大脑,协调何时以及如何使用信息。

2. Query Augmentation(查询增强)

将混乱、模糊的用户请求转化为精确、机器可读的意图。

3. Retrieval(检索)

连接 LLM 与特定文档和知识库的桥梁。

4. Prompting Techniques(提示技术)

提供清晰有效的指令来引导模型推理的技巧。

5. Memory(记忆)

赋予应用历史感和从交互中学习的能力。

6. Tools(工具)

让应用能够采取直接行动并与实时数据源交互。

Agents:动态决策的协调者

静态的"检索-生成"流程在简单的 RAG 场景下还行,但一旦任务需要判断、适应或多步推理,这种方式就不够用了。

什么是 Agent?

AI Agent 是一个能够:

  • 动态决策信息流:根据学到的内容决定下一步做什么
  • 跨多次交互维护状态:记住做过什么,用历史信息指导未来决策
  • 根据结果调整方法:一种策略不行就尝试不同的方法
  • 自适应使用工具:从可用工具中选择并以未明确编程的方式组合使用

上下文窗口的挑战

LLM 的信息容量有限,上下文窗口一次只能容纳这么多信息。每次 Agent 处理信息时,都需要决定:

  • 哪些信息应该保留在上下文窗口中
  • 哪些应该存储在外部并在需要时检索
  • 哪些可以总结或压缩以节省空间
  • 为推理和规划预留多少空间

更大的上下文窗口并不能解决问题,反而会引入新的故障模式:

常见的上下文错误类型:

  • Context Poisoning(上下文污染):错误或幻觉信息进入上下文,Agent 重复使用这些上下文,错误会持续并复合
  • Context Distraction(上下文分散):Agent 被过多的历史信息负担,过度依赖重复过去的行为而不是重新推理
  • Context Confusion(上下文混淆):不相关的工具或文档挤满上下文,分散模型注意力,导致使用错误的工具或指令
  • Context Clash(上下文冲突):上下文中的矛盾信息误导 Agent,使其陷入冲突的假设之间

Agent 的策略和任务

Agent 能够有效协调上下文系统,因为它们能够动态推理和决策。常见任务包括:

  • Context Summarization(上下文总结):定期将累积的历史压缩成摘要,减轻负担同时保留关键知识
  • Quality Validation(质量验证):检查检索到的信息是否一致和有用
  • Context Pruning(上下文修剪):主动删除不相关或过时的上下文
  • Adaptive Retrieval Strategies(自适应检索策略):重新表述查询、切换知识库或改变分块策略
  • Context Offloading(上下文卸载):将细节存储在外部,仅在需要时检索
  • Dynamic Tool Selection(动态工具选择):只加载与任务相关的工具,减少混淆
  • Multi-Source Synthesis(多源综合):结合多个来源的信息,解决冲突,产生连贯的答案

Agent 在上下文工程中的定位

Agent 充当上下文工程系统中的协调者。它们不会取代其他技术,而是智能地编排这些技术。

Query Augmentation:理解用户意图

上下文工程最重要的步骤之一是如何准备和呈现用户的查询。如果不知道用户到底在问什么,LLM 就无法提供准确的响应。

两个主要问题:

  1. 用户交互往往不理想:现实世界中,用户与聊天机器人的交互可能不清楚、混乱、不完整
  2. 不同管道部分需要不同的查询格式:LLM 能理解的问题可能不是搜索向量数据库的最佳格式

Query Rewriting(查询重写)

将原始用户查询转换为更有效的检索版本。这种技术通过以下方式工作:

  • 重构不清楚的问题:将模糊或表述不当的用户输入转换为精确、信息密集的术语
  • 移除上下文:消除可能混淆检索过程的不相关信息
  • 关键词增强:引入常用术语,增加匹配相关文档的可能性

Query Expansion(查询扩展)

从单个用户输入生成多个相关查询,改善检索结果。特别适用于查询模糊、表述不当或需要更广泛覆盖的情况。

挑战包括:

  • Query Drift(查询漂移):扩展的查询可能偏离用户的原始意图
  • Over-Expansion(过度扩展):添加太多术语会降低精度
  • Computational Overhead(计算开销):处理多个查询会增加系统延迟

Query Decomposition(查询分解)

将复杂的多方面问题分解为更简单、更集中的子查询,可以独立处理。

通常包括两个主要阶段:

  1. 分解阶段:LLM 分析原始复杂查询并将其分解为更小、更集中的子查询
  2. 处理阶段:每个子查询独立通过检索管道处理,允许更精确地匹配相关文档

Query Agents(查询智能体)

最先进的查询增强形式,使用 AI Agent 智能处理整个查询处理管道。

Query Agent 的能力包括:

  • 动态查询构建:根据对用户意图和数据模式的理解按需构建查询
  • 多集合路由:理解所有集合的结构,智能决定查询哪些数据集合
  • 评估:在原始用户查询的上下文中评估检索到的信息
  • 上下文感知:维护对话上下文以处理后续问题

Retrieval:连接知识的桥梁

LLM 的好坏取决于它能访问的信息。虽然 LLM 在海量数据集上训练,但它们缺乏对特定私有文档和训练完成后创建的任何信息的了解。

分块策略指南

分块(Chunking)是检索系统性能最重要的决策。这是将大型文档分解为更小、可管理部分的过程。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

设计分块策略时,必须平衡两个相互竞争的优先级:

  • 检索精度(Retrieval Precision):分块需要小而集中于单一想法,创建独特、精确的嵌入
  • 上下文丰富性(Contextual Richness):分块必须足够大且自包含,才能被理解

简单分块技术

Fixed-Size Chunking(固定大小分块): 最简单的方法,将文本分割成预定大小的分块(例如 512 个 token)。

Recursive Chunking(递归分块): 使用分隔符的优先级列表(如段落、句子、单词)分割文本,尊重文档的自然结构。

Document-Based Chunking(基于文档的分块): 使用文档的固有结构,例如按 Markdown 的标题、HTML 的标签或源代码的函数分割。

高级分块技术

Semantic Chunking(语义分块): 基于含义分割文本,将语义相关的句子组合在一起。

LLM-Based Chunking(基于 LLM 的分块): 使用大型语言模型智能处理文档并生成语义连贯的分块。

Agentic Chunking(智能体分块): AI Agent 动态分析文档的结构和内容,为特定文档选择最佳分块策略。

Hierarchical Chunking(层次分块): 在不同细节级别创建多层分块。

Late Chunking(延迟分块): 与标准流程的架构模式相反,先嵌入整个文档,然后再按token进行关联分块。

Pre-Chunking vs Post-Chunking

Pre-Chunking(预分块): 最常见的方法,所有数据处理都在前期离线完成。

  • ✅ 优点:查询时检索速度极快
  • ❌ 缺点:分块策略固定,改变需要重新处理整个数据集

Post-Chunking(后分块): 先进的实时替代方案,分块发生在文档检索之后。

  • ✅ 优点:高度灵活,可以创建特定于用户查询上下文的动态分块策略
  • ❌ 缺点:增加延迟,需要更复杂的基础设施

Prompting Techniques:引导模型推理

提示工程是设计、完善和优化给 LLM 的输入(提示)以获得期望输出的实践。措辞方式可以直接影响响应的准确性、有用性和清晰度。

经典提示技术

Chain of Thought(思维链): 要求模型"逐步思考",将复杂推理分解为中间步骤。

Few-Shot Prompting(少样本提示): 在上下文窗口中提供几个示例,演示想要的输出类型或"正确"答案。

高级提示策略

Tree of Thoughts(思维树): 在 CoT 基础上构建,指示模型并行探索和评估多个推理路径。

ReAct Prompting: 结合 CoT 和 Agent,使模型能够动态地"推理"和"行动"。

工具使用提示

当 LLM 与外部工具交互时,清晰的提示确保正确的工具选择和使用。

关键要素:

  • 定义参数和执行条件
  • 提供少样本示例
  • 明确何时使用工具
  • 说明如何使用工具

专业提示:如何编写有效的工具描述

  • 使用主动动词
  • 明确输入参数
  • 描述输出
  • 提及限制

Memory:赋予系统记忆

在构建 Agent 时,记忆不只是一个额外功能——它是赋予 Agent 生命的东西。没有它,LLM 只是一个强大但无状态的文本处理器。

Andrej Karpathy 提供了完美的类比:将 LLM 的上下文窗口比作计算机的 RAM,将模型本身比作 CPU。

记忆架构

Short-Term Memory(短期记忆): Agent 的即时工作空间,塞进上下文窗口以推动即时决策和推理。

Long-Term Memory(长期记忆): 超越即时上下文窗口,将信息存储在外部以便快速检索。

包括:

  • Episodic Memory(情景记忆):存储特定事件或过去的交互
  • Semantic Memory(语义记忆):保存一般知识和事实

Hybrid Memory Setup(混合记忆设置): 大多数现代系统使用混合方法,结合短期记忆的速度和长期记忆的深度。

有效记忆管理的关键原则

修剪和精炼记忆: 定期扫描长期存储以删除重复条目、合并相关信息或丢弃过时事实。

有选择地存储: 实施过滤标准,在保存之前评估信息的质量和相关性。

根据任务定制架构: 没有一刀切的记忆解决方案,从最简单的方法开始,逐步分层。

掌握检索艺术: 有效的记忆不在于能存储多少,而在于能在正确的时间检索正确的信息。

Tools:连接外部世界

如果说记忆给 Agent 一种自我感,那么工具就是赋予它超能力的东西。LLM 本身是出色的对话者和文本处理器,但它们生活在一个泡泡里。

从提示到行动的演变

真正的突破是函数调用(Function Calling),也叫工具调用。这种能力现在是大多数模型的原生功能,允许 LLM 输出包含要调用的函数名称和要使用的参数的结构化 JSON。

可能性包括:

  • 简单工具:旅行 Agent 可以使用 search_flights 工具
  • 工具链:复杂请求可能需要链接多个工具,如 find_flightssearch_hotels 和 get_local_events

编排挑战

给 Agent 一个工具很容易,让它可靠、安全、有效地使用该工具才是真正的工作。

关键编排步骤:

  1. Tool Discovery(工具发现): Agent 需要知道它有哪些工具可用。
  1. Tool Selection and Planning(工具选择和规划): 面对用户请求时,Agent 必须推理是否需要工具。
  1. Argument Formulation(参数制定): 一旦选择了工具,Agent 必须弄清楚要传递给它什么参数。
  1. Reflection(反思): 执行工具后,输出被反馈到上下文窗口,Agent 反思这个输出以决定下一步。

工具调用的下一代技术:MCP

工具使用的演变越来越趋向标准化。Model Context Protocol (MCP) 由 Anthropic 在 2024 年底推出,提供了一个通用标准来连接 AI 应用与外部数据源和工具。

MCP 将传统的 M×N 集成问题(M 个应用各自需要为 N 个工具编写自定义代码)转变为更简单的 M+N 问题。

总结:从提示者到架构师

Context Engineering 不仅仅是提示大型语言模型、构建检索系统或设计 AI 架构。它是构建互联的、动态的系统,能够在各种用途和用户中可靠地工作。

Context Engineering 由六大核心组件组成:

  • Agents 作为系统的决策大脑
  • Query Augmentation 将混乱的人类请求转化为可操作的意图
  • Retrieval 连接模型与事实和知识库
  • Memory 赋予系统历史感和学习能力
  • Tools 赋予应用与实时数据和 API 交互的能力
  • Prompting Techniques 引导模型的推理过程

正在从与模型对话的提示者转变为构建模型生活世界的架构师。最好的 AI 系统不是来自更大的模型,而是来自更好的工程。




图片
添加微信,备注”LLM“进入大模型技术交流群
图片
图片

如果你觉得这篇文章对你有帮助,别忘了点个赞、送个喜欢

>/ 作者:致Great

  >/ 作者:欢迎转载,标注来源即可

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询