技能
限定在工作区内的可复用指令集,供 Agent 区块在运行时加载
技能是可复用的指令集,用于定义 Agent 区块的专项行为。创建一次技能,即可将其附加到同一工作区内任意工作流中的任意智能体。技能使用 TradingGoose 共用的导出 JSON 格式,因此你可以从技能编辑器导出,再通过技能列表组件导入。
技能定义
每项技能均存储为 SkillDefinition,包含四个面向用户的字段:
| 字段 | 规则 | 用途 |
|---|---|---|
| name | 1-64 个字符,保存时去除首尾空格 | 工作区内唯一的显示名称,对人与智能体可见 |
| description | 1-1024 个字符 | 向智能体和团队成员说明该技能的作用 |
| content | 1-50 000 个字符 | 完整提示词:指令、上下文、规则和示例 |
| id | 自动生成 | 不可变引用,供工作流、API 和运行时加载器使用 |
每项技能还包含 workspaceId、userId、createdAt,以及可选的 updatedAt 时间戳。
创建与编辑技能
打开 技能列表 组件,选择 新建技能。
选中新建的技能,并在配对的 技能编辑器 中打开。
输入最多 64 个字符的 名称、简短 描述 以及完整 内容,然后选择 保存。校验会拒绝空字段以及工作区内的重复名称。
要更新已有技能,在技能编辑器中选中它,修改任意字段并保存。引用该技能的所有工作流会在下次运行时使用新内容。
要删除技能,请在技能列表中使用其删除操作。删除需要 admin 或 write 权限。当仅剩一项技能时,列表会禁用此操作。
导入与导出
技能使用 TradingGoose 共用的导出 JSON 格式。从技能编辑器导出技能,并从技能列表小组件导入。导入的技能会自动规范化,重复名称会被重命名,便于你在工作区之间迁移而无需手动清理。
在 Agent 块中使用技能
Agent 块提供 技能 输入(skill-input 类型)。配置时,从工作区选择一项或多项技能。运行时,Agent 首先收到每项可用技能的名称、描述和不可变 ID,随后可按需加载相关技能的完整说明。
技能以工作区为作用域。有权访问该工作区的每位团队成员都可以浏览、使用技能,并(在拥有写入权限时)编辑或删除技能。
技能在运行时如何工作
- 工作流执行器读取 Agent 块所选的技能引用。
- TradingGoose 在本次执行的工作区中解析所选技能,并将其名称、描述和 ID 加入 Agent 的上下文。
- 当某项技能相关时,Agent 使用精确的不可变 ID 调用其内部技能加载器。
- 加载器检索该技能的当前内容,并将其作为本次运行的专用说明返回。
不可用的技能引用会被跳过。显示名称有助于 Agent 选择技能,但运行时查找键是不可变 ID。
权限
| 操作 | 所需权限 |
|---|---|
| 列出 / 读取技能 | 任意工作区访问权限 |
| 创建 / 更新 / 删除 | admin 或 write |
最佳实践
- 一角色一技能 -- 使每个技能专注于单一角色或任务类型。
- 加入示例 -- 在内容中加入示例,以锚定智能体的行为。
- 就地迭代 -- 编辑技能后,所有引用该技能的工作流都会更新,无需重新连线。
- 使用描述性名称 -- 保持简短、精炼,并在工作区内唯一。