智能体skill基本原理
智能体调用Skill的过程,很像一个经验丰富的专家在翻阅他的"操作手册"。整个过程遵循一套精心设计的渐进式披露(Progressive Disclosure) 机制,目的是在让AI掌握强大能力的同时,避免一次性加载过多信息导致"上下文污染"(即无关信息挤占有限注意力)。
这个过程可以分为三个核心阶段:
下面是每个阶段的详细拆解:
阶段一:发现(Discovery)—— 建立"技能清单"
智能体(如Trae、Claude Code等)在启动或开始新任务时,会扫描指定目录(如.trae/skills/)下的所有Skill文件夹。但此时,它并不会读取Skill的全部内容,而是只读取每个SKILL.md文件最开头的"元数据"(YAML格式的name和description字段)。
目的:这就像是建立了一份极简的"技能清单",让智能体知道"我有这些工具可用"。这个过程非常轻量,每个Skill只需约100个Token,即使有几十个Skill也不会占用太多上下文空间。
例如:一个名为code-review的Skill,其描述是"用于按照团队规范审查代码",此时智能体只知道有这个技能存在,但不知道具体怎么审查。
阶段二:激活(Activation)—— "对号入座"加载指令
当你向智能体提出一个具体任务后,它会根据任务内容,与它在"发现"阶段建立的"技能清单"进行匹配。
匹配与决策:智能体会判断当前任务是否与某个Skill的description描述的场景高度相关。如果匹配成功,该Skill就被"激活"了。
加载指令:一旦决定激活,智能体就会加载该SKILL.md文件的全部正文内容。这部分包含了完成该任务所需的详细步骤、操作指南、注意事项等核心指令。不相关的Skill则不会被加载,有效避免了无关信息占用上下文。
两种调用方式:你可以选择自动触发,让智能体自己判断和加载;也可以手动调用,通过在对话框中输入/选择Skill,或直接说"使用xxx技能帮我……"来强制激活。
阶段三:执行(Execution)—— 按需深入,获取"弹药"
现在,智能体已经有了完成任务的操作手册(SKILL.md的指令)。在执行这些指令的过程中,它可能会遇到需要更具体信息或执行特定操作的情况。
按需加载资源:此时,智能体会根据指令的指引,动态地、按需地去加载scripts/(可执行脚本)、references/(参考文档)或assets/(模板、图片等)文件夹中的内容。
关键区别:references/这类文件在未被触发时,仅存放在硬盘上,不会消耗任何Token。只有当指令明确要求(例如,"如果涉及报销,请参考company-financial-manual.md"),智能体才会去读取它。而scripts/目录下的脚本则会被执行,其运行逻辑和结果同样不会挤占上下文窗口。
总的来说,智能体通过这种分阶段、按需加载的机制,实现了"知道所有技能,但只加载当前需要的那个",既扩展了能力边界,又保证了核心对话的高效与专注。
更多推荐




所有评论(0)