Daily Productive Sharing 1344 - Agent Skills

Daily Productive Sharing 1344 - Agent Skills
Photo by Merve Kalafat Yılmaz / Unsplash

One helpful tip per day:)

Claude 刚刚发布了 Skills - 一种有组织的指令、脚本和资源集合,代理(agent)可以动态发现并加载这些内容,从而在特定任务上表现得更好:

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

如果你喜欢的话,不妨直接订阅这份电子报 ⬇️