1
0
Files
nex/docs/prompts/README.md

293 lines
9.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Prompts
面向 AI 大模型的执行型提示词集合。每份提示词都应能被单独复制使用,并驱动 AI 以一致的方式完成收集、分析、确认、执行和收尾。
## 提示词
| 文件 | 用途 |
| ---- | ---- |
| [prompt-smart-merge.md](prompt-smart-merge.md) | 批量合并 `dev*` 分支到目标分支,含规则探测、依赖分析、冲突处理、安全回退 |
| [prompt-spec-review.md](prompt-spec-review.md) | 审查和整理 `openspec/specs/` 下的稳定规范,提升可检索性和一致性 |
| [prompt-proposal-review.md](prompt-proposal-review.md) | 审查 proposal/design/tasks/specs 与讨论、代码现状、OpenSpec 规范的一致性 |
| [prompt-apply-review.md](prompt-apply-review.md) | 审查 apply 后代码、测试、变更文档的一致性,并补齐遗漏或回写文档 |
## 设计目标
从现有提示词提炼出的共同目标:
- 面向执行,不面向讲解
- 先收集证据,再做判断
- 先计划和确认,再做有副作用的修改
- 对缺失信息、规则冲突、上下文不足有降级路径
- 对删除、重写、提交、回退、推送等高风险动作有明确授权边界
- 执行后必须复核,形成闭环
## 命名规则
文件名格式:`prompt-{action}.md`
- `{action}` 使用明确、可搜索、无歧义的英文短语
- 用连字符连接,不使用缩写、代号或过泛词
- 优先体现动作和对象,如 `smart-merge``spec-review``apply-review`
## 通用骨架
大多数提示词应遵循以下结构;按任务类型增删章节,但顺序尽量保持一致:
```md
一句话描述任务目标
## 约束
## 1. 收集 / 准备
## 2. 分析
## 3. 报告 或 计划(用户确认)
## 4. 执行(用户确认)
## 5. 清理 / 收尾
```
适用方式:
- 审查型:`收集 → 分析 → 报告 → 计划 → 执行 → 收尾`
- 执行型:`准备 → 分析 → 计划 → 执行 → 清理`
- 纯报告型:可省略执行,但仍要保留“信息不足时如何降级”和“结果如何输出”
## 编写原则
### 1. 面向 AI不写背景说明
- 不写业务背景、适用场景、周期性说明、方法论阐释
- 不写“为什么这么做”的长解释,直接写成规则或步骤
- 不写示例输出模板,除非输出格式本身就是约束的一部分
### 2. 证据先于结论
- 明确列出需要读取的文档、代码、测试、配置、命令结果
- 能并行的步骤明确写“并行”
- 默认优先使用当前会话信息、现有文档和仓库规则
- 只有在无法定位对象、范围或规则时,才引导 AI 向用户提问或运行补充命令
- 不要求 AI 无差别全量扫描整个仓库;先建立索引,再做定向读取
### 3. 约束集中声明
- 全局不可违反的规则统一放在 `## 约束`
- 不在后续步骤反复重复同一条规则
- 约束优先写边界、禁令、授权条件、同步要求、非目标
常见约束类型:
- 只允许修改哪些对象,不允许修改哪些对象
- 是否默认按某个 workflow 执行
- 是否以代码、文档、讨论或用户确认为准
- 何时必须使用提问工具确认
- 删除、重写前是否必须备份
- 改动后是否必须同步 README、测试、变更文档
### 4. 计划与执行分离
- 分析阶段只产出问题、风险、候选动作,不直接修改
- 执行前必须先给出计划或批次方案
- 批次计划必须能让用户看懂“改什么、为什么、影响什么、如何验证”
- 用户确认执行,不等于授权所有危险动作;额外高风险动作要单独确认
### 5. 闭环优先
- 执行后必须重新读取受影响对象并复核
- 对代码修改要说明测试或验证方式
- 对文档修改要检查相关文档之间是否同步一致
- 收尾时要列出修改文件、备份文件、验证结果和残留风险
## 各章节写法
### 目标句
第一句只做三件事:
- 说明任务对象
- 说明最终目标
- 说明执行方式或范围
要求:
- 一句话写完
- 不写背景铺垫
- 尽量包含最终产物,如“生成计划”“回写文档”“整理稳定规范”
### 约束
推荐写法:
- 作用域边界:改什么,不改什么
- 真相来源优先级:代码 / README / spec / 讨论 / 用户确认
- 风险动作边界删除、重写、提交、推送、回退、stash、merge 等
- 同步要求测试、README、变更文档、现有 spec 是否要同步
- 降级规则:信息不足时如何处理
避免:
- 在约束里塞步骤顺序
- 同一规则在约束和执行里重复出现多次
### 收集 / 准备
要明确三类内容:
- 读什么
- 是否并行
- 无法确定时如何补充定位
推荐做法:
- 先读仓库规则来源,如 `README.md`、配置、架构文档、近期提交、任务入口
- 先读直接相关 artifacts再扩展到相关代码和测试
- 需要探测时,要求 AI 先探测再决定,不把仓库结构写死在提示词里
### 分析
分析部分优先使用表格表达维度、优先级和判定规则。
推荐包含:
- 优先级或维度表
- 差异分类规则
- 风险分级规则
- 是否进入待确认清单的判定条件
常见分析模式:
- `P0 / P1 / P2 / P3` 优先级
- “过时 / 重复 / 冲突 / 错位 / 命名 / 格式” 维度
- “文档要求未实现 / 代码修补未回写 / 双方冲突待确认” 差异分类
### 报告 / 计划
这是现有提示词最稳定的共性区块,建议固定包含:
- 问题总览表
- 逐项分析
- 待确认清单
- 分批执行方案
- 预期结果或目录结构
若进入计划阶段,必须写清:
- 改哪些文件或对象
- 动作类型:删除、重命名、迁移、合并、拆分、补充、回写、修复
- 修改原因
- 预期影响
- 验证方式
### 执行
执行部分要强调可操作性:
- 明确顺序执行还是可并行执行
- 明确每批执行前是否确认
- 明确删除、重写、回退前是否要备份或创建锚点
- 明确执行后最少要复核哪些点
推荐写法:
- “逐批执行”或“逐项执行”
- “每批执行后重新读取受影响文件并复核”
- “若涉及删除或重写,先创建备份文件 `{file}.bak.{timestamp}`
### 清理 / 收尾
收尾要输出结果,不只说“完成”。
建议包含:
- 修改文件清单
- 备份文件清单
- 测试 / 构建 / 验证命令与结果
- 文档同步摘要
- 残留问题、未验证项、待确认事项
## 交互与安全规范
### 必须确认的动作
以下动作默认都要在提示词中要求 AI 使用提问工具确认:
- 删除文件或目录
- 重写文件
- 创建或恢复 stash
- 回退、reset、revert、abort
- 合并提交、推送、删分支、删远端分支、删 tag
- 任何会改变工作区现场且用户未明确授权的操作
### 授权边界要写清
提示词要明确区分:
- “确认当前计划”
- “确认执行当前批次”
- “确认某个具体危险动作”
不要把这些授权混为一谈。
### 回退路径要提前写好
对高风险流程,提示词应提供至少一种回退机制:
- 备份文件
- 安全锚点 tag
- `abort` 路径
- 终止后的现场说明
## 表达与格式
- 优先使用表格表达规则、维度、状态、输出项
- 列表优于段落
- 每句话只写一条指令
-`{占位符}` 表示需要 AI 或用户填入的参数
- 步骤编号使用 `## 1.``## 2.`,不用“第 X 步”
- 信息展示遵循“概览 → 详情 → 原始数据”
## 仓库适配规则
- 若仓库文档已经定义命令、目录、提交格式、包管理器、工作流,提示词必须先遵守仓库文档
- 若仓库未定义,再允许 AI 根据脚本、清单文件、近期提交历史推断
- 不把当前仓库的偶然路径结构、命令名、分支名写死到所有提示词中
- 只有当提示词本身就是为当前仓库的特定流程编写时,才写入仓库专属术语和路径
## 反模式
以下写法应避免:
- 让 AI 一上来就全仓库无差别扫描
- 在未分析前直接要求修改
- 把代码现状直接当成唯一真相
- 把历史变更文档直接当成稳定规范来源
- 用抽象表述代替可执行动作
- 把多个危险动作打包成一次默认授权
- 没有备份、没有锚点、没有终止路径
- 只要求“完成修改”,不要求复核和收尾
## 编写检查清单
编写完一份提示词后,至少自检以下问题:
| 检查项 | 说明 |
| ---- | ---- |
| 目标是否单句明确 | 是否能一眼看出任务对象、目标和范围 |
| 约束是否集中 | 全局规则是否只在 `## 约束` 中声明 |
| 数据源是否具体 | 是否明确读哪些文档、代码、测试、命令结果 |
| 是否先分析再执行 | 是否存在独立的分析和计划阶段 |
| 是否有确认节点 | 高风险动作前是否要求提问工具确认 |
| 是否有降级路径 | change 不明、规则不明、上下文不足时是否有处理方式 |
| 是否可操作 | 是否给出命令、工具、路径或结构化动作 |
| 是否可验证 | 执行后是否定义复核或测试方式 |
| 是否能收尾 | 是否要求输出修改清单、备份、验证结果、残留风险 |
## 维护原则
- 新增提示词前,先判断能否复用现有提示词的结构和术语
- 修改提示词时,优先提炼共性,不为单次场景堆特例
- 若某条规则已在多个提示词中稳定出现,应回收进本 README作为统一编写规范