← 返回博客

OpenClaw Skills 是什么?

OpenClaw Skills 是什么?

在 OpenClaw 中,技能是 Agent 最小的功能单元——一个明确定义的能力,接收输入、处理、产生输出。技能是组成 Agent 的积木块。

你不是写一个巨大的提示词或复杂的逻辑链,而是定义小型的、可测试的技能,然后将它们组合成工作流。这种方法让 Agent 更容易构建、调试和维护,因为每个技能有单一职责,可以独立改进。

技能的构成

每个技能有三个定义部分:

触发

触发决定什么启动技能。技能可以通过以下方式触发:

  • 直接调用。 其他技能或 Agent 的主流程明确调用技能。
  • 事件。 外部事件——Webhook、消息、文件上传——激活技能。
  • 定时器。 基于时间的触发器在指定间隔运行技能。
  • 条件。 当工作流中特定条件满足时技能激活。

触发将技能与其调用者解耦。技能不需要知道谁在调用——它只需要知道期望什么输入格式。

逻辑

逻辑是处理步骤——技能实际做什么。通常涉及以下一项或多项:

  • 调用语言模型进行推理、生成或分类。
  • 执行工具:API 调用、数据库查询、文件操作。
  • 转换数据:转换格式、过滤记录、聚合结果。
  • 做决策:评估条件并选择下一步。

逻辑封装在技能内部。外部组件不需要知道技能如何完成工作——只需要知道它需要什么输入、产生什么输出。

输出

输出是技能处理后产生的内容。输出包括:

  • 数据。 可以传递给下一个技能的结构化或非结构化信息。
  • 状态。 工作流可以据此行动的成功或失败指示。
  • 事件。 可以触发下游技能的新事件。
  • 副作用。 执行期间写入数据库、调用 API、发送通知。

明确定义的输出让技能可预测、可组合。当技能清楚说明它返回什么时,其他技能和工作流可以可靠地使用这些结果。

好技能的特征

单一职责

技能应做一件事并做好。"网页搜索"技能搜索网页。它不负责摘要结果、存储它们或发送通知。这些职责属于独立的技能。单一职责技能更容易测试、替换和复用。

清晰约定

每个技能应有文档化的输入输出格式。调用者确切知道提供什么数据以及期望返回什么。清晰约定使技能可以独立开发和测试,然后组合而没有意外。

错误处理

技能应优雅处理错误。失败的 API 调用不应使 Agent 崩溃。技能应重试瞬时故障、记录持续错误、并返回清晰的失败状态,以便工作流决定如何继续——重试、跳过、升级或停止。

可测试性

因为技能小而聚焦,它们应该在隔离环境中容易测试。网页搜索技能可以用示例查询测试。数据转换技能可以用示例数据测试。独立可测试性是基于技能方法的主要优势之一。

将技能组合为 Agent

Agent 是由工作流逻辑连接的技能组合。组合定义:

  • 顺序。 哪个技能先运行、第二个运行,依此类推。
  • 条件。 什么条件决定技能运行或跳过。
  • 数据流。 一个技能的输出如何成为另一个技能的输入。
  • 错误恢复。 技能失败时发生什么——重试、跳过或停止。

线性组合

技能按固定顺序运行。技能 A 的输出成为技能 B 的输入,再传给技能 C。这是最简单的组合模式,适用于明确定义、可预测的工作流。

示例:内容摘要 Agent,获取技能检索文章、文本提取技能清理内容、摘要技能生成摘要。

条件组合

工作流在决策点评估条件,基于结果路由到不同技能。这实现了分支逻辑,Agent 根据中间结果调整路径。

示例:审核 Agent,分类技能确定内容风险级别。低风险内容进入自动批准。高风险内容路由到人工审核。中风险内容进入第二个分析技能进行更深入评估。

并行组合

多个技能在相同或不同输入上同时运行。所有并行技能完成后聚合结果。

示例:研究 Agent 同时搜索多个来源——网页、数据库、内部文档——然后将发现合并为综合报告。

技能生命周期

OpenClaw 生态中的技能经历一个生命周期:

创建。 构建者识别能力需求,实现技能。

测试。 技能用各种输入和边缘情况独立验证。

发布。 技能与社区分享或存储在私有注册表中。

组合。 其他构建者发现并在其 Agent 中使用技能。

改进。 技能随时间接收更新、错误修复和增强。

弃用。 当更好的方法取代技能时,标记为弃用和迁移。

技能 vs. 传统代码函数

维度传统函数OpenClaw 技能
触发直接调用事件、定时器或调用
上下文无状态可访问 Agent 状态
组合手动连接工作流驱动
发现文档生态注册表
分享复制粘贴结构化发布
错误处理返回错误码工作流集成

最佳实践

一个技能一件事。 如果一个技能做多个不同的事,拆分它。既搜索又摘要的技能应成为两个技能。

明确输入输出。 文档化期望的数据格式、必填字段、可选字段和返回结构。清晰约定防止集成意外。

处理边缘情况。 输入为空时怎么办?API 不可达时?语言模型返回意外输出时?为这些情况设计。

记录决策。 记录技能收到什么、决定什么、产生什么。这对调试和审计 Agent 行为至关重要。

版本化技能。 改进技能时,保留旧版本供依赖旧行为的 Agent 使用。并非所有 Agent 都需立即升级。

下一步

先为你的 Agent 确定一个小的、聚焦的能力需求。实现为技能,独立测试,然后与其他技能组合成工作流。

了解更多:OpenClaw 是什么 获取技能生态的更多背景。探索技能如何连接形成 AI Agent 工作流 以及如何部署它们。

查看教程页获取构建和组合技能的实践指南。