Compare
LLM 上下文管理:结构化提示、token 预算与可复用 Context Pack
2026-01-29 20:29 · Zon · Issue → AI → Report
从“别用花里胡哨的 Markdown”到可量化的上下文压缩工作流
LLM上下文管理:用YAML/JSON压缩上下文并更稳
TL;DR
- 本报告将“上下文管理”定义为:管理大模型提示/对话的背景信息与 token 预算(非编程语境的 Context API)。
- 用“结构化 Context Pack(YAML/JSON)+ 输出字段契约”替代长篇 Markdown 叙述,通常更省 token 也更稳。
- “YAML 省 75% tokens”来自小红书转述(链接无法在线核验);建议用 tokenizer 在你的真实文本上实测。
Key Insights
- token 成本由 tokenizer 切分决定;省不省主要看是否去掉冗余说明、重复标题、过度礼貌语与无关示例。
- 结构化字段(目标/边界/输入/输出/验收)让模型更容易定位信息,减少反复追问与跑题。
- 上下文应分层:固定规则(System)/当前工作集(Working Set)/可检索资料库(RAG),避免每轮都“全量贴历史”。
Playbook
- 写一个可复用的 Context Pack 文件(推荐 YAML),每次任务只更新 inputs/state;把解释性长文移到知识库或附件。
- 约束输出:给字段清单或 JSON Schema + 1 个正例/反例;需要给人看的排版最后再让 AI 生成。
- 控制对话增长:每轮让 AI 输出 5–10 行 State 摘要;下一轮只贴“摘要 + 新增信息 + 变更点(diff)”。
- 长材料用检索:本地笔记/文件夹→切块→向量库→top-k 片段回填 prompt;可用 LlamaIndex/LangChain + Chroma/FAISS。
role: '写作/项目助理'
goal: '在 800 字内给出可执行方案'
constraints: ['不输出多余解释','缺信息先提问']
inputs: {background: '<粘贴资料或检索片段>'}
outputs: {format: 'yaml', fields: ['tldr','steps','risks','open_questions']}
state: {latest_decisions: [], pending_questions: []}
Diagrams
Options
- 方案 A(采用):LLM 上下文管理——Context Pack(YAML/JSON)+ 滚动摘要 + RAG,目标是更稳、更省 token。
- 方案 B(另一种定义):React/前端 Context 管理——关注状态共享、Provider 边界与渲染性能;可延伸到组件拆分与 memo/useMemo 策略。
- 方案 C(另一种定义):Python
with上下文管理器——关注资源释放与异常安全;可延伸到contextlib模板与常见坑。 - 格式分支:YAML(人读友好但缩进敏感)/JSON(严格可校验)/TOML(更少歧义);“最省 token”以 tokenizer 实测为准。
Expert Views
- 提示工程师(paraphrase):格式不是核心,核心是“指令与数据分离”与可验证的输出契约;结构化能显著降低歧义。
- 开源数据工程师(paraphrase):上下文最好像数据管道一样分层;原始资料进检索/索引,prompt 只携带摘要与引用片段。
- 产品经理(paraphrase):对非程序员,最有效的是“表单化字段+版本记录”;让 AI 按字段补全,而不是长聊。
- 隐私/合规顾问(paraphrase):先做最小必要与脱敏;把敏感字段单独存放并设权限,避免被无意带入 prompt 或日志。
Evidence & Confidence
- “token 计费取决于 tokenizer 切分,格式影响不确定”——high:可用 tiktoken 在同一文本上复现。
- “结构化字段比自由叙述更能减少跑题与追问”——medium-high:提示工程实践一致,但效果随任务与模型而变。
- “滚动摘要+差量更新可控制上下文长度”——medium:方法常用,但摘要可能丢失细节,需要定期与原文对齐校验。
- “改用 YAML 可省 75% tokens”——low:社媒转述且无法在线核验;且与具体写法/冗余程度强相关。
Next Steps
- 选一个真实场景(写需求/写代码/做笔记整理),贴出同一内容的 Markdown 版与 YAML/JSON 版,我可帮你算 token 并给压缩建议。
- 确定一个固定输出 schema(例如:tldr/steps/risks/open_questions),我给你生成可直接复制的 Context Pack 模板与提问顺序。
- 若你常处理长文:先用 Chroma 本地跑最小 RAG,再决定是否上 FAISS/Weaviate;逐步加权限与日志。
- 把社媒方法论拆成可测试假设:哪些字段必须保留、哪些可删、哪些可检索替代;每次迭代记录 token/质量指标。
Details (Optional)
Details
TL;DR
- 本报告将“上下文管理”定义为:管理大模型提示/对话的背景信息与 token 预算(非编程语境的 Context API)。
- 用“结构化 Context Pack(YAML/JSON)+ 输出字段契约”替代长篇 Markdown 叙述,通常更省 token 也更稳。
- “YAML 省 75% tokens”来自小红书转述(链接无法在线核验);建议用 tokenizer 在你的真实文本上实测。
Key Insights
- token 成本由 tokenizer 切分决定;省不省主要看是否去掉冗余说明、重复标题、过度礼貌语与无关示例。
- 结构化字段(目标/边界/输入/输出/验收)让模型更容易定位信息,减少反复追问与跑题。
- 上下文应分层:固定规则(System)/当前工作集(Working Set)/可检索资料库(RAG),避免每轮都“全量贴历史”。
Playbook
- 写一个可复用的 Context Pack 文件(推荐 YAML),每次任务只更新 inputs/state;把解释性长文移到知识库或附件。
- 约束输出:给字段清单或 JSON Schema + 1 个正例/反例;需要给人看的排版最后再让 AI 生成。
- 控制对话增长:每轮让 AI 输出 5–10 行 State 摘要;下一轮只贴“摘要 + 新增信息 + 变更点(diff)”。
- 长材料用检索:本地笔记/文件夹→切块→向量库→top-k 片段回填 prompt;可用 LlamaIndex/LangChain + Chroma/FAISS。
role: '写作/项目助理'
goal: '在 800 字内给出可执行方案'
constraints: ['不输出多余解释','缺信息先提问']
inputs: {background: '<粘贴资料或检索片段>'}
outputs: {format: 'yaml', fields: ['tldr','steps','risks','open_questions']}
state: {latest_decisions: [], pending_questions: []}
Expert Views
- 提示工程师(paraphrase):格式不是核心,核心是“指令与数据分离”与可验证的输出契约;结构化能显著降低歧义。
- 开源数据工程师(paraphrase):上下文最好像数据管道一样分层;原始资料进检索/索引,prompt 只携带摘要与引用片段。
- 产品经理(paraphrase):对非程序员,最有效的是“表单化字段+版本记录”;让 AI 按字段补全,而不是长聊。
- 隐私/合规顾问(paraphrase):先做最小必要与脱敏;把敏感字段单独存放并设权限,避免被无意带入 prompt 或日志。
Options
- 方案 A(采用):LLM 上下文管理——Context Pack(YAML/JSON)+ 滚动摘要 + RAG,目标是更稳、更省 token。
- 方案 B(另一种定义):React/前端 Context 管理——关注状态共享、Provider 边界与渲染性能;可延伸到组件拆分与 memo/useMemo 策略。
- 方案 C(另一种定义):Python
with上下文管理器——关注资源释放与异常安全;可延伸到contextlib模板与常见坑。 - 格式分支:YAML(人读友好但缩进敏感)/JSON(严格可校验)/TOML(更少歧义);“最省 token”以 tokenizer 实测为准。
Evidence & Confidence
- “token 计费取决于 tokenizer 切分,格式影响不确定”——high:可用 tiktoken 在同一文本上复现。
- “结构化字段比自由叙述更能减少跑题与追问”——medium-high:提示工程实践一致,但效果随任务与模型而变。
- “滚动摘要+差量更新可控制上下文长度”——medium:方法常用,但摘要可能丢失细节,需要定期与原文对齐校验。
- “改用 YAML 可省 75% tokens”——low:社媒转述且无法在线核验;且与具体写法/冗余程度强相关。
Next Steps
- 选一个真实场景(写需求/写代码/做笔记整理),贴出同一内容的 Markdown 版与 YAML/JSON 版,我可帮你算 token 并给压缩建议。
- 确定一个固定输出 schema(例如:tldr/steps/risks/open_questions),我给你生成可直接复制的 Context Pack 模板与提问顺序。
- 若你常处理长文:先用 Chroma 本地跑最小 RAG,再决定是否上 FAISS/Weaviate;逐步加权限与日志。
- 把社媒方法论拆成可测试假设:哪些字段必须保留、哪些可删、哪些可检索替代;每次迭代记录 token/质量指标。
Sources
- Tokenizer 与 token 计算:https://github.com/openai/tiktoken ;https://platform.openai.com/tokenizer(无法在线核验可用性)
- 结构化格式规范:https://yaml.org/spec/ ;https://www.rfc-editor.org/rfc/rfc8259
- RAG/上下文编排开源:https://github.com/langchain-ai/langchain ;https://github.com/run-llama/llama_index ;https://github.com/chroma-core/chroma ;https://github.com/facebookresearch/faiss
- 社媒原链接(无法在线核验内容准确性):http://xhslink.com/o/9TfGQsxv5SC
Sources
- Tokenizer 与 token 计算:https://github.com/openai/tiktoken ;https://platform.openai.com/tokenizer(无法在线核验可用性)
- 结构化格式规范:https://yaml.org/spec/ ;https://www.rfc-editor.org/rfc/rfc8259
- RAG/上下文编排开源:https://github.com/langchain-ai/langchain ;https://github.com/run-llama/llama_index ;https://github.com/chroma-core/chroma ;https://github.com/facebookresearch/faiss
- 社媒原链接(无法在线核验内容准确性):http://xhslink.com/o/9TfGQsxv5SC
Closing Summary
- 结论:LLM上下文管理:用YAML/JSON压缩上下文并更稳
- 下一步:把你一段常用提示/说明贴出来(最好含 Markdown 版),我帮你改成可复用 YAML Context Pack 并测 token。
One next action
把你一段常用提示/说明贴出来(最好含 Markdown 版),我帮你改成可复用 YAML Context Pack 并测 token。
省 token 的第一原则:别让无用信息进入上下文。
— 本次调研整理