一句话定义:模型的时间感知(temporal awareness),指模型能否知道自己“此刻”处在日历上的哪一天,并据此理解“今天”“上个月”“最近”这类相对时间词。
模型没有时钟。它关于时间的全部印象,都来自训练语料(training data)里留下的时间痕迹:新闻的发布日、文档的落款、帖子的时间戳。所以它的“现在”,本质上是训练截止日(knowledge cutoff)那一天。可以这样理解:一个人被关在没窗没表的房间里,屋里只有一摞旧报纸。他知道报纸上每天发生了什么,却不知道读报的这一刻是几点。你问他“今天有什么新闻”,他会认真地把最后一张报纸当成今天的。
具体会这样露馅:问“今天是几号”,它可能给一个截止日附近的日期,也可能直接编一个;问“最近出了什么新东西”,答案停在截止日前;“上个月”“明年”会被悄悄解析成相对训练截止,而不是相对真实当下;语料里当时还属未来的年份,会让它说出“预计将于……”这种早就过期的口吻。
要区分几个容易混淆的概念:
| 概念 | 回答的问题 | 能否靠提示词解决 |
|---|---|---|
| 时间感知 | 模型以为“现在”是哪天 | 能,注入当前日期即可 |
| 知识截止 | 模型最晚知道到哪天 | 不能,只能靠检索补 |
| 数据时效 | 检索回来的资料有多新 | 不能,靠数据管道治理 |
另外,位置编码(positional encoding)里的“位置”是序列内 token 的先后顺序,跟日历时间无关,不要混为一谈。
工程上怎么补,几条经验:
1. 在系统提示(system prompt)里注入当天日期,写明时区,用明确格式(ISO 日期 + 星期几),比“今天是2025年某月某日”这种模糊说法更稳。
2. 对“最新”“最近”这类词做查询改写,把相对时间锚成绝对区间,再交给检索。
3. 需要真实时事的场景,走检索或工具调用,别指望参数里的记忆。
4. 输出侧加校验:涉及日期的回答要求给出来源,或明确说“不确定”。
5. 评测集里加时间用例,覆盖跨年、时区、“今天是不是周末”。
对普通人:别问聊天框“今天几号”,看手机;涉及最新政策、价格、赛程时,先确认它有没有联网检索,没有的话就把回答当历史资料看,具体以官方页面为准。
对从业者:日期注入是成本极低、收益极高的一行改动。但请记住,它只修正模型的“自我定位”,不修正模型的“知识边界”——后者得靠检索。
