上下文工程基础Skill context-fundamentals

本技能是关于AI智能体系统中上下文管理的核心指南。它详细阐述了上下文的组成部分(如系统提示、工具定义、消息历史)、注意力预算约束、渐进式披露原则以及如何将上下文作为有限资源进行优化。关键词包括:上下文工程、AI智能体、注意力机制、渐进式披露、系统提示、工具定义、检索增强生成、上下文窗口、令牌优化、智能体架构。适用于设计和优化大模型驱动的智能体系统。

AI智能体 0 次安装 0 次浏览 更新于 3/2/2026

name: context-fundamentals description: 理解智能体系统中上下文的组成部分、机制和约束。在设计智能体架构、调试与上下文相关的故障或优化上下文使用时使用。

上下文工程基础

上下文是语言模型在推理时可用的完整状态。它包括模型在生成响应时可以关注的一切:系统指令、工具定义、检索到的文档、消息历史记录和工具输出。理解上下文基础是进行有效上下文工程的前提。

何时激活

在以下情况下激活此技能:

  • 设计新的智能体系统或修改现有架构
  • 调试可能与上下文相关的意外智能体行为
  • 优化上下文使用以降低令牌成本或提高性能
  • 向新团队成员介绍上下文工程概念
  • 审查与上下文相关的设计决策

核心概念

上下文由几个不同的组成部分构成,每个部分都有不同的特征和约束。注意力机制创建了一个有限的预算,限制了有效的上下文使用。渐进式披露通过仅在需要时加载信息来管理此约束。该工程学科旨在策划能够实现预期结果的最小的高信号令牌集。

详细主题

上下文的剖析

系统提示 系统提示确立了智能体的核心身份、约束和行为准则。它们在会话开始时加载一次,通常在整个对话过程中持续存在。系统提示应极其清晰,并使用简单、直接的语言,处于适合智能体的正确高度。

正确的高度平衡了两种故障模式。一种极端是,工程师硬编码复杂、脆弱的逻辑,从而产生脆弱性和维护负担。另一种极端是,工程师提供模糊的高层指导,未能为期望的输出提供具体信号,或错误地假设了共享上下文。最佳高度在于取得平衡:足够具体以有效指导行为,又足够灵活以提供强有力的启发式方法。

使用 XML 标签或 Markdown 标题将提示组织成不同的部分,以划分背景信息、指令、工具指导和输出描述。随着模型能力的增强,确切的格式变得不那么重要,但结构清晰度仍然有价值。

工具定义 工具定义指定了智能体可以执行的操作。每个工具包括名称、描述、参数和返回格式。工具定义在序列化后位于上下文的前部附近,通常在系统提示之前或之后。

工具描述共同引导智能体行为。描述不佳会迫使智能体猜测;优化的描述包括使用上下文、示例和默认值。整合原则指出,如果人类工程师无法明确说出在给定情况下应该使用哪个工具,那么就不能期望智能体做得更好。

检索到的文档 检索到的文档提供特定领域的知识、参考资料或与任务相关的信息。智能体使用检索增强生成在运行时将相关文档拉入上下文,而不是预先加载所有可能的信息。

即时方法维护轻量级标识符(文件路径、存储的查询、网页链接),并使用这些引用动态地将数据加载到上下文中。这反映了人类的认知:我们通常不会记住整个信息库,而是使用外部组织和索引系统来按需检索相关信息。

消息历史 消息历史包含用户和智能体之间的对话,包括之前的查询、响应和推理。对于长时间运行的任务,消息历史可能会增长到主导上下文使用。

消息历史充当便签式内存,智能体在其中跟踪进度、维护任务状态并跨轮次保留推理。有效管理消息历史对于完成长期任务至关重要。

工具输出 工具输出是智能体操作的结果:文件内容、搜索结果、命令执行输出、API 响应和类似数据。工具输出构成了典型智能体轨迹中的大部分令牌,研究表明观察结果(工具输出)可以达到总上下文使用量的 83.9%。

无论工具输出是否与当前决策相关,它们都会消耗上下文。这产生了对观察掩蔽、压缩和选择性工具结果保留等策略的需求。

上下文窗口和注意力机制

注意力预算约束 语言模型通过注意力机制处理令牌,该机制在上下文中的所有令牌之间创建成对关系。对于 n 个令牌,这会产生 n² 个必须计算和存储的关系。随着上下文长度的增加,模型捕捉这些关系的能力变得薄弱。

模型从以较短序列为主的训练数据分布中发展出注意力模式。这意味着模型对上下文范围内的依赖关系经验较少,专门的参数也较少。结果是,随着上下文的增长,“注意力预算”会耗尽。

位置编码和上下文扩展 位置编码插值允许模型通过将它们适应到最初训练的较小上下文来处理更长的序列。然而,这种适应会降低对令牌位置的理解。模型在较长的上下文中仍然具有很高的能力,但与在较短上下文中的性能相比,在信息检索和长程推理方面的精度有所降低。

