Files
2026-09-19 12:54:45 +08:00

36 lines
1.8 KiB
Markdown

# Spec: prompt-strategies
## ADDED Requirements
### Requirement: 难度递增的内置提示词级别
系统 SHALL 内置至少 3 级难度逐级升高的提示词策略:L1 直接指令(仅要求检测代码变更中的错误);L2 增强指令(要求指出错误类型与具体行号);L3 增强指令(在 L2 基础上要求给出修复建议)。策略从简,MUST NOT 涉及 RAG、检索增强等重型策略。L4+ 允许后续扩展但本期非必需。
#### Scenario: 按级别渲染提示词
- **WHEN** 用同一份 diff 分别渲染 L1/L2/L3 模板
- **THEN** 三份提示词各自符合级别特征且完整可发送
### Requirement: Jinja2 模板配置化
每级提示词 SHALL 以 Jinja2 模板配置化存储,模板携带策略/级别标识、版本号与变量 schema。
#### Scenario: 模板元数据完整
- **WHEN** 读取任一内置模板
- **THEN** 其包含策略/级别标识、版本号与变量 schema
### Requirement: 模板版本管理与在线编辑
模板 SHALL 可在 Web 配置页面在线编辑;保存即生成新版本号;历史实验记录始终绑定其执行时的模板版本;已存在版本只读、MUST NOT 被覆盖。用户可新增自定义提示词模板。
#### Scenario: 编辑生成新版本
- **WHEN** 用户在配置页编辑一个已有模板并保存
- **THEN** 系统生成新版本号,旧版本保持只读,历史实验仍显示其执行时的旧版本内容
#### Scenario: 新增自定义模板
- **WHEN** 用户在配置页新增自定义模板
- **THEN** 新实验可选用该模板/新版本
### Requirement: 统一渲染接口
模块对外 SHALL 只暴露 `render(strategy_id, version, context)` 渲染接口。
#### Scenario: 经统一接口渲染
- **WHEN** 调用方以 strategy_id、version 与上下文调用 render
- **THEN** 返回按指定版本模板渲染后的提示词文本