AI知识分享AI知识分享
✿导航
  • 人工智能
  • 神经网络
  • 机器学习
  • 深度学习
  • 强化学习
  • 自然语言处理
  • 计算机视觉
  • 数学基础
  • 大模型基础
  • 动手学深度学习
  • 理论理解
  • 工程实践
  • 应用开发
  • AI For Everyone
  • AIGC_2024大会
  • AIGC_2025大会
  • Agentic AI
  • Transformer
  • PyTorch
  • HuggingFace
  • LangChain
  • 蒸馏
  • RAG
  • 目标检测
  • MCP
  • Cursor
  • 概念
  • 意图识别
  • 工具
  • 学习路线
  • PyTorch 资料
  • 公式学习
  • PyTorch 基础练习
✿导航
  • 人工智能
  • 神经网络
  • 机器学习
  • 深度学习
  • 强化学习
  • 自然语言处理
  • 计算机视觉
  • 数学基础
  • 大模型基础
  • 动手学深度学习
  • 理论理解
  • 工程实践
  • 应用开发
  • AI For Everyone
  • AIGC_2024大会
  • AIGC_2025大会
  • Agentic AI
  • Transformer
  • PyTorch
  • HuggingFace
  • LangChain
  • 蒸馏
  • RAG
  • 目标检测
  • MCP
  • Cursor
  • 概念
  • 意图识别
  • 工具
  • 学习路线
  • PyTorch 资料
  • 公式学习
  • PyTorch 基础练习
  • 理论理解

    • 理论理解 - Transformers 神经网络图解指南
    • 理论理解 - 构建高效的人工智能体
    • 理论理解 - LLM长上下文
    • 理论理解 - 大模型流程
    • 理论理解 - 什么是token
    • 理论理解 - 模型参数
  • 工程实践

    • 工程实践 - 如何训练自己的大语言模型
    • 工程实践 - 提示工程指南
    • 工程实践 - 上下文工程
  • 应用开发

    • 应用开发 - LLM Agent
    • 应用开发 - 为什么人工智能超越了计算机革命、互联网革命
    • 应用开发 - 人工智能的开源与发展:从模型到基础设施

Context Engineering

参考资料

  • LangChain Context Engineering
  • Don’t Build Multi-Agents

概念

随着 AI 应用从简单的“聊天”转向复杂的“智能体(Agent)”自主任务,上下文工程已经成为决定 AI 表现的核心技术。

维度提示工程 (Prompt Engineering)上下文工程 (Context Engineering)
核心关注怎么问:优化指令的表达方式。给什么:优化模型看到的信息环境。
操作对象单一的提示词字符串(如“请总结这段文字”)。多源异构信息的集合(提示词+数据库+记忆+工具定义)。
性质静态的、一次性的。动态的、系统化的、实时的。
类比像念咒语,试图用精准的词汇触发魔法。像图书管理员,不仅给你书,还帮你翻到正确的那一页。
解决问题解决模型“听不懂人话”的问题。解决模型“由于信息缺失或噪声导致幻觉”的问题。

三大问题

  1. 大多数模型的Context Window非常有限
  2. 输入太杂乱会影响模型理解
  3. 输入越多,成本越高

四大核心支柱

  1. 动态检索与增强 (RAG)
  2. 记忆管理 (Memory Management)
  3. 工具与能力定义 (Tool Use)
  4. 结构化信息布局 (Information Layout)

Context Engineering的实现方法

Context Engineering的实现方法,主要可以划分为四个步骤:

  1. 保存 Context
  2. 选择 Context
  3. 压缩 Context
  4. 隔离 Context

这四个步骤——保存 (Write)、选择 (Select)、压缩 (Compress)、隔离 (Isolate)——正是构建高效 AI 智能体(Agent)和复杂应用的“黄金法则”。它们构成了一个动态的循环系统,确保 AI 在处理长任务时不会“变笨”或“发疯”。

保存 Context (Write) —— 建立“外置大脑”

