Pi :上下文工程——Context Assembly、Compaction 与 Memor
这是本系列最重要的横向能力篇。前面所有篇都在讲Agent 怎么运行这一篇讲Agent 每轮调用 LLM 时最终进入模型窗口的那堆 token 到底是怎么来的。每轮给模型构造的上下文才是 Agent 的真正 CPU。模型选错了可以换上下文构造错了Agent 会越跑越傻——这正是本系列一直强调Context 是编译出来的的完整展开。〇、先建立全景一次推理的上下文从哪里来某一轮调用 LLM 时进入窗口的内容可以画成一条流水线用户输入 ↓ System Prompt ↓ 项目级 instructionsAGENTS.md / CLAUDE.md ↓ Skill instructions按需读取的 SKILL.md ↓ 历史 conversation会话树 → 当前叶子路径 ↓ tool result工具执行结果 ↓ 文件内容read 工具读进来的代码/文档 ↓ 错误信息bash 报错、测试失败输出 ↓ 压缩 / 截断 / 摘要compaction 检查点 ↓ 最终 Context ↓ LLMPi 对这条链路的工程化散在本系列各篇里这篇把它们收拢成一个完整学科。记住模型看到什么决定模型做什么。上下文构造是 Agent 的隐性控制器。一、Context Assembly谁有资格进窗口Pi 的上下文由这些来源组装每个来源都有独立的生命周期和信任等级来源Pi 的机制生命周期System Prompt构建链AGENTS.md → skills 目录 → 模板 → before_run 覆盖每 run 构建可覆盖项目 instructionsAGENTS.md/CLAUDE.md/.pi/SYSTEM.md未信任也加载每会话加载Skill instructionsavailable_skills目录 模型按需 read 全文渐进式披露历史对话会话树 → 当前叶子到根的路径append-only工具结果ToolResultMessage 随消息落账每轮追加运行时元数据env 注入的PI_SESSION_ID等每命令解析关键原则本系列反复出现系统提示词保持极简skills 只列描述不内联因为给模型多少判断原料是预算。项目宪法优先AGENTS.md在项目未信任时也加载——这个仓库的规矩优先级高于一切。transform_context是最后一道变换只改 provider 看到的、不改会话存的——呈现层和存储层分离防止为临时目的污染永久记录。二、Context Budget窗口满了谁被扔假设模型窗口 200kAgent 跑久以后历史消息 70k 代码 80k tool output 50k system 5k ---------------- 205k ← 超了谁被扔是决定 Agent 是否越跑越傻的关键决策。候选策略按信息价值从低到高策略丢弃对象代价时间优先最早的消息可能丢关键但早的事实重要度优先低优先级消息闲聊需要消息分级总纲上下文篇工具结果优先旧工具输出模型可能忘了自己做过什么system 永不删系统提示词恒定占固定预算文件重读而非常驻不保存文件内容用时再 read每次重新检索Pi 的立场是追加不变式 一次性失效Across the requests of a lane, provider context only grows at the tail. An insertion before the previous request’s tail invalidates the provider’s KV cache from that point on and multiplies token cost.上下文只允许尾增长——因为中间插入会无效化 KV cache 并放大成本。所以回合中途的写入推迟到 checkpoint 追加compaction 是唯一一次刻意的缓存失效。预算的硬护栏reserveTokens默认 16k 留给响应 溢出判定显式超限错误 / 输入超窗口 / 可恢复 length。预算要在发请求前就算好超了就分类处理事后才裁已经来不及。三、Compaction长周期运行的命脉Compaction 是 Agent 长周期运行的核心技术。完整生命周期Raw history ↓ 触发阈值 / /compact 手动 / overflow 溢出 Summary generationLLM 摘要 ↓ Important state extraction保留关键状态 ↓ Old messages replacementCompactionEntry 落账 ↓ Continue execution从 retainedTail 重建上下文Pi 的CompactionEntry带三样东西summary摘要、firstKeptEntryId保留起点、retainedTail自包含检查点。retainedTail让重建可以从检查点直接往后走不翻旧条目。Compaction 的四个能不能压的判断是工程精华摘要丢信息怎么办分级处理——普通对话可压代码/SQL/合同这类语义敏感内容压了等于改语义。工具执行事实能不能被 summary 覆盖危险。工具做了什么改了哪个文件、结果是什么是审计和继续推理的锚点Pi 的 overflow compaction 明确把链接的那个响应从摘要准备中排除“exact overflow-response omission”——关键事实留原文。文件修改记录该不该压缩不该。修改记录是Agent 对世界做过的改变压掉就无法审计/回滚。用户约束是否允许压缩用户明确说的要求“不要改这个文件”是 CRITICAL 级永不压总纲上下文篇。compaction 的正确姿势压缩的是过程性的旧对话保留的是结论性的状态和约束。四、Working Memory vs Long-term Memory五种不同的存储很多 Agent 项目把记忆当成一个筐但 Pi和 CC 的对照揭示了至少五种不同的存储各有生命周期存储生命周期例子谁来管Conversation History一次会话会话树引擎Working Memory一次 run变量池/车道记录运行时Long-term Memory跨会话CC 的 memory 文件、项目事实应用Project State随项目.pi/settings.json、AGENTS.md应用Artifact State随产物git 历史、生成文件外部关键区分总纲上下文篇知识进上下文靠检索RAG经验进行为靠记忆memory 文件事实靠状态存储项目/产物。三件事别混进一个筐Pi 的会话账本是Conversation History Working Memory的合体append-only lane recordsCC 的 memory 文件是Long-term Memory跨会话的身份/偏好/被纠正过的工作方式项目文件本身就是Project/Artifact StateAgent 不需要记住需要时 read。设计你自己的 Agent 时先回答这五种存储各归谁、各活多久、谁能写。最常见的错误是把 Long-term Memory 塞进 Conversation History——一旦会话压缩记忆跟着丢。五、对照你的工程上下文系统的设计清单能力做法优先级ContextBuilder 单一管道所有模块不许自己拼 prompt总纲P0组装顺序即策略身份→检索→去重→排序→过滤→预算总纲P0预算前置发请求前算 token超了分类处理P0追加不变式上下文只尾增长不中间插入P0compaction 分级普通对话可压约束/事实/敏感内容不压P0五种存储分离对话/工作/长期/项目/产物各归其位P1transform_context 呈现层改 provider 看的不改会话存的P1文件重读而非常驻大文件用时 read不长期占窗口P1一句话收束上下文工程的本质是在有限的窗口里决定模型每一轮该看到什么、不该看到什么。它比模型选择更决定 Agent 质量——因为再强的模型喂错上下文也会胡说。知识卡片本节体系归档┌──────────────────────────────────────────────────────────┐ │ 知识节点上下文工程Agent 的真正 CPU │ │ │ │ What Context Assembly 流水线 Budget谁被扔 │ │ Compaction压过程留结论 五层记忆分离 │ │ │ │ Why 一般原理模型看到什么决定模型做什么。不变量 │ │ ① 上下文只尾增长KV cache 不失效 │ │ ② 预算前置发请求前算好超了就分类处理 │ │ ③ compaction 压的是过程性的旧对话留的是结论和约束 │ │ │ │ How 校验动作 │ │ 画上下文流水线 PaiFlow 预算前置 │ │ │ │ Pits 坑点 │ │ 越跑越傻 / 上下文灌爆 / 记忆混筐 │ │ │ │ Transfer 到 PaiFlowContextBuilder 预算前置 分级压缩 │ └──────────────────────────────────────────────────────────┘

