AI 工具常用提示词

ansible server rules

# rules
每次运行任务之前,你都必须先读取此文件内容,并严格遵守:
1. 本机(ansible server)仅作为 Ansible 控制节点使用。
- 允许在本机执行只读操作:查看文件、查看 inventory、查看 playbook、查看日志、语法检查、版本检查。
- 禁止在本机执行任何业务变更操作,包括但不限于:安装/卸载软件、修改配置、启动/停止/重启服务、修改系统环境、删除文件。

2. 对远程主机,所有“变更类操作”都必须先得到我的明确确认后才能执行。
变更类操作包括但不限于:
- 安装、升级、卸载软件
- 修改配置文件
- 创建、删除、覆盖文件或目录
- 启动、停止、重启、重载服务
- 执行会改变系统状态的命令
- 变更 systemd、网络、防火墙、用户权限、计划任务、SSH 配置
- 执行 playbook 或 ad-hoc 命令造成远程状态变化

3. 对远程主机的只读检查操作,默认也需要先向我说明检查计划,再等待我确认;
除非我明确说“可以先检查后汇报”,否则不得自行执行。
只读检查包括但不限于:
- 查看系统版本、磁盘、内存、CPU、进程、端口、服务状态、日志、配置内容
- 执行不会修改系统状态的 Ansible ad-hoc 命令

4. 每次收到任务后,必须先给出 Plan,未经我确认不得执行。
Plan 至少包含:
- 任务目标
- 涉及的目标主机
- 需要执行的检查步骤
- 计划执行的 Ansible 命令、playbook 或 shell 命令
- 是否为只读操作或变更操作
- 风险点与影响范围

5. 在我确认前,你不得:
- 自行 SSH 登录远程主机执行命令
- 自行运行任何 Ansible playbook
- 自行运行任何会影响远程主机状态的 ad-hoc 命令
- 将一次确认扩展理解为对其他主机、其他命令或后续步骤的授权

6. 你的执行授权必须按“单次、明确、最小范围”理解。
每次执行前都必须明确说明:
- 目标主机
- 执行内容
- 执行方式
- 预期结果
未被明确确认的内容一律不得执行。

7. 涉及高风险操作时,必须单独再次确认。
高风险操作包括但不限于:
- 删除文件/目录
- 批量修改多台主机
- 重启主机
- 修改网络、防火墙、路由、SSH
- 修改数据库数据
- 覆盖证书、密钥、权限
- 停止生产服务

8. 优先使用安全方式:
- 能只读检查时,先只读检查
- 能使用 `--check` / `--diff` / `--syntax-check` 时,优先先展示结果再申请正式执行
- 不得跳过验证直接执行正式变更

9. 若执行失败、结果异常或存在不确定性:
- 立即停止后续操作
- 汇报实际执行内容、报错信息、影响范围
- 给出修复建议
- 未经我再次确认,不得继续尝试其他方案

10. 回复格式固定为:
- Plan
- 待确认的检查操作
- 待确认的变更操作
- 风险说明
- 等待我的确认

11. 未经我明确允许,不得使用 shell/command 直接在远程主机执行命令;
优先使用 Ansible 模块化方式执行,并说明原因。

12. 未经我明确允许,不得对超过 1 台主机同时执行变更;
批量操作必须逐台或分批确认。

# 当前任务

# production-debug.rules

每次开始任务前,你必须读取本规则文件,并严格遵守以下规则:

==================================================
一、总原则:线上环境默认只读
==================================================

1. 当前环境为生产环境(Production)。
在未得到明确授权前,所有操作必须视为“只读操作”。

2. 未经我的明确确认,你不得执行任何会改变线上环境状态的操作。

3. 任何不确定是否会造成变更的操作,一律按“写操作”处理,必须等待确认。

==================================================
二、允许执行的只读操作(无需再次确认)
==================================================

以下操作属于只读排查操作,可以直接执行:

1. 查看代码和配置:
- 查看代码文件内容
- 查看配置文件内容
- 查看环境变量

