当工具输出撑爆上下文窗口、需要跨长任务持久化状态、子 Agent 间共享信息、或任务所需上下文超出单窗口时使用;做把大块内容写入文件、上下文窗口只留摘要/路径指针,再用 ls/glob/grep/按行读取按需召回(卸载工具输出、持久化计划、子 Agent 文件工作区、动态加载技能、持久化终端日志、自我修改指令);不适用于单轮即结束、上下文本就装得下、或对延迟极敏感(文件 I/O 有开销)的场景。触发词:上下文卸载、context offload、scratch pad、按需加载、token 臃肿、filesystem context
Scanned 9/19/2026
npx -y skills add findscripter/everything-skills --skill filesystem-context-offload --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Filesystem Context Offload?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/findscripter-filesystem-context-offload)More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.
---
name: filesystem-context-offload
title: 文件系统上下文卸载
description: 当工具输出撑爆上下文窗口、需要跨长任务持久化状态、子 Agent 间共享信息、或任务所需上下文超出单窗口时使用;做把大块内容写入文件、上下文窗口只留摘要/路径指针,再用 ls/glob/grep/按行读取按需召回(卸载工具输出、持久化计划、子 Agent 文件工作区、动态加载技能、持久化终端日志、自我修改指令);不适用于单轮即结束、上下文本就装得下、或对延迟极敏感(文件 I/O 有开销)的场景。触发词:上下文卸载、context offload、scratch pad、按需加载、token 臃肿、filesystem context
domain: 通用/research
triggers: [上下文卸载, context offload, filesystem context, scratch pad, 暂存盘, 按需加载, just-in-time context, 动态上下文发现, token 臃肿, 工具输出太大, 子 Agent 共享状态, 跨会话持久化, 动态技能加载, 终端日志持久化]
tags: [上下文工程, token 优化, scratch pad, 多 agent 协作, 动态上下文, 记忆持久化, 文件检索, grep glob]
level: 进阶
status: stable
agents: [claude-code, codex, cursor, gemini-cli]
tools: [grep, glob, ls, read_file]
requires: []
related: [context-compression, context-window-management, context-budget-audit, codebase-structure-protocol]
combines_with: [parallel-agent-dispatch, iterative-context-retrieval]
license: MIT
source: sickn33/agentic-awesome-skills
source_license: MIT
---
# 文件系统上下文卸载
把文件系统当成 Agent 的「无限上下文层」:写一次、按需选读。核心是用**动态上下文发现**取代**静态全量加载**——上下文窗口只保留指针(文件名/描述/路径),需要时才用检索工具拉回完整内容。
## 何时使用
适用:
- 工具输出(网搜、DB 查询、日志)超过 ~2000 token,正在撑大消息历史
- 任务跨多轮对话,需要持久化计划/状态,防止被摘要或注意力衰减丢失
- 多 Agent 协作,子 Agent 需要共享信息但不想靠「传话游戏」逐跳衰减
- 技能/指令集很多但每次只用一小部分,塞进 system prompt 既费 token 又互相干扰
- 终端/日志输出需要被 Agent 选择性查询(grep 取错误行)
- 想让 Agent 把学到的偏好写回自己的指令文件
不该用(负边界):
- 任务单轮即可完成,没有跨轮需求
- 上下文本就装得下,卸载只是徒增 I/O 往返
- 延迟极敏感场景——文件读写有开销
- 底层模型能力弱、不会主动判断何时需要回读文件(动态发现依赖模型自觉拉取)
## 步骤
按场景套用六种模式,统一收敛到「写大块进文件 → 上下文留指针/摘要 → 按需 grep/按行读回」:
1. **暂存盘(Scratch Pad)**:工具输出超阈值就落盘,返回引用而非全文。
2. **计划持久化**:把计划写成结构化文件,每轮开头或迷失时回读(「靠复述操纵注意力」)。
3. **子 Agent 文件通信**:各子 Agent 把发现直接写入文件,协调者直读文件,绕开消息传递的逐跳衰减。
4. **动态技能加载**:技能存为文件,静态上下文只放「名字+一句描述」,相关时才 read_file 拉全文。
5. **终端/日志持久化**:把会话输出同步到文件,用 grep 取相关段而非整段回灌。
6. **自我修改学习**:把学到的偏好写回 Agent 自己的指令文件,下次会话自动加载(需护栏,见注意事项)。
## 指令
**暂存盘落盘逻辑**(超阈值才写文件,返回路径+摘要):
```python
def handle_tool_output(output: str, threshold: int = 2000) -> str:
if len(output) < threshold:
return output
file_path = f"scratch/{tool_name}_{timestamp}.txt"
write_file(file_path, output)
key_summary = extract_summary(output, max_tokens=200)
return f"[Output written to {file_path}. Summary: {key_summary}]"
```
之后用 `grep` 搜特定模式、或 `read_file` 带行范围取定向片段。
**计划持久化**——结构化存盘,每轮回读:
```yaml
# scratch/current_plan.yaml
objective: "Refactor authentication module"
status: in_progress
steps:
- id: 1
description: "Audit current auth endpoints"
status: completed
- id: 2
description: "Design new token validation flow"
status: in_progress
```
**检索四件套**(模型受过文件系统遍历训练,结构化内容常胜过语义检索):
- `ls` / `list_dir`:发现目录结构
- `glob`:按模式找文件(`**/*.py`)
- `grep`:搜内容返回匹配行,如 `grep -A 5 "error" terminals/1.txt`
- `read_file` 带行范围:只读指定行段,不加载整文件
语义检索与文件检索互补:概念性查询用语义,结构化/精确匹配用文件检索。
**推荐文件组织**(命名一致、带时间戳/ID 便于消歧):
```
project/
scratch/ tool_outputs/ plans/ # 临时工作文件
memory/ preferences.yaml patterns.md # 持久学到的信息
skills/ # 可加载的技能定义
agents/ # 子 Agent 工作区
```
## 示例
**工具输出卸载**
```
输入:网搜返回 8000 token
卸载前:8000 token 进消息历史,全程占用
卸载后:写入 scratch/search_results_001.txt
返回 "[Results in ...001.txt. Key finding: API rate limit is 1000 req/min]"
需要细节时再 grep 该文件
结果:上下文里 ~100 token,8000 token 按需可达
```
**动态技能加载**
```
用户问数据库索引 → 静态上下文仅有 "database-optimization: Query tuning and indexing"
Agent 动作:read_file("skills/database-optimization/SKILL.md")
结果:仅在相关时加载完整技能
```
**聊天历史转文件引用**
```
触发:上下文窗口将满,需要摘要
动作:1) 全量历史写入 history/session_001.txt
2) 生成摘要进新窗口
3) 附引用 "Full history in history/session_001.txt"
结果:摘要丢的细节可回查历史文件找回
```
## 注意事项
- **卸载阈值**:约定工具输出 >2000 token 才落盘;过小内容直接返回,避免无谓 I/O。
- **返回摘要+引用,不返回全文**:这是省 token 的关键;只把指针留在上下文。
- **动态发现依赖模型自觉**:前沿模型表现好,弱模型可能识别不出「该回读文件了」——此时退回静态加载更稳。
- **自我修改要加护栏**:该模式仍在演进,无校验会让 Agent 累积错误/矛盾指令;写回前做验证。
- **scratch 要清理**:实现定期清理,防止暂存文件无界增长。
- **度量再优化**:测静态/动态上下文比、卸载前后工具输出大小、动态上下文实际被加载的频率,按实测而非假设优化。
## 互见
- related:`context-budget-audit` —— 前者治「运行期工具输出臃肿」,后者治「静态配置开销」,互补。
- related:`context-compression` —— 文件引用是一种无损「压缩」,可与有损摘要配合。
- combines_with:`multi-source-knowledge-synthesis` —— 子 Agent 文件工作区落盘多源材料,再统一汇编综合。
---
采编自 sickn33/antigravity-awesome-skills(MIT 许可证)。
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!