Memory、Context、Knowledge 与 Instruction Files 的边界

把 memory、context、knowledge 和 instruction files 放在同一张图里区分,帮助理解 agent 到底是在读现场、读规则,还是在调用长期状态。

#tech / ai #type / synthesis #status / growing

[!info] related notes

Memory、Context、Knowledge 与 Instruction Files 的边界

范围

这篇关系笔记不是单独定义某一个组件,而是回答 agent 在执行时到底从哪几种“信息层”拿能力。

为什么要放在一起理解

很多 agent 工程讨论里最容易混的,不是工具,而是这些信息层:

  • 当前会话现场
  • 长期记住的事实和偏好
  • 外部知识来源
  • 显式规则文件

如果不把它们分清,就很容易出现两种问题:

  • 把不断变化的事实塞进 AGENTS.md
  • 把本该固定的规则扔给 memory 或检索临场补

依赖路径 / 调用链 / 演进链

可以粗略把这四层理解成:

1. Context

当前这次执行直接可见的现场信息,例如:

  • 当前对话历史
  • 当前任务目标
  • 当前工具返回结果
  • 当前工作区里刚读到的文件片段

它回答的是“现在眼前发生了什么”。

2. Memory

跨会话、跨任务仍应保留的长期状态,例如:

  • 项目约定
  • 用户偏好
  • 历史决策
  • 常见坑和复用经验

它回答的是“这个 agent 之前已经知道什么”。

3. Knowledge

偏外部知识源或待检索材料,例如:

  • 文档库
  • 知识库
  • 代码库检索结果
  • 产品说明和政策文本

它回答的是“为了完成当前任务,还需要查什么资料”。

4. Instruction Files

显式规则层,例如:

  • AGENTS.md
  • CLAUDE.md
  • copilot-instructions.md
  • 其他项目级 instruction files

它回答的是“你应该怎么做、遵守什么约束”。

一句话区分就是:

  • context 是现场
  • memory 是长期状态
  • knowledge 是可查资料
  • instruction files 是显式规则

对比与易混淆点

主要内容核心问题
Context当前消息、工具结果、临时片段现在发生了什么
Memory偏好、项目事实、历史决策之前已经知道什么
Knowledge文档、资料、检索结果还需要查什么
Instruction files规则、流程、验证要求应该怎么做

几个常见误区:

  • AGENTS.md 当成长期开会纪要,说明规则层过重。
  • 把项目规范完全寄希望于 memory,说明可审计显式规则不足。
  • 把检索到的文档当成 memory,说明长期状态和外部资料混了。
  • 把最近几轮聊天历史当成成熟 memory,说明上下文和记忆没分开。
创建于 2026/5/4 更新于 2026/5/27