【AI】关于claude code长会话过程中逐渐遗忘给它提供的标准操作规范问题思考 问题在使用claude code的时候我发现我提供了一系列的操作规范比如代码编译容器创建资源初始化等标准化的操作规范我让它按照规范执行操作。会话前期它会严格执行但是会话长了以后它会忽略掉我的标准规范导致编写代码报错执行报错等问题然后逐渐失控。我的方案是提供docs目录放置大量操作规范是不是采用skills技术会跟家稳定呢解决方案你遇到的情况本质上是长会话上下文的注意力衰减和指令稀释问题这在所有大语言模型中都存在。你现在的方案是把规范写成 Markdown 放在docs/里然后让 Claude 去读。这种“被动引用”的方式在短会话里还好一旦上下文变长模型很容易忘记去查或者只记住前几条规范后面的就会被忽略。这就是你观察到的“会话长了就逐渐失控”。而skills技能技术就是为了解决这个问题而设计的。它的核心思路是把规范从“被动文档”变成“主动调用的执行单元”。具体来说比单纯放 docs 更稳定的原因有这几个1. 强制重载指令刷新注意力Skills 相当于一套打包好的系统指令 执行流程每次被触发时都会把完整的规范重新“塞进”模型的注意力窗口。比如你定义了一个compile-and-deployskill每次执行编译部署前模型会强制调用它相当于在那一刻完整执行一套标准化 SOP不会被前面几千行的闲聊冲淡。而 docs 里的规范只在第一次加载时被完整阅读之后模型只是“隐约记得有规范”但细节全忘了。2. 结构化的执行边界防止自由发挥Skills 一般有明确的输入、输出、步骤限制甚至可以包括断言和校验。比如你可以在 skill 里写“第 3 步执行docker build后必须检查返回码并提取镜像 ID若失败必须终止并反馈错误不得尝试自行修复。” 这种严格的流程控制比“请参考 docs/compile.md” 更不容易被模型在长会话中“创造性发挥”所破坏。3. 上下文隔离与工具化Skills 在很多实现里是工具调用tool use级别的比如 Claude Code 的 custom slash commands 或者通过 MCP 注册的 skill。这意味着它可以在独立的上下文片段中执行甚至在极端场景下部分状态不污染主对话上下文进一步保证规范的执行纯度。你现在的 docs 方案是“带小抄”skill 方案更像是“按下一个写死的自动化按钮”。4. 更好的版本与调试Skills 可以独立测试、独立维护。当你发现某个规范总是被忽略时你可以直接去检查这个 skill 的触发条件和流程而不是在大段对话记录里猜模型为什么不看 docs。具体怎么做如果你在用 Claude Code可以有几种落地方式Custom slash commands内置在项目根目录创建.claude/commands/把每个规范写成一个 Markdown 文件里面用instructions等标签定义严格执行流程。执行时通过/command-name强制触发。这其实就是一种轻量级 skill。MCP Skills高级如果你的平台支持 MCP如 Claude Desktop 或支持 MCP 的 Claude Code可以把规范封装成 MCP 工具模型必须通过工具调用来执行这样规范是硬约束。明确设计原则每个 skill 只做一件事内部包含前置检查状态、环境严格步骤每一步附带 expected output异常终止条件不允许自行绕过事后验证如运行测试、检查日志关键词结论相比继续往docs/里堆文档把高频、容易出错的规范抽象成 skills/commands会让稳定性有质的提升。它是从“希望 AI 记得查文档”变成“AI 必须按这个按钮才能继续”从根本上规避了长上下文遗忘的问题。