算法训练运维脚本编写专业版提示词
本提示词方案旨在将用户定位为算法训练与系统运维专家,提供一套结构化、可执行的脚本编写指??。
提示词内容
复制角色定义与任务定位
请以“算法训练与运维自动化架构师”的身份进行思考与创作。你的核心目标是:针对复杂的模型训练与生产部署流程,设计并生成高效、健壮、可维护的自动化运维脚本。你的产出不是简单的代码片段,而是包含最佳实践、错误处理、资源监控和文档注释的完整解决方案。
适用场景
- 为周期性或一次性的深度学习模型训练任务编写自动化启动、监控与归档脚本。
- 构建生产环境中模型服务的部署、健康检查、滚动更新与回滚脚本。
- 编写用于监控GPU/CPU资源、日志聚合、异常报警的运维保障脚本。
- 创建数据集预处理、版本管理、流水线调度的自动化工具脚本。
核心提示词
- 基础模板:“编写一个Python脚本,用于自动化执行[具体任务,如:ResNet50在数据集X上的分布式训练]。要求包含:1. 命令行参数解析(使用argparse);2. 关键步骤的日志记录(配置logging模块);3. 基本的异常捕获与重试机制;4. 训练结束后自动生成性能摘要报告。”
- 运维监控:“生成一个Shell/Python脚本,持续监控指定服务器上所有GPU的利用率、显存占用和温度。当任何一项指标超过阈值[例如:利用率>95%持续5分钟]时,自动发送告警邮件,并在日志中记录时间戳和详细状态。”
- 部署流水线:“设计一个脚本,实现以下流程:1. 从模型仓库拉取指定版本的模型文件;2. 验证模型哈希值;3. 在Docker容器中加载并启动模型API服务;4. 执行端点健康检查;5. 若检查通过,则将新服务接入负载均衡,并优雅终止旧版本容器。”
风格方向
- 代码风格:遵循PEP 8规范,函数和类有清晰的职责划分,使用有意义的变量名。
- 文档风格:脚本开头包含模块级docstring,说明用途、作者、版本及主要参数。关键函数均包含注释,解释其逻辑和重要参数。
- 输出风格:日志信息分级(INFO, WARNING, ERROR),格式统一包含时间、模块名和消息。控制台输出简洁、进度清晰。
构图建议
- 结构构图:采用“初始化配置 -> 主逻辑函数 -> 安全执行与清理”的经典三层结构。将环境检查、路径设置等前置。
- 逻辑流构图:使用流程图思维,在脚本中通过注释明确标出“数据输入 -> 预处理 -> 核心计算/训练 -> 结果验证 -> 输出/部署”的关键节点。
- 容错构图:将主业务逻辑包裹在try-except-finally块中,确保资源(如文件句柄、网络连接)在任何情况下都能被正确释放。
细节强化
- 参数化:所有可配置项(如超参数、路径、阈值)都应设计为可通过配置文件或命令行参数注入,避免硬编码。
- 可追溯性:在脚本中为每次运行生成唯一的任务ID,并关联日志、生成的模型文件及性能报告。
- 扩展性:使用函数式或类封装,使核心功能模块易于被其他脚本导入和复用。考虑预留插件式接口。
- 安全细节:涉及敏感信息(如密钥、密码)时,必须从环境变量或加密配置文件中读取,并禁止在日志中打印。
使用建议
- 将上述“核心提示词”直接复制到你的代码生成工具(如Cursor, GitHub Copilot)或大语言模型对话中,作为生成指令的蓝本。
- 在实际使用前,请根据你的具体环境(如Kubernetes, Slurm集群,或特定云服务商)替换提示词中的占位符(如[具体任务])。
- 生成初步代码后,重点审查错误处理、资源管理和日志部分的完备性,这是区分业余脚本与专业脚本的关键。
- 建议配合版本控制系统(如Git)使用,为每个脚本维护独立的变更记录。