Claude Agent 上下文被撑爆?这个 Skill 教你用文件协调代替 TaskOutput
你有没有遇到过这种情况——让 Claude 的子 Agent 干了个活,结果主会话的上下文直接爆了?
不是夸张,是真的爆了。一个 Agent 跑完丢回来 7 万 Token 的 transcript,主会话的上下文窗口直接被灌满,之前聊到哪都忘了。
这个问题有个名字:Agent Context Pollution。
今天推荐一个 Skill,专门解决这个——Agent Context Isolation,作者是 parcadei,仓库 stars 3.8K,属于那种低调但很硬核的 AI 工程实践。
核心问题是什么
当你用 foreground Agent(前台 Agent)跑任务时,它的所有输出都会原封不动地塞进主上下文。代码片段、思考过程、工具调用记录……这些东西轻则占几千 Token,重则直接触发上下文压缩(Mid-conversation compaction),Claude 开始”失忆”,忘记你们聊到哪了。
一个典型的坑:
# 错误示范:用 TaskOutput 直接拉结果
result = TaskOutput(task_id="xxx") # 整条 transcript 进主上下文
TaskOutput 返回的是完整 Agent transcript,轻轻松松 70k+ tokens,主上下文直接废掉。
这个 Skill 怎么解决
原则很简单:别让 Agent 的输出进主上下文,用文件中转。
规则一:后台 Agent + 文件写入
✅ 正确做法
Task(subagent_type="...", run_in_background=true, prompt="... Output to: /path/to/file.md")
❌ 错误做法
Task(subagent_type="...", run_in_background=false)
后台 Agent(run_in_background=true)的上下文是隔离的,它只管写文件,主会话完全不被打扰。
规则二:永远不用 TaskOutput 拿结果
不用 TaskOutput 怎么知道 Agent 干完了?看进度提醒(System Reminders),或者轮询文件:
# 等文件出现
find .claude/cache/agents -name "*.md" -mmin -5
# 验证结果
bun test
规则三:用测试验证,不是用输出验证
Agent 干完活,不要去读它的输出文本——直接跑测试:
bun test
# 报告 pass/fail count,有问题再看日志
规则四:文件流 Pipeline
多个 Agent 串联时,用文件做管道:
Research Agent → output.md
↓
Plan Agent → plan.md(读取 output.md)
↓
Validate Agent → validated.md(读取 plan.md)
↓
Implement Agent → src/module.ts(读取 validated.md)
每个 Agent 只读前一个的文件,主上下文干干净净。
为什么这个思路值得学
上下文窗口是稀缺资源。你跟 Claude 的每一次对话,都在这个窗口里分配位置。
往里塞越多无关的 Agent transcript,能留给真正对话的空间就越少。结果就是:Claude 越聊越”短视”,越难记住你们聊到哪了。
文件协调这个思路,本质上是把瞬时 RAM(上下文窗口)和持久存储(文件)分开用。Agent 写文件,主会话按需读文件,按需两个字是关键——不用一次性全量加载。
安装方式
npx skills add https://github.com/parcadei/Continuous-Claude-v3 --skill agent-context-isolation
也可以直接去 GitHub 仓库看完整 SKILL.md:
🔗 parcadei/Continuous-Claude-v3
仓库本身是个很完整的 Claude Code 上下文管理方案,包含 Hooks、Agents、Skills 合集,3.8K stars 质量可见一斑。如果你用 Claude Code 做复杂任务流,这个仓库值得 follow。
评论区
登录后可评论。