
如何让各种 Coding Agent 更好的干活在常规的对话外Claude Code也可以是 Codex其实还提供了一些别样的控制或者说上下文注入方法比如CLAUDE.md、Rules、Skills、Subagents、Hooks、Output Styles、以及System Prompt Append接下来我会具体聊聊这些奇奇怪怪的东西用最不绕弯子、最把你稳稳接住的方法尝试讲清楚这些玩意儿都是个啥让你最听人话的知道→ 这些方法各自适合放什么样的指令→ 为什么在CLAUDE.md里写「永远不要做 X」不靠谱→ Skills 和 Subagents 到底怎么玩→ Hooks 是怎么做到确定性执行的→ Dynamic Workflows 怎么让 Claude 自己写编排脚本此外最近 Claude 最近还多了一个叫Dynamic Workflows的能力可以让 Claude 自己写编排脚本、协调多个 agent 并行干活这里也会尝试讲清楚本文中的图片和部分描述来自 Claude Code 官方文档有兴趣的话也可以查看原始文档Steering Claude Code https://claude.com/blog/steering-claude-code-skills-hooks-rules-subagents-and-more剧前提要首先我们必须要理解大模型的工作原理简单来说就是**【塞进去足够的上文】模型就能够【给出足够好的结果】我在央媒的分享上下文即一切****AI 的能力、问题和用法本质都由上下文决定。**用户发一条请求AI 把请求和它能拿到的所有材料拼在一起组成一段完整的上下文再往下生成结果…循环往复而 Agent则是在你给到初始的目标、背景信息、限定条件等等之后它去自己构建上下文划重点Agent 和 ChatBot 的区别在一件事上【谁来构建上下文】ChatBot 靠人喂你给它什么材料它就用什么材料Agent 会自己搜网页、读文档、调工具把有用的内容写进上下文发现不够还会自动回头继续找对于 Agent 来说它只能看到自己上下文内的内容那么通过一些工程手段去限定 Agent 在哪些步骤下能看到哪些东西就变得尤为重要于是我们就有了如claude.md、skill等上下文注入方法这里我做了一个表方便大家更好的进行比较不同的上下文注入方法如果追一下这几个东西的设计方法的话会发现更多有趣的点CLAUDE.md是唯一一个「全程加载、全程占 token」的方法。你写的每一行不管这次任务用不用得上都在消耗上下文窗口Skills的设计很聪明只有名字和描述在启动时加载完整内容等到被调用时才进上下文。用完之后如果上下文满了最旧的 skill 会被踢掉Subagents也是一种上下文注入它是另起一个对话在自己独立的上下文窗口里跑跑完只把最终结果返回给主会话所以从主会话角度来看的上下文成本是零Hooks完全绕过了上下文窗口。它是代码由 harness 在外部执行下面我们来具体的讲解每一种上下文注入CLAUDE.md算是项目的「说明书」Claude Code 启动时自动读入【全程都把你稳稳接住】这东西非常类似于 ChatGPT 里面的 Instruction/自定义指令或者 API Call 里的 System Prompt在项目启动时就会读取在 Claude 里这个叫做 CLAUDE.md在 Codex 里这个叫 agents.md这些个文件时放在根目录里的Claude Code 启动后就会自动读取你可以在里面去约定一些里面写上构建命令、目录结构、编码规范、团队约定什么的然后这里得说一下CLAUDE.md分两种加载模式始终加载根目录的CLAUDE.md加上你本地个人偏好的CLAUDE.md。启动即加载压缩后重新读取全程都在按需加载子目录下的CLAUDE.md比如app/api/CLAUDE.md只在 Claude 读取该目录下的文件时才加载。压缩后丢失等到再次碰那个目录才重新加载子目录 CLAUDE.md 只在 Claude 碰到那个目录时才加载对此官方建议给每个团队的目录放自己的CLAUDE.md开发者用claudeMdExcludes配置跳过不相关团队的文件团队之间不互相占用上下文也如同会不断膨胀的 instruction 一样CLAUDE.md也可能会像所有没有 owner 的配置文件一样不断膨胀…毕竟人总喜欢不断的积累规则、加规则然后这个 CLAUDE.md 也会不断膨胀让指令遵循率也下降CLAUDE.md 的正确用法告诉 Claude 项目长什么样、构建命令是什么。流程和约束放到 Rules、Skills 这些按需加载的机制里对于组织级别的安全策略和合规要求可以通过 MDM 或配置管理工具统一部署一份集中管理的CLAUDE.md到开发者机器上这份文件不能被个人配置排除Rules这给特定文件或目录设定的约束可以做到「碰到这类文件才生效」Rules 是.claude/rules/目录下的 markdown 文件。你可以把它理解成更精细的CLAUDE.mdCLAUDE.md是全局生效的Rules 可以只在碰到特定路径的文件时才加载不加路径限定的 Rule 跟写在CLAUDE.md里没区别启动即加载全程占 token。加了路径限定就不一样了--- paths: - src/api/** - **/*.handler.ts --- 所有 API handler 必须用 Zod 做输入校验只有当 Claude 读取src/api/下的文件时这条 Rule 才会加载。做文档的时候这条规则压根不在上下文里不浪费 token至于什么时候该用 Rule当一条约束是跨目录的比如所有 migration 文件只能追加、所有测试文件必须用某个 mock 库但又不需要全局生效时path-scoped rule 就是最好的选择Skills这个算是大家最熟悉的「技能包」了只在被调用时才加载完整内容平时只占几十个 tokenSkills的位置在.claude/skills/目录下每个 skill 是一个文件夹里面有一个SKILL.md定义名字、描述和完整指令然后这里我必须要说一点也是常见的误区Skill 不是提示词 也通常不作为数据源通常不会有「小红书搜索 Skill」的Skill 的本质是把一堆文件按约定的结构打包成 .zip然后把后缀改成了 .skll所以当你调用别人的 Skill 时本质是把别人打包文件夹喂给大模型如果文件夹里有提示词当然可以把 Skill 当提示词用但绝对不能说 Skill 是提示词说回来当 Agent 启动的时候并非加载 Skill 的全部内容而只是加载其名字和描述几十个 token 的事完整内容等到 skill 被调用时才进上下文Skill 调用方式有两种人工斜杠命令比如/code-review或者 Claude 自动匹配任务Skills 通过 system prompt 触发用到才进上下文Skill 跟 CLAUDE.md 的核心区别是「流程 vs 事实」。CLAUDE.md放的是 Claude 需要随时知道的事实构建命令、目录结构。Skill放的是需要按步骤执行的流程部署清单、发布流程、review checklist。流程不需要全程占 token用到的时候加载就行当对话内容过长对话内容被压缩时不同的内容会被以不同的方式压缩根目录 CLAUDE.md 不会丢失准确说压缩的时候缓存会被清掉但紧接着 Claude Code 会重新读取这个文件所以它永远在上下文里子目录 CLAUDE.md 会丢失但等到 Claude 再次碰那个子目录它还会重新加载Skills 压缩后也会被重新注入但有一个共享的 token 预算上限。如果调用了太多 skill最早的会被踢掉Anthropic 有一份完整的 skill 构建指南查看指南 https://claude.com/blog/complete-guide-to-building-skills-for-claudeSubagents这个也相对容易理解就是让 Agent 多开几个窗口干活在独立的上下文窗口里跑任务跑完只把结论交回来Subagents是.claude/agents/目录下的 markdown 文件用 YAML frontmatter 定义名字、描述、模型选择和可用工具。你可以把它理解成一个专门处理某类任务的独立助手跟 Skills 的关键区别在于隔离性。Skill 在主线程里执行你能看到每一步的中间过程。Subagent 在自己独立的上下文窗口里跑主会话看不到它的中间过程Claude Code 的上下文窗口结构Subagent 有自己独立的窗口一个 subagent 做了 50 轮搜索、读了 200 个文件主会话的上下文窗口里只多了一段摘要这也是为什么要用它SubAgent 做脏活累活不污染主会话并且能加快效率在实际使用中有三个典型场景可以去尝试深度搜索大量中间结果不需要保留、日志分析翻几百行 log 找问题、依赖审计逐个检查库版本Subagent 这东西时真的很好用跑测试什么的非常省心。这几天我正在弄 AGI Bar 的 Drinking Plan然后做了个小程序完全是 SubAgent 集群在弄这里我放个图大家感受下其实中间我中断了次实际上已经跑了 40 个小时了然后Subagent 可以嵌套最深五层后面讲 Dynamic Workflows 的时候会看到这个嵌套能力是大规模编排的基础怎么选需要看到每一步的中间结果吗需要就用 Skill不需要让它自己跑完给你一个结论用 SubagentHooks这东西的本质是触发脚本当遇到特定的问题就自动执行跟模型的判断力无关Hooks是 Claude Code 里最不像 AI 的机制。你在settings.json里注册一个 hook指定「当某个事件发生时执行这条命令」。IFTTT 知道吧就是那种: if this, then do that八种 hook 事件覆盖从启动到完成的全流程可以先看一下上面这张图有八种 Hook 事件PreToolUse工具执行前触发。拦截危险命令、验证文件路径、自动批准安全操作。exit code 2 直接阻止执行PostToolUse工具执行后触发。写文件后自动跑 Prettier改代码后自动跑 linterPermissionRequest权限对话框弹出前触发。npm test跑了第一百遍还在问你要不要允许自动批准SessionStart会话启动时触发。自动注入 git status、TODO 列表PreCompact上下文压缩前触发。把完整对话备份到文件防止重要决策丢失Stop回复完成时触发。检查任务是否做完、测试是否通过。返回continue: true让 Claude 继续干SubagentStop跟 Stop 一样但针对 subagentUserPromptSubmit提交 prompt 时触发。自动追加当前 sprint 信息而 Hook 动作本身有五种类型command执行命令、HTTP调接口、mcp_tool调 MCP 工具、prompt让模型判断、agent启动 agent 判断。前三种完全确定性执行后两种用模型的判断力如果某件事绝对不能发生用 hook 或 permission 做硬护栏比如之前我在弄「龙虾大逃杀」的时候不是被踢了么…艹…龙虾大逃杀存活下来的拿 Mac mini群里有只会踢人的龙虾当时我是图个懒省事儿直接写在系统提示词里面的除此之外没加任何防护但江湖险恶、人心难测…屮屮屮屮屮…被踢了之后痛定思痛才上了 permission 硬护栏活动才能顺利进行对了忘了说了当时比赛最终赢家是【四毛】我加了一个月好友才加上然后那段时间 Mac Mini 无现货这可恶的龙虾潮订等了好久才到之后还会有类似的活动欢迎大家来参加中奖概率倍儿高奖品也嘛倍好话说回来做安全防护的时候任何的提示词防护都是不靠谱的都很有可能在长会话、压力大、或被 prompt injection 干扰时失效。而PreToolUsehook 拦截就是确定性的作为大守密者永远帮你把握住「永远不要执行rm -rf」这样的信息更多 hook 配置细节查看指南 https://claude.com/blog/how-to-configure-hooksOutput Styles你可以通过这个修改 Claude Code 的「人设」为猫娘注入到 system prompt 里权重最高但影响面也最大Output Styles这个东西的位置在.claude/output-styles/下面能够注入到 system prompt 里、永远不会被压缩且指令遵循权重最高但在另外的一方面你得知道自定义 output style 会替换掉默认的 system prompt这里说一下 system prompt这是 Claude 里的内置基础提示词包含了很多定义比如怎么限定改动范围、安全问题怎么处理、改完代码先跑测试除非你在 frontmatter 里加keep-coding-instructions: true对此如果你想进一步研究的话可以先看一下三个内置的 styleProactive自主决策多、Explanatory教学模式、Learning协作编码System Prompt Append**一句话解释**通过 CLI 参数临时往 system prompt 后面追加内容不修改默认指令只对当次调用生效如果觉得 Output Styles 改动太大append-system-prompt是一个更甜品的选择。它只往默认 system prompt 后面追加一段内容不替换任何东西。Claude Code 原本的软件工程指令全部保留在 CLI 里你可以这么输入claude --append-system-prompt 所有回复使用中文代码注释也用中文这条指令只对当次调用生效不写文件不跨 session。适合加编码规范、输出格式、语气偏好这类轻量指令压缩行为跟 Output Styles 一样永远不会被压缩但要注意一个递减效应追加的指令越多Claude 对每条指令的遵循率越低。特别是指令之间有冲突的时候遵循率下降得更快常见误区对于这些注入方法其实也有些常见的配置误区的这些来自官方我给翻译补充了下错误「每次 X必须做 Y」写在 CLAUDE.md 里比如你希望每次编辑文件后自动跑 formatter。这类行为应该用PostToolUsehook。模型选择做一件事跟自动执行一件事完全是两码事错误「绝对不要做 Z」写在 CLAUDE.md 里绝对性约束用PreToolUsehook 做硬护栏exit code 2 直接阻止。组织级别的护栏用 Managed Settings管理员部署用户不能覆盖错误30 行的流程写在 CLAUDE.md 里部署流程、review checklist 放 skill。CLAUDE.md放事实skill 放流程错误Rule 没加路径限定只适用于src/api/**的约束没加paths:就跟写在CLAUDE.md里一样全程加载白费 token错误个人偏好写在项目级文件里个人偏好比如 commit message 格式放用户级的本地文件项目级文件只放团队共识Dynamic Workflows前段时间Anthropic 发布了 dynamic workflows/动态工作流简单来说就是让 Claude 自己写编排脚本协调多个 subagent 并行工作解决复杂任务其诞生是为了解决默认 harness 的三个老问题→偷懒Agentic laziness安全审查要查 50 项Claude 查到第 35 项就宣布完成了→自我偏好Self-preferential bias让 Claude 检查自己写的代码它倾向于觉得没问题→目标漂移Goal drift长会话中每次压缩都是有损的边缘需求和约束容易在压缩中丢失在这个过程中三个核心函数起到了作用Agent(prompt,opts?)parallel([fns])pipline(items,…)Dynamic workflow 用独立上下文窗口隔离每个子任务从结构上消解这三个问题。触发方式很直接跟 Claude 说「用一个 workflow」或者用触发词ultracode静态工作流 vs 动态工作流至于 Dynamic workflow 的编排方式A社总结有以下六种常见的工作流编排模式Classify-and-act先用一个 classifier 判断任务类型再分发给对应的专用 agent 处理Fan-out-and-synthesize把任务拆成 N 个子任务每个跑一个 subagent最后一个 agent 汇总结果Adversarial verification每个执行 agent 配一个验证 agent按标准对抗性检查输出TournamentN 个 agent 用不同方法做同一件事逐对比较选出最优Generate-and-filter先大量生成再过滤去重只留验证过的高质量结果Loop until done不设固定轮数循环 spawn agent 直到满足终止条件实际案例以之前 Bun 从 Zig 重写到 Rust 用了 dynamic workflows 这个事儿为例过程中每个修复跑一个 subagent 在独立 worktree 里改另一个 agent 对抗性 review通过后合并深度验证模式执行 agent 验证 agent 对抗Deep research是 Claude Code 内置的一个 workflow skill/deep-research。扇出搜索、抓取源文档、对抗验证每条声明、汇总成带引用的报告还有一个反向用法让 workflow 翻你最近 50 个 session找出你反复修正 Claude 的模式聚类成规则候选对抗验证每条能不能真的防止之前的错误通过的写进CLAUDE.md反向用法从历史 session 挖掘规则候选最后这些上下文注入的方法本质是延续一个思路需要的时候出现不需要的时候消失对应到工程上就是不同的指令要有不同的生命周期有的需要全程在场CLAUDE.md有的只在特定场景出现path-scoped Rules有的用到才加载Skills有的在独立窗口里跑Subagents有的完全不占上下文Hooks把所有指令塞进一个CLAUDE.md是最简单的做法但也是最浪费、且会污染上下文的做法做正式项目的时候就不推荐了事实放 CLAUDE.md流程放 Skill护栏放 Hook隔离任务给 Subagent然后如果整套 Agent 系统是整个团队在用就可以尝试着把这些东西打包成一个plugin方便共享/分发学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】