如果你在服务器、容器与部署流水线里反复做Dockerfile 优化,可以考虑把经验沉淀为一个 Skill:写清触发条件、步骤、输出格式和边界,让智能体代劳重复部分,人只负责把关。

通用版的「Dockerfile 优化」能覆盖大多数情况,但每个团队都有自己的习惯。下面列出最值得调整的几个地方。

可调参数一览

参数默认可以怎么改
输出格式优化后的 Dockerfile 与对比改成团队模板、表格或固定小标题
详略程度适中给领导看的精简版 / 给执行者看的详细版
语气风格中性按团队文风、对外或对内调整
严格程度标注不确定项提高到“任何推断都要给依据”
步骤4 步增加团队特有的检查步骤

改写示例:description

通用版:

缩小镜像体积、利用缓存并减少安全隐患。当用户提到Dockerfile 优化时使用。

团队版(示意):

按本团队规范进行Dockerfile 优化:先读取 reference.md 中的模板与术语表,再处理Dockerfile。当团队成员提到Dockerfile 优化或上传相关材料时使用。

改写示例:增加团队步骤

## 步骤
1. 分析层结构
2. 合并与排序指令
3. 采用多阶段构建
4. 用非 root 用户运行
5. 对照 reference.md 中的团队检查表逐项确认
6. 按团队模板输出,并在开头写一句结论

按角色出多个版本

同一个技能可以为不同角色准备变体:新人版写得更细,并解释每一步的理由;熟手版只保留关键检查点。也可以在一个技能里用参数区分,例如“简版/详版”。

定制时别丢掉的东西

  • 领域底线:变更类命令先在测试环境演练,并准备好回滚
  • 缺信息先提问
  • 需人工确认清单
  • 风险较低,但输出仍需快速过目再使用

改完后记得重跑测试用例,团队共享时参考团队落地。

准备一份好范例

在技能的参考资料里放一份你认可的优化后的 Dockerfile 与对比范例,往往比多写十条规则更有效。好范例应当:

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

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

每一步要产出什么

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

  1. 分析层结构:产出一段简短的中间结果,并注明依据来自Dockerfile的哪一部分
  2. 合并与排序指令:产出一段简短的中间结果,并注明依据来自Dockerfile的哪一部分
  3. 采用多阶段构建:产出一段简短的中间结果,并注明依据来自Dockerfile的哪一部分
  4. 用非 root 用户运行:产出一段简短的中间结果,并注明依据来自Dockerfile的哪一部分

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

延伸阅读

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