【AI Engineering 】别再把 Skill 当 Agent 用了!你以为的“赛博分身”,可能只是一份临时说明书
[ 导语 ] 很多人以为,给 AI 发个 Skill 文档它就进化成专家了,或者开个 Subagent 就是在组建团队。结果往往是:Skill 成了摆设,主 Agent 依旧我行我素;Subagent 乱跑,消耗了大量 Token 却只带回一堆废话。
为什么你的 AI 工具链总是 ‘出工不出力’ ?核心原因在于你分不清‘知识注入’ 与 ‘权限委派’ 的边界。今天,我们拆开 Claude Code 和 OpenCode 的黑盒,聊聊如何从一个只会喂 Prompt 的 ‘发令员’,转型为真正懂架构的 ‘赛博指挥官’。
哈喽各位,我是蜂蜜。欢迎来到今天的 AI 架构硬核拆解现场。
最近在倒腾各种终端 AI 编码工具(比如 Claude Code、OpenCode 这些 CLI 神器)时,发现很多同行在架构层面容易把两个概念搞混:Agent Skill(智能体技能) 和 Subagent(子智能体)。
表面上看,它俩都是为了让 AI 帮你干活、写代码、做 Review。但如果你用“Harness Engineering(驾驭工程)”的视角去拆解,它们的底层逻辑、上下文管理和权限控制完全是两码事。
今天,咱们就抛开那些晦涩的学术定义,用最接地气的“项目团队”隐喻,带大家把这两个概念扒得明明白白 🩳。
🏢 核心隐喻:项目团队的“SOP 手册” vs “专职打工人”
在 CLI 终端里,你的主 Agent(比如你直接对话的 Claude Code)就是一个 “总项目经理(PM)”。
- Agent Skill(技能) = 📄 SOP 标准作业程序(The “How”)。 它是一份文档(通常是
SKILL.md),里面写满了“前端组件怎么写”、“数据库怎么连”、“报错了怎么排查”的套路。你的 PM 拿到这份手册,亲自下场按照手册教的步骤去干活。 - Subagent(子智能体) = 👷♂️ 专职打工人(The “Who”)。 这是一个拥有独立工位(独立的上下文窗口)、只签了特定保密协议(受限的 System Prompt 和工具权限)的专职助手。你的 PM 觉得某个任务太繁琐,就把任务委派出去,助手干完后只把结果汇报给 PM。
📚 深度解析一:Agent Skill —— 逃离 Prompt 仓鼠轮
在 2026 年的 AI 编码生态中,Skill 已经成了一种通用标准。不管你用的是 Claude Code、OpenCode 还是其他工具,你大概率都在项目根目录下见过 .claude/skills/ 或者通用的 SKILL.md 文件。
Skill 的本质是什么?是“程序性知识(Procedural Knowledge)”的注入。
当你让 Agent 帮你写一个 React 组件时,如果没有 Skill,它就是一个第一天上班的应届生,虽然聪明,但完全不懂你们公司的代码规范。通过引入 Frontend Design Skill,你实际上是在告诉主 Agent:
“兄弟,写前端的时候,严格按照这个文件里的 Tailwind 规范和组件拆分逻辑来。”
特点:
- 不隔离上下文: Agent 学习 Skill 时,依然在主对话窗口里。
- 没有独立执行能力: Skill 只是一堆文本/规则,它必须依赖主 Agent 去读取并执行。
- 跨工具通用: 优秀的
SKILL.md可以在 OpenCode 和 Claude Code 之间无缝流转,它是团队沉淀的最佳实践。
🤖 深度解析二:Subagent —— 拯救上下文污染的利器
如果说 Skill 是给 Agent 喂知识,那 Subagent 就是给 Agent 找帮手。
在使用 Claude Code CLI 时,当你输入 /agents 命令去创建一个子智能体(保存在 ~/.claude/agents/),你其实是在做一件非常“工业级”的事情:上下文与权限的物理隔离。
为什么我们需要 Subagent?因为上下文污染是大型项目开发中的万恶之源。如果让主 Agent 既去搜集资料,又去 Review 代码,还要写单元测试,它的 脑容量(Context Window) 很快就会被各种垃圾信息塞满,导致智商断崖式下跌。
Subagent 的核心优势:
- 干净的上下文(Clean Context): Subagent 拥有自己独立的 System Prompt。主 Agent 派活儿时,Subagent 只带着必要的信息去干活,干完后只返回精华结论(比如 Review 报告),脏乱差的思考过程不会污染主 Agent 的窗口。
- 权限控制(Restricted Tools): 这点极其关键。你可以创建一个“代码审查 Subagent”,并且只给它分配只读(Read-only)工具的权限。这样你就可以放心地让它去扫描几万行代码,完全不用担心它发神经把你本地文件删了。
- 并行与异步: 在高级的 CLI 工具(如 OpenCode 的 Multi-session 特性)中,主 Agent 可以同时拉起多个 Subagent,一个去扒日志,一个去改 CSS,主 Agent 负责汇总合并(Merge results)。
📊 一图胜千言:架构对比
为了让大家更直观地理解,我画了个图,展示一下主 Agent 在面对复杂任务时,是如何分别调用这两者的:

💡 总结(Takeaways)
在 AI 驱动软件交付的时代,不要再把你的终端 Agent 当成一个无所不能的许愿池了。合理的架构设计才能让你的工具链发挥出最大威力:
- 什么时候用 Skill? 当你需要教 AI “怎么做”(How),并且这个流程是可复用、标准化的(比如公司的代码规范、API 接入套件)。把它们沉淀到
.claude/skills/里,作为你的赛博资产。 - 什么时候用 Subagent? 当你需要决定 “谁来做”(Who),尤其是任务独立、需要防止上下文污染、或者需要严格限制权限时(比如只读审查、纯网页搜索数据抓取)。
用好 Skill,你的 Agent 库里就有了千万卷武功秘籍;用好 Subagent,你就真正拥有了一支各司其职的赛博军团。
以上就是今天的硬核拆解。如果你在本地跑 CLI 工具时还有遇到什么诡异的坑,或者有什么独门的 Skill 编写技巧,欢迎在评论区和我切磋切磋!👇
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)