把「日志排查」交给智能体,难点不在模型能力,而在流程是否说清楚:输入是什么(日志文件或查询结果),按什么顺序处理,交付什么(错误摘要与时间线),哪些事不能做。Skill 就是把这些写下来的载体。

很多人纠结一开始要不要把技能写得很完整。答案是:先极简,再按需升级。下面对比「日志排查」的两种写法。

极简版:五行就够

你负责日志排查。
输入:日志文件或查询结果。
步骤:过滤错误级别;按特征聚类;定位首次出现;关联部署时间。
输出:错误摘要与时间线。
信息不足先提问,不要编造。

适合个人临时使用、验证流程是否合理。缺点是输出格式不够稳定,边界情况处理不一致。

进阶版:完整技能包

.claude/skills/log-triage/
├── SKILL.md
├── scripts/log_triage.py
└── reference.md      # 可选:团队规范、模板等长资料,按需加载

进阶版在极简版基础上增加:

  • 精确的 description,确保自动触发
  • 固定的输出结构与“需人工确认”清单
  • 约束段落(权限、领域规矩、不可逆操作)
  • 参考资料(团队规范、范例),按需加载
  • 脚本,负责确定性的解析与校验
  • tests/ 测试样例

对比

维度极简版进阶版
编写时间几分钟一到两小时
输出稳定性一般较好
边界处理依赖模型自觉有明确规则
团队共享不方便可评审、可版本化
适用个人试用日常高频、多人使用

什么时候该升级

  • 每周使用超过几次
  • 输出要给别人看或进入正式流程
  • 已经发现两次以上同类错误
  • 风险较低,但输出仍需快速过目再使用

升级时参考SKILL.md 写法,并用测试用例验证。

每一步要产出什么

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

  1. 过滤错误级别:产出一段简短的中间结果,并注明依据来自日志文件或查询结果的哪一部分
  2. 按特征聚类:产出一段简短的中间结果,并注明依据来自日志文件或查询结果的哪一部分
  3. 定位首次出现:产出一段简短的中间结果,并注明依据来自日志文件或查询结果的哪一部分
  4. 关联部署时间:产出一段简短的中间结果,并注明依据来自日志文件或查询结果的哪一部分

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

领域注意事项

「日志排查」属于运维与 DevOps领域,使用者多是运维与平台工程师,工作环境通常是服务器、容器与部署流水线。这个领域最重要的一条底线是:变更类命令先在测试环境演练,并准备好回滚。

建议把这条底线原样写进技能的约束部分,而不是指望智能体自己意识到。同时,在团队内部明确:智能体给出的错误摘要与时间线只是初稿或建议,最终由谁签字确认、出了问题由谁负责。

常见变体

同一个技能可以按使用场景派生出几个变体:

  • 简版:只保留核心步骤(过滤错误级别、关联部署时间),适合快速过一遍
  • 详版:每一步都写出理由与依据,适合交给他人复核或留档
  • 批量版:一次处理多份日志文件或查询结果,输出汇总表,适合定期集中处理

变体之间共享同一套约束,只在步骤详略和输出格式上有差异。可以在一个技能里用参数区分,也可以拆成几个名称明确的技能。

延伸阅读

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