续之三:嵌套式 DevOps Agent 的记忆要分两层——Cowork 项目装组织上下文,Claude Code Skills 装仓库上下文
把上一篇的Cowork 在外、Claude Code 在内的架构跑起来一周第一个让人头疼的问题就来了值班 incident 处理到第三次重复时Cowork 还是不知道我们的服务图谱Claude Code 还是不知道这个仓库上次改helm values是为了绕开哪个内核 bug。记忆放哪里熟悉 Claude Code 的同学会条件反射答CLAUDE.md。再熟一点的会加上.claude/skills/、subagent、Superpowers 这一套结构化的持续上下文机制。这答案不错——但它只覆盖了一半。一个反直觉的类比DevOps 的上下文其实是两个分层完全不同的物种组织级团队成员、on-call 排班、生产服务图谱、过去 6 个月的 incident 与根因——慢变、跨仓库、跨工具仓库级代码风格、构建命令、自定义 lint 规则、为什么某个values.yaml字段不能删——快变、仓库内自闭把两类信息塞在一起相当于把公司组织手册和这本书的勘误表装进同一个文件夹——查找全靠运气。Claude Code 的 CLAUDE.md/skills 体系是为后者设计的前者本来就不该往里塞。这正好对应了 Cowork Projects2026 年 3 月发布填上的空缺。拆开看Cowork 项目装得下哪些组织级上下文Cowork Projects 给每个项目独立的五种原语刚好把组织级上下文涵盖了持久记忆跨 session 不丢但范围严格限定在这个项目内——既不会污染别的项目也不会渗透到独立 Cowork 对话这是设计选择不是 bug。自定义指令每次 session 自动注入的系统级 prompt——放团队规则、口径、雷区。这一项是组织级 CLAUDE.md。附加文件夹Claude 在该项目内能读写的本地路径——放 runbook、postmortem 归档、架构 markdown、配置 snapshot。定时任务跟项目绑定的 cron 任务比如每天 9 点跑成本巡检。插件包engineering / operations / data analysis 等域里勾选——一次给一组连接器和 skills。把组织级上下文映射到这套原语上下文放在哪里团队成员、生产环境拓扑自定义指令短 附加文件夹长markdownon-call 排班、轮班规则自定义指令 Slack 连接器实时查历史 incident 根因附加文件夹postmortem 仓库 Confluence 连接器服务架构图、依赖关系附加文件夹架构 markdown每周成本报告 / 巡检定时任务注意附加文件夹是真本地路径——可以直接是一个 git 仓库postmortem 归档 repo也可以是 Obsidian vault。Cowork 会读写其中的文件不会自动 git push除非定时任务里写了。拆开看Claude Code 装得下哪些仓库级上下文Claude Code 是仓库原生的它的持久化全是文件系统级——这正好是用户提到的 Claude Rule 与 Superpowers 那一套CLAUDE.md每次进 session 自动加载的项目规则——放仓库特定的命令、命名约定、雷区.claude/skills/可复用知识单元Skills 系统就是 Superpowers 的标准化版本——放如何在这个 monorepo 里跑某类测试这种自定义流程.claude/agents/subagent 配置——为不同子任务建专属上下文.claude/settings.json hooks项目级权限与事件钩子——决定能跑什么命令、SessionStart 时跑什么脚本MCP servers进程外上下文供给——比如把内部 API 文档接成 query 工具~/.claude/projects/repo/memory/跨 session 的 markdown 记忆库——放这个 helm values 上次改是为了绕 K8s 1.30 的 bug这种漂泊知识这六类全部跟仓库一一绑定——它们跟另一个仓库无关跟组织级运营经验也无关。这是 feature不是限制。一次 incident 里两层怎么协同把抽象描述落到一次具体 incident两层的激活时序长这样PagerDuty 报警Cowork 项目“DevOps 助手”接住Cowork 自定义指令告诉它高危服务清单、on-call 是谁、war room 命名规范Cowork 附加文件夹里翻 ServiceX 的历史 postmortem——上次 503 是 cache stampede根因是 redis maxmemory-policy 不对Cowork 通过 Dispatch 派活给本机 Claude Code传仓库路径 这次告警 metadata 上次 postmortem 摘要Claude Code 进入 svc-x repo加载CLAUDE.md仓库级雷区“values.yaml 的replicaCount要跟 HPA 对齐”.claude/skills/redis-debug.md之前沉淀的查 redis stampede 流程Claude Code 改 helm values、跑 kubectl 验证、生成 PR、回写关键日志Cowork 把 PR 链接 行动摘要发回 Slack更新 Jira 工单状态每一层只查/写自己那层的记忆。组织级的高危清单永远不会塞进 svc-x 仓库的 CLAUDE.md仓库级的为啥这个values.yaml不能动这一行永远不会塞进 Cowork 项目指令。重复的事 0 次。它不解决什么两层记忆架构有几个真实的坑上线前要想清楚桌面端 always-on 约束Cowork 项目的定时任务要求桌面 App 一直开、电脑不能睡。这是 2026-05 版本的硬约束。要7×24 跑就得放台 Mac mini 当 always-on 桌面或者等 Anthropic 出服务端版本目前没承诺时间。跨项目记忆隔离是 feature 也是限制。如果有Mobile DevOps和Backend DevOps两个 Cowork 项目重叠的组织上下文要么复制粘贴要么放在共享的附加文件夹里git 仓库做存储更稳。Always allow权限不稳定anthropics/claude-code 仓库有 issue #47180 反映 Cowork 定时任务每次跑会重弹文件夹权限。无人值守跑 cron 任务时这是阻塞 bug——上线前要在自己环境里验一遍。CLAUDE.md 不是万能筐仓库特别大时 CLAUDE.md 会膨胀反而稀释模型注意力。把如何跑这一类操作切成 skill 文件按需加载比堆 CLAUDE.md 更稳。这一点 Superpowers 早就示范过了。没覆盖到聊天上下文Slack/邮件里Bob 上周说过我们要把 ServiceY 下线这类一次性的口头规则没人主动放进项目指令——需要团队约定每周把灰色规则沉淀到 Cowork 自定义指令或 postmortem 归档里否则永远在丢。给 DevOps 助手的具体落地清单如果接着上一篇的架构往前走具体动作在 Cowork 里建一个项目命名devops-assistant写自定义指令团队信息、高危服务清单、on-call 规则、改动审批口径——保持精简能查的东西不要塞挂一个 git 仓库当附加文件夹runbooks/、postmortems/、architecture/三个子目录markdown 为主装上 engineering 插件按需追加 Slack / Jira / Confluence / PagerDuty 连接器在被 Dispatch 的目标仓库里维护好 CLAUDE.md精简.claude/skills/按操作类型切片重要的 incident 处理完让 Cowork 把根因写进 postmortem 归档附加文件夹让 Claude Code 把可复用的查障流程提炼成 skill仓库内定期 review 自定义指令——它会膨胀要砍主张到这里收口Claude Code 的 Superpowers/Skills 体系解决的是这个仓库的肌肉记忆Cowork Projects 解决的是这个团队的工作记忆——它们是互补品不是替代品。把它们各自放对位置记忆才不会在两层之间漏掉。