AI PRO·Context Day 2 Context的五层架构:System Prompt / RAG / Tool / Memory / Metadata

作者:

!Context五层架构

一句话总结

一个完整的Context = System Prompt + RAG + Tool描述 + Memory + Metadata,五层叠加,缺一不可。

就像盖房子需要地基、框架、装修、家具、电器,AI的上下文也需要五层组件协同工作。


为什么需要分层?

上一篇我们知道了Context Engineering是”给AI看什么材料”。但具体要给AI看哪些材料?

答案是五层

`

┌─────────────────────────────────────┐

│ 第5层:Metadata(元数据) │ ← 时间、用户、环境

├─────────────────────────────────────┤

│ 第4层:Memory(记忆) │ ← 短期/长期记忆

├─────────────────────────────────────┤

│ 第3层:Tool Descriptions(工具描述) │ ← 函数/工具定义

├─────────────────────────────────────┤

│ 第2层:RAG(检索增强) │ ← 外部知识库

├─────────────────────────────────────┤

│ 第1层:System Prompt(系统提示) │ ← 角色、规则、格式

└─────────────────────────────────────┘

`

每一层都有自己的作用,就像洋葱一样,一层一层包裹。


第1层:System Prompt(系统提示)

是什么?

告诉AI”你是谁”、”你要做什么”、”你要遵守什么规则”。

包含什么?

  • 角色定义:你是一位资深技术博主
  • 行为约束:不要使用emoji
  • 输出格式:用Markdown格式输出
  • 边界条件:不要编造信息

示例

`

你是一位资深技术博主,公众号”攀岩者”的作者。

你的写作风格是:

  • 亲切专业,像一位耐心的老师
  • 善用类比和举例
  • 结构清晰,重点加粗
  • 长度约2500字

约束:

  • 不要使用emoji(标题禁止)
  • 必须有配图说明
  • 必须包含”地铁深读”板块

`

最佳实践

  1. 放在最前面:System Prompt通常在上下文最前面,模型会优先关注
  2. 明确边界:告诉AI什么能做,什么不能做
  3. 结构化:用列表、标题组织,避免一大段文字

第2层:RAG(检索增强生成)

是什么?

从外部知识库动态检索相关信息,注入到上下文中。

为什么需要?

  • AI的知识有截止日期
  • AI不知道你的私有数据
  • AI可能”幻觉”编造信息

工作流程

`

用户问题 → 检索相关文档 → 注入上下文 → AI基于文档回答

`

示例

用户问:”你们公司的退货政策是什么?”

RAG检索到:

`

【公司退货政策v2.1】

  • 7天无理由退货
  • 15天内质量问题免费换货
  • 退货运费由买家承担

`

AI基于这个文档回答,而不是凭空编造。

最佳实践

  1. 语义分块:按语义切分文档,保持上下文完整性
  2. 混合检索:向量检索 + 关键词检索,提高召回率
  3. 重排序:先粗检索(top-20),再精排(top-5)
  4. Token感知:根据剩余token预算动态调整检索数量
  5. 来源标注:为检索结果添加来源,帮助AI判断可信度

第3层:Tool Descriptions(工具描述)

是什么?

告诉AI有哪些工具可用,怎么调用。

为什么重要?

  • 工具描述不清 → AI选错工具
  • 参数说明不明 → AI传错参数
  • 使用时机不明确 → AI在不该用时用了

示例

`json

{

“name”: “search_files”,

“description”: “在指定目录中搜索文件内容,支持正则表达式”,

“parameters”: {

“query”: {“type”: “string”, “description”: “搜索关键词或正则”},

“path”: {“type”: “string”, “description”: “搜索目录,默认当前目录”}

},

“when_to_use”: “需要查找文件内容、定位代码位置时”,

“when_not_to_use”: “需要读取完整文件时,应使用read_file”

}

`

最佳实践

  1. 名称清晰:动词+名词,如 search_filescreate_document
  2. 描述准确:一句话说明功能,避免歧义
  3. 参数完整:类型、含义、默认值都要说明
  4. 使用时机:何时该用、何时不该用
  5. 提供示例:1-2个调用示例

第4层:Memory(记忆)

是什么?

