Skip to content

fix: prompt 注入时间基准,修相对时间幻觉换算 - #157

Merged
guanlili merged 2 commits into
mainfrom
fix/time-anchor-prompt
Oct 14, 2026
Merged

guanlili merged 2 commits into
mainfrom
fix/time-anchor-prompt

Conversation

@guanlili

Copy link
Copy Markdown
Owner

Summary

用户实测(2026-10-14):审校把「下个月」建议改成「2025年10月」——模型以训练态的"现在"为锚换算相对时间,年份(2025→2026)与月份偏移(下个月=11月)双错。

  • 根因修复:build_system_prompt 追加【时间基准】行(今天日期,Asia/Shanghai),时间先后判断以此为锚;NUMERIC_REASONING_RULES 新增「相对时间表述本身不是错误,不要换算为绝对日期并改写;疑点按既有分级(logic/warning/空建议)说明与文中明确时间点的关系」。
  • 兜底已就位:该建议形态(引入新数字年月)在当前 main 会被 numeric_guard 确定性降级为人工核实(实测验证);截图事故能直达用户,叠加了生产部署滞后(部署版无 feat: 审校数值/人物一致性检查与审校选项渐进披露 #152/fix: 新增专名改写保护拦截 LLM 幻觉建议 #153 守卫)因素。本 PR 修根因,守卫是兜底。
  • 实测(改后同段文本 3 轮):不再出现换算替换;模型正确锚定 2026-10-14 算出「下个月为 11 月」,并发现真问题——报名截止 10月12日 早于演练起始(合理 logic/warning 空建议,提示核实),日期敏感逻辑推理完全符合预期。

Test plan

  • 新增单测:prompt 含今天日期锚 + 相对时间不改写规则;numeric/person 128 全过
  • Ruff 净;全量 pytest 1869 passed(含新用例)
  • 真实 API 复测 4 轮(3+1):无幻觉换算,日期锚定推理正确
  • CI 全绿后合并

PR#152 合入的 numeric_reasoning / person_reference 此前在评测集中
零覆盖,换模型/改 prompt 时对它们是盲测。新增 7 样本(当前 183):

- num-1 部分超整体矛盾(80万支出>50万收入,LLM 层双轮子串稳定)
- num-2 志愿服务5年6600余小时证据式提示(numeric_rule 确定性锚点)
- num-3/num-4 数据自洽与合理时长零误报
- person-1 同一人物 她→他 冲突(三轮 original 一致,收为 report 锚点)
- person-2 多人各自一致零误报;person-3 一致用「她」不按姓名猜性别

dev lite 全量基线:新维度 数值核查 2/2+2/2、人物一致性 1/1+2/2 全过;
整体 128/143 锚点、零误报 39/43(与 mini 历史基线的差异为 dev/lite
模型形态差异,mini 形态基线随本 PR 附 EVAL_CONFIG_ID=13 复测结果)。
用户实测(2026-10-14):「下个月」被建议改成「2025年10月」——模型
以训练态"现在"为锚换算相对时间,年份月份双错(应为 2026 年 11 月)。

- build_system_prompt 追加【时间基准】行:今天日期(Asia/Shanghai),
  时间先后判断以此为锚
- NUMERIC_REASONING_RULES 新增规则:相对时间表述(今天/下个月/明年等)
  本身不是错误,不要换算为绝对日期并改写;时间疑点按既有分级
  (logic/warning/空建议)说明与文中明确时间点的关系

实测(改后同段文本 3 轮):不再出现换算替换;模型正确锚定
2026-10-14 算出「下个月为 11 月」,并发现真问题——报名截止
10月12日 早于演练起始(合理 logic/warning 空建议提示核实)。

说明:错误建议直达用户还叠加了部署滞后因素——numeric_guard 已在
main(#152/#153),该建议形态(引入新数字年月)会被确定性降级;
生产部署旧版无守卫。prompt 修复的是根因,守卫是兜底。
@guanlili
guanlili merged commit 0d889a7 into main Oct 14, 2026
3 checks passed
@guanlili
guanlili deleted the fix/time-anchor-prompt branch October 14, 2026 11:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant