大家都在优化 Prompt。我优化了 Prompt 已知的内容。
Source: Dev.to
我本周看了一个视频,创作者用 13 分钟解释了 ChatGPT 8 000 字符指令限制的一个“漏洞”。
技巧是:把完整的指令放进上传的文件中,然后在指令框里只写 “follow full_instructions.txt”。
评论区的声音分成了两派——有人说这“改变了生活”,有人说这“显而易见”。两种说法都有道理,但也都忽略了真正的问题。
.txt 文件的技巧解决了 字符限制。
它 并没有 解决 上下文,而上下文才是真正限制你 AI 工作流的瓶颈——而不是提示的大小。
没有人看到的阶梯
大多数人发现上下文工程的方式都是一样的。他们一次爬一个梯级,每一个梯级都像是答案——直到他们碰到下一个墙壁。
| 等级 | 它是什么 | 它解决了什么 | 它没有解决的 |
|---|---|---|---|
| 0 – 指令框 | 所有指令都塞进系统提示中(语气、格式、约束、示例、过程步骤)。 | 快速入门。 | 碰到字符限制 → 开始删减 → AI 变得更通用。 |
| 1 – 上传的文件 | 将完整的系统提示移到文档中;指令框只指向该文件。 | 解决字符限制。 | 没有持久性,缺乏模块化。 |
| 2 – 模块化上下文文件 | 为行为规则、示例、领域知识、风格指南分别建立独立文件。指令框成为路由器,例如:For tone, reference voice.txt. For formatting, reference standards.txt. For domain context, reference knowledge-base.txt. | 更新某一部分而不影响其他部分。 | 仍然是会话绑定的;没有长期记忆。 |
| 3 – 跨会话持久化上下文 | 上下文(行为、知识、记忆)被存储并在每次新会话时自动加载。 | AI 能记住你上周构建的内容。 | 需要基础设施来持久化和检索上下文。 |
| 4 – 工程化的上下文架构 | 不同的、持久化的层(行为、知识、记忆、工具特定上下文),能够自我维护。 | AI 在一个了解自身已知、已变更以及需要忘记内容的系统中运行。 | 设计和维护复杂,但能提供最大的杠杆效应。 |
等级 1 与 等级 4 之间的差距正是实际杠杆所在——而几乎没有人谈论它。
什么是实际的上下文架构
下面展示的是我在自己构建并发布的工具背后运行的真实系统。它不是理论上的设想。
行为层
一个文件定义了 AI 如何行为 —— 而不是 它知道什么。
它包含品牌语调、约定、决策模式、安全规则以及需要避免的事项。
- 大多数人试图把这些内容塞进 8 000 字符的框里。
- 将其拆分后,它其实非常小。
- 行为文件位于每个项目的根目录,并且 会在会话开始时自动加载 —— 无需复制粘贴,也不需要“记得遵守这些规则”。它是基础设施,而不是指令。
知识层
一个拥有 470+ 条笔记(架构决策、调试模式、已有研究)的知识保留引擎。
- 从 Markdown 文件中导入。
- 使用本地模型进行向量化嵌入。
- 可按语义进行搜索。
它并不是挂在聊天窗口上的向量数据库;而是一个支持导入、摘要、标签和语义检索的结构化系统。
完整的流水线在 本系列第 1 部分 中有描述 —— 知识层运行在相同的双模型架构上(本地嵌入、本地搜索,零 API 成本)。
记忆层
详见 第 2 部分。
- 一个具备五个加权区块、基于重要性的衰减、时间覆盖以及跨六种信号的复合检索的认知记忆系统。
- 关键洞见: 记忆并不是一长串平铺的事实。它是一个活的系统,有用的条目会被强化,陈旧的条目会逐渐淡化。
- 第 50 次会话比第 1 次更聪明,因为上下文在累积——这不是因为我手动整理了知识库。
工具特定的上下文
我构建的每个工具都有自己的作用域上下文:
| 工具 | 作用域上下文 |
|---|---|
| 市场扫描器 | 已经分析过的内容(Redis 去重)。 |
| 发票处理器 | 之前见过的类别。 |
| 费用追踪器 | 你的预算结构。 |
所有工具都继承 行为层,从而确保语调和模式的一致性,同时保持数据的隔离。
为什么这比 .txt 文件技巧更好
| 问题 | .txt 文件(Level 1) | 工程化上下文(Levels 2‑4) |
|---|---|---|
| 字符限制 | 已解决 | 已解决 |
| 跨会话的一致性 | 未解决 – 你每次都需要重新上传 | 自动 – 行为层在启动时加载 |
| 陈旧的上下文 | 未解决 – 你的文件会过时 | 衰减 + 超会话自动淘汰旧信息 |
| 多领域知识 | 单个大文件难以管理 | 模块化层,每层独立维护 |
| 从过去的工作中学习 | 未解决 | 记忆在会话间累积 |
| 工具互操作性 | 不适用 | 共享行为层,作用域化数据层 |
架构模式
如果你想超越 Level 1,采用以下思维模型:
- 行为 – 如何行动
- 小巧,自动加载,几乎不变。
- 可以把它看作 操作系统。
- 知识 – 需要了解的内容
- 大量,可搜索,通过摄取更新。
- 可以把它看作 文件系统。
- 记忆 – 最近重要的内容
- 加权、衰减、覆盖、多信号检索。
- 可以把它看作随时间学习的 RAM + 缓存。
- 工具特定上下文 – 每个工具当前需要的内容
- 有范围、隔离,但继承行为层。
- 可以把它看作 应用层状态。
通过将这些关注点分离并在会话之间持久化,你可以把 AI 从一个健忘的聊天机器人转变为 知识渊博、始终如一且不断进化的助理。
Source: …
从何开始
如果你现在处于 Level 0 或 Level 1,以下是一条实用的进阶路线:
- 将行为与内容分离
- 将你的语气、风格和规则放在一个文件中。
- 将领域知识存放在另一个文件中。
- 不要把它们混在一起。
- 让行为自动加载
- 使用项目配置、启动脚本或 AI 首先读取的文件。
- 将人为干预移除——如果你必须记得提供上下文,你会忘记。
- 加入持久化
- 即使是一个简单的 SQLite 数据库,记录 AI 的关键决策和跨会话的模式,也能让你领先于 90 % 的用户。
- 开始时不需要 embeddings,你需要的是状态。
- 加入检索
- 当存储的上下文足够多,无法全部阅读时,你就需要搜索。
- Embeddings 能实现语义搜索,本地 embedding 模型运行成本为零。
- 加入衰减
- 这是一个逆向思维的步骤。大多数人希望 AI 记住所有内容,但“所有”包括你已经撤销的决策、错误的模式以及两个月前的会话记录。
- 一个能够智能遗忘的系统,其表现优于盲目记忆的系统。
真正的利用
那个视频把 .txt 文件技巧 称为“利用”。其实并不是——它只是阅读文档而已。
真正的利用在于:大多数 AI 使用者只优化提示词本身,却忽视了这些提示词运行的上下文。一个在精心构建的上下文系统中的普通提示词,往往会胜过一个在空白会话中的精彩提示词——每一次都是如此。
- Prompt engineering 提问:“我该如何告诉 AI 要做什么?”
- Context engineering 提问:“AI 在开始工作时已经知道了什么?”
第二个问题更难,也是会产生叠加效应的关键。
这是我的 本地 AI 架构 系列的 第 3 部分。
- 第 1 部分 介绍了 双模型编排 —— 将 80% 的 AI 工作负载路由到本地免费模型。
- 第 2 部分 讨论了 认知记忆 —— 为什么你的 AI 需要遗忘。
- 下一步:视觉流水线以及我为何停止为 OCR API 付费。
我在消费级硬件上构建零成本的 AI 工具。工厂运行在 Docker、Ollama 和一块 GPU 上。它生成的工具则无需任何依赖运行。