跳到主要内容

自定义工具与自定义 SKILL

当你发现某个操作会反复出现,就应该把它从“每次都写提示词”升级为“可复用能力”。在 Memfit 中,工具负责原子动作,SKILL 负责场景流程。

【配图:资源区总览,标注工具列表、工具编辑器、SKILL 列表、SKILL 编辑器】

先判断做工具还是做 SKILL

你想封装什么选择
一个明确输入、明确输出的动作自定义工具
一段脚本、一次查询、一个检查器自定义工具
一套多步骤流程自定义 SKILL
固定角色、固定约束、固定输出格式自定义 SKILL
需要组合多个工具和知识库自定义 SKILL

工具像“螺丝刀”,SKILL 像“维修流程”。工具越清晰,SKILL 越稳定。

自定义工具

自定义工具是 Agent 可以调用的原子能力。它适合封装内部脚本、检查逻辑、格式转换、查询接口或团队标准操作。

创建工具时重点填写:

配置写法建议
工具名称简短、稳定,使用英文或稳定拼音,避免频繁改名。
描述写清用途、何时使用、何时不要使用。
标签 / 关键词放入 Agent 可能搜索到的关键词。
参数 Schema明确参数类型、是否必填、取值范围。
源码 / 执行逻辑只做工具承诺的事,避免隐藏副作用。
执行结果返回结构化结果,便于 Agent 继续分析。

【配图:AI 工具编辑器,标注基本信息、描述、参数 Schema、源码、测试结果】

工具描述模板

用途:检查目标域名的 TLS 证书有效期和证书链。
适用场景:用户要求检查 HTTPS 证书、过期时间、证书链风险。
输入:domain,必须是域名,不包含 http:// 或 https://。
输出:证书主体、颁发者、过期时间、剩余天数、证书链状态和风险提示。
限制:只做证书信息检查,不进行漏洞利用或高频请求。

参数 Schema 怎么写

参数越明确,Agent 越不容易乱填。

参数建议
字符串写清是否允许 URL、路径、空格和特殊字符。
数字写清最小值、最大值和默认值。
布尔值写清 truefalse 分别意味着什么。
枚举优先用枚举限制模式,例如 fastsafedeep
路径写清相对路径还是绝对路径,是否允许越出项目目录。

测试工具

保存工具前,先用最小输入测试一次,再用边界输入测试一次。

测试检查表:

  • 参数为空时是否给出清晰错误。
  • 输入非法时是否拒绝执行。
  • 执行结果是否能被 Agent 继续理解。
  • 是否会修改文件、访问网络或产生高风险副作用。
  • 失败时是否返回原因,而不是只返回空结果。

自定义 SKILL

SKILL 用来封装可复用任务策略。它通常包含角色、流程、工具选择、知识库要求、参数 UI 和输出格式。

适合做成 SKILL 的任务:

  • Java 代码审计
  • Web 安全基线检查
  • 项目交接文档生成
  • 日志根因分析
  • 版本发布检查
  • 团队规范审查

【配图:SKILL 编辑器,标注名称描述、工具选择、提示词、参数 UI、输出模板】

SKILL 的关键配置

配置作用
名称与描述让用户和 Agent 知道它适合什么场景。
标签便于检索和分类。
工具列表限制 SKILL 可以使用哪些工具。
知识库要求指明需要挂载哪些规范、文档或历史资料。
初始化提示词规定任务开始时的角色、目标和执行步骤。
持续提示词规定整个过程中始终遵守的约束。
参数 UI让用户在执行前填写目标、路径、语言、输出格式。
Review 策略决定哪些步骤需要用户确认。

SKILL 提示词怎么写

把 SKILL 提示词写成流程,而不是口号。

示例:

你是 Java 代码审计助手。
流程:
1. 先确认用户输入的审计范围。
2. 只读取指定目录,不主动修改文件。
3. 优先检查鉴权、反序列化、SQL 注入、路径穿越。
4. 每个风险必须给出文件路径、函数名、触发条件、修复建议。
5. 没有证据时不要输出风险。

输出格式:
- 风险等级
- 证据位置
- 原因
- 复现思路
- 修复建议

工具与 SKILL 如何组合

一个稳定的 SKILL 通常由三部分组成:

部分例子
任务策略“先确认范围,再分析入口,再输出风险表。”
可用工具文件读取、代码搜索、依赖检查、自定义扫描脚本。
知识上下文团队安全规范、历史漏洞、项目架构说明。

组合示例:

使用“Java 鉴权审计”SKILL。
挂载“团队安全编码规范”知识库。
只读分析 src/main/java/auth 目录。
输出 High / Medium / Low 风险表,并给出证据路径。

发布前检查

在团队内共享工具或 SKILL 前,检查:

  1. 名称和描述是否能被普通用户看懂。
  2. 是否限制了高风险操作。
  3. 参数是否足够明确。
  4. 失败结果是否可诊断。
  5. 输出格式是否稳定。
  6. 是否配套了知识库或示例任务。

排错

问题处理方式
Agent 不会选择工具优化工具描述和关键词,明确适用场景。
Agent 乱填参数收紧参数 Schema,增加枚举和范围限制。
工具结果无法继续分析返回结构化字段,不要只输出自然语言。
SKILL 输出不稳定固定流程、固定输出模板、减少开放式要求。
SKILL 调用了无关工具缩小工具列表,或在持续提示词中写明禁用边界。

下一步

完成自定义能力后,回到 Agent 使用教程 用真实任务验证它;如果执行中仍需要频繁纠偏,继续优化 人工干预与上下文修改 中提到的全局和局部上下文。