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。


GitHub: https://github.com/parcadei/Continuous-Claude-v3

评论区

0 条评论

登录后可评论。

白鹿 11 阅读