WPS多维表格AI功能的bug
今天偶然发现了多维表格上线了AI的功能。
正好在日常工作中有一些需要总结统计的活需要干。在使用过程中,发现了AI功能的Bug。在这个帖子下面做探讨。
在我的其中一项表格中,有一列是日期格式。
字段类型:日期
日期格式:YYYY/MM/DD,如2025/03/21
说明:不显示星期、不显示时间、无默认值。
这时我需要生成一列AI处理后的数据。
我的具体诉求如下:我需要将日期进行转化,将它们表达为月份/周次,这样的形式。
例如:2025/03/21,表达为:“3月第3周”。
WPS的AI功能列中,有三种可以选:WPS-AI、快速推理、深度思考。
根据介绍可以知道,除WPS-AI外,快速推理使用DeepSeek-V3模型,深度思考应该是使用DeepSeek-R1模型。考虑到体量,应该都是蒸馏版本的模型。
随后,我选择WPS-AI模型,自定义提示词,并且考虑了月初为周六周天的情况,将它们不算做一个完整的周而进行顺延。
Prompt全文如下:
请将日期格式 "YYYY/MM/DD" 转换为 "月份 + 第 X 周" 的形式。转换规则如下:
一周以星期一开始,星期日为一周的最后一天;
若日期所在月份的第一天为星期六或星期日,则该月第一周从当月的第一个星期一(即 3 日或之后)开始计算;
其他情况以自然周划分,即包含当月第一天的完整周为该月第一周;
示例 1:2025/01/01(星期三)应转换为 "1 月第 1 周";
示例 2:2025/02/01(星期六)和 2025/02/02(星期日)不属于 2 月第 1 周,2 月第 1 周应从 2025/02/03(星期一)开始计算,因此 2025/02/03 应转换为 "2 月第 1 周";
请严格按照上述规则处理所有日期,确保周次计算与实际公历自然周对齐,避免将周末单独作为起始周。
输入之后,我发现转化的的时候,有的列显示的是2月第2周,有的是二月第二周,有的甚至是February第2周。
起初我认为是模型的问题,因此我更换成了快速推理模型。
但是我发现,2025/03/06这个日期有的显示成3月第1周,有的显示成3月第2周。2025/03/12这个日期有的显示成3月第2周,有的显示成3月第1周。而且这种错误出现是随机的,没有规律可循。
我仔细查找后,发现自定义提示词竟然有输入字数限制,我的提示词并没有完全被显示进去。
因此,我修改了提示词,进行了精简,同时让AI自己避免相同日期产生不同结果的情况。
Prompt全文如下:
请将 "YYYY/MM/DD" 格式日期转为 "月份 + 第 X 周"。规则如下:
每周从星期一开始,星期日结束;
若月份首日为周六,首周从 3 日开始;若为周日,首周从 2 日开始;其他情况首周从 1 日开始;
计算日期距离首周起始日的天数,除以 7 后向上取整即为周次;
相同日期必须生成唯一结果,严格按规则计算。
重新运行之后,我发现问题并没有解决,尤其是2025/03/12这个日期,必定会有的显示成3月第2周,有的是3月第1周。
后来我去问了豆包这个问题,它修改了一版提示词给我。
Prompt全文如下:
请将 "YYYY/MM/DD" 转为 "月份 + 第 X 周"。规则:
每周从星期一开始,周日结束;
若月份首日为周六,首周从 3 日起;若为周日,从 2 日起;否则从 1 日起;
计算日期与首周起始日的天数差(含起始日),周次 = 天数差 ÷7 后向上取整;
相同日期必须输出唯一结果,严格按数学规则计算。
示例:2025/03/20 与 3 月 3 日相差 17 天,17÷7≈2.428→向上取整为 3,故为 "3 月第 3 周"。
这次出现了新的问题,例如"3 月第 3 周"这个表达,有的生成是"3 月第 3 周",有的是"3月第3周"。
是的,有空格。
所以我又进行了修改。
Prompt全文如下:
将 "YYYY/MM/DD"(年 / 月 / 日)转为 "X 月第 X 周"。规则:
每周从星期一开始,周日结束;
若月份首日为周六,首周从 3 日起;若为周日,从 2 日起;否则从 1 日起;
计算日期与首周起始日的天数差(含起始日),周次 = 天数差 //7 + 1(若天数差 = 0 则为第 1 周);
输出格式必须为紧凑的中文数字连接,禁止任何空格(如 "1 月第 1 周",而非 "1 月第 1 周");
严格按规则计算,相同日期必须生成唯一结果。
到这里,我所有的努力都已经做完。
最后问题依旧存在。
2025/03/06这个日期有的显示成3月第1周,有的显示成3月第2周。2025/03/12这个日期有的显示成3月第2周,有的显示成3月第1周。这种错误出现是随机的,没有规律可循。
我开始思考,是否是表格数据过多,超过了模型的输出限制。
于是,我将有问题的数据,重新单独生成。这时候,我发现2025/03/12这个日期,它能够自我修正。
但是2025/03/06依旧会出现显示不一致的情况。而且它似乎会根据其他列的生成结果来反推。(意思就是,如果上一列生成错了,下一列就也会错。)
不知道这个bug为什么会产生,产生的原因又是什么。
希望有人能够帮我解决这个问题。