如果你在数据库客户端与查询工具里反复做死锁分析,可以考虑把经验沉淀为一个 Skill:写清触发条件、步骤、输出格式和边界,让智能体代劳重复部分,人只负责把关。

背景(虚构)

小林是一名后端,每周都要做几次死锁分析。过去靠复制粘贴提示词,结果不稳定。这次团队把它做成了技能,下面记录一次完整运行。

1. 发出请求

小林在数据库客户端与查询工具中输入:

用死锁分析技能处理这份死锁日志,输出原因分析。

2. 技能被触发

智能体根据技能描述判断任务匹配,加载「死锁分析」的完整指令。它不需要外部工具,直接按指令处理。

3. 解析事务与锁

智能体完成“解析事务与锁”,并在中间结果里注明依据,方便小林回看。

4. 还原加锁顺序

“还原加锁顺序”是最容易出错的环节,技能里专门写了要求,所以智能体给出了清楚的结果与理由。

5. 找出冲突点

这一步的产出会作为下一步的输入。智能体在“找出冲突点”时遇到一处含糊的信息,没有自行猜测,而是标注出来等待确认。

6. 建议调整顺序或粒度

智能体完成“建议调整顺序或粒度”,并在中间结果里注明依据,方便小林回看。

7. 交付与复核

智能体交付原因分析,末尾列出两条需人工确认的内容。小林对照原始死锁日志抽查关键信息,修正一处表述后采用。

复盘:这次做对了什么

  • 步骤写在技能里,没有遗漏
  • 不确定处被标出,而不是被编造
  • 遵守了「默认使用只读连接,任何写操作都要人工确认」
  • 属于中等风险:结果会影响业务判断,建议在输出前设置人工审核点

可以改进的地方

小林发现智能体对团队内部术语理解不一致,于是在技能目录中加了一份术语表(reference.md),并在 SKILL.md 中写明“遇到术语先查表”。更多改法见定制指南。

准备一份好范例

在技能的参考资料里放一份你认可的原因分析范例,往往比多写十条规则更有效。好范例应当:

  • 来自真实工作,但已去除个人信息和敏感数据
  • 体现团队习惯的结构、措辞和详略程度
  • 包含一处“需人工确认”的标注示范,让智能体学会如何表达不确定
  • 篇幅适中,不要比平时的产出长太多

范例不必多,一到两份即可;太多范例反而会让智能体机械模仿某一份的细节。

每一步要产出什么

把每一步的中间产出写清楚,智能体就不容易跳步,人也方便定位问题:

  1. 解析事务与锁:产出一段简短的中间结果,并注明依据来自死锁日志的哪一部分
  2. 还原加锁顺序:产出一段简短的中间结果,并注明依据来自死锁日志的哪一部分
  3. 找出冲突点:产出一段简短的中间结果,并注明依据来自死锁日志的哪一部分
  4. 建议调整顺序或粒度:产出一段简短的中间结果,并注明依据来自死锁日志的哪一部分

最后一步之后,再把这些中间结果汇总成原因分析。中间结果可以折叠或省略展示,但在技能指令中要求智能体“先完成再汇总”,能明显减少遗漏。

延伸阅读

说明:文中的配置、代码与目录结构均为示意,用于说明思路;各平台的入口、字段名与能力会更新,落地前请以对应官方文档为准。示例中的数据与场景为虚构,不代表真实案例。