AI的”记忆”系统,包括短期记忆(当前对话)和长期记忆(跨会话)。

记忆分层

层级 类型 生命周期 例子

|——|——|———-|——|

Working Memory 当前对话上下文 会话级 刚才说了什么
Episodic Memory 具体事件记录 持久化 上次帮用户写了什么文章
Semantic Memory 抽象知识 持久化 用户喜欢什么风格
Procedural Memory 模式和教训 持久化 什么方法有效,什么会失败

示例

`

Working Memory: 用户刚才说”写一篇关于AI的文章”

Episodic Memory: 上次帮用户写了Day40的早课,主题是AI搜索

Semantic Memory: 用户喜欢亲切专业的风格,不要emoji

Procedural Memory: 用户对排版要求很高,要用standard模板

`

最佳实践

  1. 分层存储:不同类型的记忆用不同的存储策略
  2. 智能检索:根据当前任务检索相关记忆
  3. 衰减机制:不常用的记忆逐渐衰减
  4. 反思机制:定期将经验提炼为教训

第5层:Metadata(元数据)

是什么?

关于上下文的”上下文”,包括时间、用户信息、环境变量等。

包含什么?

  • 时间信息:今天日期、当前时间
  • 用户信息:用户ID、偏好、历史行为
  • 环境信息:操作系统、网络状态、可用资源
  • 任务信息:任务类型、优先级、截止时间

示例

`

当前时间: 2026-06-27 10:00:00

用户: climbing(技术总监,19年IT经验)

环境: Linux (Arch Linux), 15G内存

任务: 写公众号文章(早课,Day 2)

`

为什么重要?

  • AI需要知道”今天几号”才能写日期
  • AI需要知道”用户是谁”才能调整风格
  • AI需要知道”环境是什么”才能选择合适的工具

五层如何协作?

一个完整的上下文组装过程:

`

  1. 加载System Prompt(角色、规则、格式)
  2. 执行RAG检索(从知识库找相关文档)
  3. 加载Tool描述(告诉AI有哪些工具)
  4. 检索Memory(找相关记忆和历史)
  5. 注入Metadata(时间、用户、环境)
  6. 拼接用户输入(当前问题)
  7. 发送给LLM

`

Token预算分配示例

层级 Token预算 占比

|——|———–|——|

System Prompt 2,000 5%
RAG结果 15,000 37%
Tool描述 5,000 12%
Memory 8,000 20%
Metadata 1,000 2%
对话历史 8,000 20%
留给输出 1,000 4%
总计 40,000 100%

🚇 地铁深读:实际案例分析

案例:Hermes Agent的六层架构

Hermes Agent(我运行的系统)就是一个完整的Context Engineering实践:

`

Hermes的上下文组装:

├── System Prompt(角色定义、技能列表、用户画像)

├── Skills(技能描述和使用指南)

├── Tools(工具描述和参数说明)

├── Memory(用户偏好、历史教训、环境信息)

├── Session History(当前对话历史)

└── Metadata(时间、平台、模型信息)

`

每次用户发消息,Hermes都会:

  1. 加载System Prompt(包含用户画像、技能列表)
  2. 根据任务选择相关Skills
  3. 加载Tools描述
  4. 检索相关Memory
  5. 拼接对话历史
  6. 注入Metadata
  7. 发送给LLM

这就是Context Engineering的实际应用。


今日小结

层级 核心作用 关键技术

|——|———-|———-|

System Prompt 角色和规则 角色定义、行为约束、输出格式
RAG 外部知识 向量检索、混合检索、重排序
Tool 工具能力 工具描述、参数说明、使用时机
Memory 历史经验 分层存储、智能检索、衰减机制
Metadata 环境信息 时间、用户、环境、任务

一句话记住: 五层叠加,缺一不可,就像盖房子需要地基、框架、装修、家具、电器。


下期预告

AI PRO·Context Day 3 RAG深度解析:从检索到生成的完整链路

我们将深入解析RAG的每一个环节:分块、嵌入、检索、重排序、注入,看看如何让AI”看到”最相关的知识。


*攀岩者 | 技术总监 | 19年IT全栈实战*

*每天分享AI学习笔记,陪你从零基础到AI达人*

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注