渐进式披露原则 渐进式披露通过仅在需要时加载信息来高效管理上下文。在启动时,智能体仅加载技能名称和描述——足以知道何时可能需要某个技能。完整内容仅在技能被激活用于特定任务时加载。

这种方法使智能体保持快速,同时让它们能够按需访问更多上下文。该原则适用于多个层面:技能选择、文档加载,甚至工具结果检索。

上下文质量与上下文数量

认为更大的上下文窗口可以解决内存问题的假设已被经验证伪。上下文工程意味着找到能够最大化期望结果可能性的最小可能的高信号令牌集。

有几个因素造成了上下文效率的压力。处理成本随着上下文长度的增加不成比例地增长——不仅仅是令牌数量翻倍导致成本翻倍,而且在时间和计算资源方面呈指数级增长。即使窗口在技术上支持更多令牌,模型性能在超过特定上下文长度后也会下降。即使有前缀缓存,长输入仍然很昂贵。

指导原则是信息性而非详尽性。包含对当前决策重要的内容,排除不重要的内容,并设计能够按需访问额外信息的系统。

上下文作为有限资源

上下文必须被视为一种具有递减边际回报的有限资源。就像人类的工作记忆有限一样,语言模型在解析大量上下文时会消耗注意力预算。

引入的每个新令牌都会在一定程度上消耗此预算。这就需要仔细策划可用的令牌。工程问题是在固有约束下优化效用。

上下文工程是迭代的,每次决定向模型传递什么时都会发生策划阶段。这不是一次性的提示编写练习,而是一种持续的上下文管理学科。

实践指导

基于文件系统的访问

具有文件系统访问权限的智能体可以自然地使用渐进式披露。将参考资料、文档和数据存储在外部。仅在需要时使用标准文件系统操作加载文件。这种模式避免了用可能不相关的信息塞满上下文。

文件系统本身提供了智能体可以导航的结构。文件大小暗示复杂性;命名约定暗示目的;时间戳可作为相关性的代理。文件引用的元数据提供了一种有效优化行为的机制。

混合策略

最有效的智能体采用混合策略。为了速度预先加载一些上下文(如 CLAUDE.md 文件或项目规则),但允许根据需要自主探索额外的上下文。决策边界取决于任务特征和上下文动态。

对于内容动态性较低的上下文,预先加载更多内容是有意义的。对于快速变化或高度具体的信息,即时加载可以避免上下文过时。

上下文预算

设计时要明确考虑上下文预算。了解模型和任务的有效上下文限制。在开发过程中监控上下文使用情况。在适当的阈值实施压缩触发器。假设上下文会退化来设计系统,而不是希望它不会。

有效的上下文预算不仅需要理解原始令牌计数,还需要理解注意力分布模式。上下文中间部分受到的注意力少于开头和结尾。将关键信息放在注意力偏好的位置。

示例

示例 1:组织系统提示

<背景信息>
您是一位帮助开发团队的 Python 专家。
当前项目:Python 3.9+ 中的数据处理管道。
</背景信息>

<指令>
- 编写干净、地道的 Python 代码
- 为函数签名包含类型提示
- 为公共函数添加文档字符串
- 遵循 PEP 8 风格指南
</指令>

<工具指导>
使用 bash 进行 shell 操作,使用 python 进行代码任务。
文件操作应使用 pathlib 以实现跨平台兼容性。
</工具指导>

<输出描述>
提供带有语法高亮的代码块。
在注释中解释非显而易见的决策。
</输出描述>

示例 2:渐进式文档加载

# 而不是一次性加载所有文档:

# 步骤 1:加载摘要
docs/api_summary.md          # 轻量级概述

# 步骤 2:根据需要加载特定部分
docs/api/endpoints.md        # 仅在需要 API 调用时
docs/api/authentication.md   # 仅在需要身份验证上下文时

指南

  1. 将上下文视为具有递减回报的有限资源
  2. 将关键信息放在注意力偏好的位置(开头和结尾)
  3. 使用渐进式披露来推迟加载直到需要时
  4. 使用清晰的部分边界组织系统提示
  5. 在开发过程中监控上下文使用情况
  6. 在 70-80% 利用率时实施压缩触发器
  7. 为上下文退化而设计,而不是希望避免它
  8. 优先选择较小的高信号上下文,而不是较大的低信号上下文

集成

此技能提供了所有其他技能所依赖的基础上下文。在探索以下内容之前应首先学习:

  • context-degradation - 理解上下文如何失效
  • context-optimization - 扩展上下文容量的技术
  • multi-agent-patterns - 上下文隔离如何实现多智能体系统
  • tool-design - 工具定义如何与上下文交互

参考文献

内部参考:

本集合中的相关技能:

  • context-degradation - 理解上下文故障模式
  • context-optimization - 高效使用上下文的技术

外部资源:

  • 关于 Transformer 注意力机制的研究
  • 领先 AI 实验室的生产工程指南
  • 关于上下文窗口管理的框架文档

技能元数据

创建时间: 2025-12-20 最后更新: 2025-12-20 作者: Agent Skills for Context Engineering Contributors 版本: 1.0.0