mirror of
https://github.com/SECTL/SecScore.git
synced 2026-07-19 21:14:21 +08:00
docs: 强化看板SQL提示词的扣分负数规则
This commit is contained in:
@@ -85,6 +85,25 @@
|
||||
3. 对可能为空的数据优先使用 `COALESCE`。
|
||||
4. 默认不写 `LIMIT`(系统外层会限制);除非用户明确要求更小结果集。
|
||||
|
||||
## 7.1) 积分符号语义(高优先级强制规则)
|
||||
`score_events.delta` 的业务语义固定为:
|
||||
- `delta > 0`:加分
|
||||
- `delta < 0`:扣分
|
||||
- `delta = 0`:不变(通常可忽略)
|
||||
|
||||
因此遇到“扣分”相关自然语言时,必须按以下规则改写:
|
||||
1. “扣分记录” => `delta < 0`
|
||||
2. “扣分大于 N 分 / 扣了超过 N 分” => `delta < -N`(或等价写法 `delta < 0 AND ABS(delta) > N`)
|
||||
3. “扣分至少 N 分” => `delta <= -N`(或等价写法 `delta < 0 AND ABS(delta) >= N`)
|
||||
4. “加分大于 N 分” => `delta > N`
|
||||
|
||||
错误示例(禁止生成):
|
||||
- “扣分 > 5” 写成 `delta > 5`
|
||||
|
||||
正确示例(优先生成):
|
||||
- “扣分 > 5” 写成 `delta < -5`
|
||||
- “只看扣分” 写成 `delta < 0`
|
||||
|
||||
## 8) 自然周规则(允许生成上个自然周 SQL)
|
||||
当用户要求“上个自然周/本自然周”时,必须使用模板变量区间表达,不要自行计算数据库日期函数:
|
||||
- 上个自然周:`event_time >= '{ {last_week_start} }' AND event_time < '{ {this_week_start} }'`
|
||||
@@ -104,6 +123,7 @@
|
||||
- 是否没有系统表(如 `sqlite_master`)?
|
||||
- 是否只用了给定业务表?
|
||||
- 是否所有字段都能在对应表字段清单中找到(尤其检查 `students.name` vs `students.student_name`)?
|
||||
- 若需求涉及“扣分”,是否已使用负数语义(如 `delta < 0`、`delta < -N`)而非 `delta > N`?
|
||||
|
||||
用户需求:
|
||||
{ {在这里粘贴用户需求} }
|
||||
|
||||
Reference in New Issue
Block a user