Daily Productive Sharing 1344 - Agent Skills
One helpful tip per day:)
Claude 刚刚发布了 Skills - 一种有组织的指令、脚本和资源集合,代理(agent)可以动态发现并加载这些内容,从而在特定任务上表现得更好:
- 与其为每个用例单独构建定制的代理,现在任何人都可以通过识别并共享自己的流程化知识,来用**可组合的能力(composable capabilities)为代理赋能。
- 最简单的情况下,一个 skill 就是一个包含
SKILL.md
文件的目录。该 yaml 文件必须包含一些必要的元数据:name
和description
。 - 这些元数据构成了第一层“渐进式披露(progressive disclosure)”:它为 Claude 提供刚好足够的信息,让它知道在何种情况下应使用该技能,而无需将整个技能内容加载进上下文。
- 文件正文是第二层细节。如果 Claude 判断该技能与当前任务相关,它就会通过读取完整的
SKILL.md
将技能加载到上下文中。 - 技能目录中还可以包含其他附加文件,并在
SKILL.md
中通过名称引用它们。这些附加文件构成了**第三层(甚至更深层次)**的细节,Claude 只会在需要时才选择性地访问。 - 例如,把填表指令放在单独的
forms.md
文件中,可以让技能主体保持简洁;Claude 只会在真正填写表格时去读取forms.md
。 - “渐进式披露”是让 Agent Skills 具备灵活性与可扩展性的核心设计原则。
- Claude 可以直接运行某个脚本,而无需将脚本或 PDF 加载进上下文。而由于代码是确定性的,这种工作流也因此稳定且可复现。
- 通过让代理执行具有代表性的任务,并观察其瓶颈或上下文需求,可以识别出技能能力的短板。然后有计划地构建新的技能以补齐这些不足。
- 当
SKILL.md
文件变得过于臃肿时,可以将内容拆分成多个文件并引用它们。 - 代码既可以是可执行工具,也可以作为文档存在。要明确 Claude 是应当直接运行脚本,还是仅将其作为参考读取进上下文。
如果你喜欢的话,不妨直接订阅这份电子报 ⬇️