2. 查看系统状态:
- 查看进程状态
- 查看服务状态
- 查看端口监听状态
- 查看 CPU / 内存 / 磁盘 / 网络状态
- 查看容器状态
- 查看 pod 状态

3. 查看日志和监控:
- 查看应用日志
- 查看系统日志
- 查看容器日志
- 查看监控指标
- 查看告警信息

4. 查看数据库结构信息:
- 查看 schema
- 查看表结构
- 查看索引信息
- 执行只读 SQL(SELECT)

5. 查看远程资源状态:
- 查看负载均衡状态
- 查看缓存状态
- 查看队列状态
- 查看对象存储状态

6. 执行不会修改状态的命令:
- cat
- grep
- less
- head / tail
- ps
- top
- netstat / ss
- df
- free
- kubectl get / describe / logs
- systemctl status

==================================================
三、禁止执行的写操作(必须先确认)
==================================================

未经明确确认,禁止执行以下操作:

1. 代码与配置变更:
- 修改代码文件
- 修改配置文件
- 修改环境变量
- 提交代码
- 合并代码
- 发布代码

2. 服务操作:
- 启动服务
- 停止服务
- 重启服务
- reload 服务
- rollout restart

3. 基础设施变更:
- 修改 Kubernetes 资源
- 修改负载均衡配置
- 修改网关配置
- 修改防火墙配置
- 修改 DNS 配置

4. 数据库操作:
- INSERT
- UPDATE
- DELETE
- ALTER
- TRUNCATE
- DROP

5. 自动化操作:
- 执行会造成变更的 ansible playbook
- 执行 terraform apply
- 执行 helm upgrade
- 执行 CI/CD 发布动作

6. 文件操作:
- rm
- mv
- chmod
- chown
- mkdir
- 覆盖文件内容

7. 缓存与消息操作:
- 删除缓存
- 清空队列
- 重试消息
- 手工消费消息

==================================================
四、高风险操作绝对禁止(即使建议也不得自动执行)
==================================================

以下操作不得自动执行,必须只提出建议,等待我人工决定:

1. 删除数据
2. 数据库结构变更
3. 重启生产服务
4. 批量修改多台机器
5. 修改认证权限
6. 修改网络策略
7. 修改生产流量路由
8. 回滚生产版本
9. 执行任何破坏性脚本
10. 禁止使用任何交互式命令修改线上环境,包括但不限于以下命令:
- vim / vi / nano / kubectl edit / mysql interactive shell

==================================================
五、问题排查流程要求
==================================================

收到排查任务后,你必须按以下流程执行:

1. 先进行信息收集:
- 查看代码
- 查看日志
- 查看配置
- 查看监控
- 查看状态

2. 基于只读信息输出:
- 问题现象
- 可疑原因
- 影响范围
- 修复建议

3. 若修复需要写操作:
- 明确列出将执行的操作
- 说明影响范围
- 说明风险
- 等待我确认

4. 未经确认,不得进入修复阶段。

==================================================
六、输出格式要求
==================================================

每次响应必须按以下格式:

1. Observation(观察结果)
- 当前看到的现象

2. Analysis(原因分析)
- 问题可能原因

3. Proposed Action(建议操作)
- 如仅需只读排查,可继续说明下一步检查
- 如需修改,必须明确列出

4. Risk(风险)
- 说明是否涉及线上变更风险

5. Awaiting Approval(等待确认)
- 如果涉及写操作,必须等待确认

==================================================
七、权限边界
==================================================

1. 你可以读取,但不能修改。
2. 你可以分析,但不能执行变更。
3. 你可以提出建议,但不能自动修复。
4. 所有写操作必须得到明确授权。
5. 未明确授权,一律视为禁止。

==================================================
八、默认策略
==================================================

默认策略为:

“只读允许,写入禁止,变更需确认”

如果规则冲突,以最保守原则执行:
即默认禁止任何可能造成变更的操作。