相关新闻

GORM进阶:关联关系、钩子与事务

GORM进阶:关联关系、钩子与事务

GORM进阶:关联关系、钩子与事务摘要: 本篇深入GORM的关联关系,演示一对一、一对多、多对多的模型定义和查询方式,讲解Preload预加载解决N1问题,介绍钩子函数的生命周期和事务的两种使用方式,分享事务嵌套理解错误导致部分提交预期…

2026/10/25 3:17:28 阅读更多 →
星穹铁道全自动托管终极指南:三月七小助手从安装到避坑的完整教程

星穹铁道全自动托管终极指南:三月七小助手从安装到避坑的完整教程

星穹铁道全自动托管终极指南:三月七小助手从安装到避坑的完整教程 【免费下载链接】March7thAssistant 崩坏:星穹铁道全自动 三月七小助手 项目地址: https://gitcode.com/gh_mirrors/ma/March7thAssistant 晚上十一点半,你瘫在沙发上…

2026/10/25 8:40:30 阅读更多 →
设置了 box-sizing: border-box; 不管用,下边框还是被挤压没了

设置了 box-sizing: border-box; 不管用,下边框还是被挤压没了

div(height: 100vh; width: 100vw;)包裹一个 input (height: 100vh; width: 100vw;)input 设置了边框 border: 1px solid rgb(234, 11, 11); 但显示效果,下边框被挤没了,没有显示。设置了 box-sizing: bord…

2026/10/26 10:29:12 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/26 12:00:21 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/25 22:36:10 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/26 4:52:12 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/26 12:00:21 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/26 5:00:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/26 3:16:46 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 12:00:19 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/25 13:21:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 8:34:37 阅读更多 →