核心目的: 突破模型上下文窗口(短时记忆)的限制,实现信息的持久化。就像人类会把重要的事情记在笔记本上一样,AI 也需要把关键信息“写”到外部存储中,以便在未来随时调用。

  • 持久化记忆 (Persistent Memory):
    • 用户画像: 记住用户的名字、偏好(如“我对海鲜过敏”)、长期目标。
    • 项目规范: 比如 Cursor 的 .cursorrules 或 Claude Code 的 CLAUDE.md,这些文件定义了项目的核心规则,每次交互都要“写入”到上下文中。
  • 便签与草稿 (Scratchpad):
    • 在处理复杂任务时,让 AI 把中间步骤、思考过程或待办清单写入一个独立的文本文件或状态变量中。这样即使对话很长,AI 也能通过读取“便签”找回状态,而不会因为上下文截断而迷失方向。
  • 工具反馈记录:
    • 将 API 调用的结果、代码执行的日志保存到外部数据库或向量存储中,而不是全部堆在当前的对话窗口里。

选择 Context (Select) —— 扮演“智能图书管理员”

核心目的: 在海量信息中,精准筛选出当前任务“最需要”的内容,提高信噪比。你不能把整个图书馆的书都搬给 AI,它会被“撑死”或分心。

  • 静态选择 (Static Select):
    • 系统预设: 无论用户问什么,都必须加载的基础指令(如“你是一个资深的 Python 工程师”)。
    • 规则文件: 强制加载的项目规范或合规性条款。
  • 动态选择 (Dynamic Select / RAG):
    • 检索增强生成 (RAG): 这是最主流的方法。当用户提问时,系统先去向量数据库检索与问题最相关的文档片段,只把这几段话喂给 AI。
    • 工具路由 (Tool Routing): 如果系统有 100 个工具,AI 不需要知道所有工具的详情。通过检索,只把当前任务可能用到的 3-5 个工具的定义(Schema)放入上下文。
  • 模型驱动选择:
    • 让一个小模型(或当前模型)先分析任务,决定需要加载哪些模块的知识。

压缩 Context (Compress) —— 进行“信息脱水”

核心目的: 在有限的 Token 预算内,保留核心信息,腾出空间给新的交互。随着对话进行,历史记录会占用大量 Token。压缩就是要把“废话”挤干,只留“干货”。

  • 摘要 (Summarization):
    • 对话总结: 当对话轮数过多时,调用模型对早期的对话历史进行总结(例如:“用户之前要求修复了登录页面的 CSS 错误”),用一段简短的总结替代原本冗长的几十轮对话。
    • 递归摘要: 对摘要再次摘要,层层提炼。
  • 修剪 (Trimming/Pruning):
    • 滑动窗口: 只保留最近的 N 轮对话,丢弃最早的内容。
    • 去噪: 删除无关的系统日志、重复的错误信息或已经被修正的旧代码片段。
  • 智能分块 (Chunking):
    • 将长文档切分成语义完整的片段,只处理当前需要的片段,而不是把整本书读进去。

隔离 Context (Isolate) —— 设立“独立工作间”

核心目的: 防止信息干扰(Context Clash),支持多任务并行。当 AI 同时处理多个任务,或者不同任务之间有冲突信息时,隔离至关重要。

  • 多智能体隔离 (Multi-Agent Isolation):
    • 在 Swarm(蜂群)架构中,不同的专家 Agent(如“程序员”、“测试员”、“产品经理”)拥有各自独立的上下文窗口。程序员不需要看到产品经理和测试员之间的闲聊,只需要接收明确的修改指令。
  • 沙盒环境 (Sandboxing):
    • 代码执行或工具调用的环境应与主对话隔离。例如,代码运行的报错日志、生成的临时文件,只在沙盒内处理,只有最终的运行结果(成功/失败)才返回给主上下文,避免大量垃圾日志污染主逻辑。
  • 状态字段隔离:
    • 在系统设计中,将“系统内部状态”(如数据库连接串、API 密钥)与“用户可见上下文”物理隔离,既保证安全,又防止模型在回答时意外泄露敏感信息。

总结:一个动态的循环

这四个步骤不是线性的,而是一个实时运行的闭环:

  1. 任务开始,系统写入基础规则。
  2. 用户提问,系统选择相关知识。
  3. 任务执行中,系统不断隔离子任务环境。
  4. 随着对话变长,系统自动压缩历史记录。
  5. 新的关键信息产生,再次写入记忆库。
最近更新: 2026/5/4 11:15
Contributors: klc407073648
Prev
工程实践 - 提示工程指南