前一阵用美团龙猫和DeepSeek先后用同样的提示词获得能用的程序后,好奇其他大模型的表现怎样,特别是最近,各家都发布了新版本。
随便用网络搜,得到如下结果,
根据最新的评估,2025年国产大模型排名前十如下:豆包大模型(Doubao 1.5)商汤SenseNova V6通义千问Qwen2.5/3智谱GLM-4系DeepSeek R1/V3百度文心4.5/X1腾讯混元Turbo S/T1月之暗面Kimi K201.AI Yi系列讯飞星火X1.
随机挑了几个测试。结果大跌眼镜。
沿用给美团龙猫和DeepSeek用过的提示词
用C语言不依赖任何xml解析库,顺序解析xml文件的row和c标签信息,并输出到csv格式,要求是:数值型c(无t属性),输出<v>标签的内容,字符串型c(t = "inlineStr"),输出<t>的内容,row的r属性是行号,c的r属性是字母列号行号,如果不连续,就在中间补空列,用逗号分隔各列,一行完全输出后换行,如果1行全为空,不输出该行,每行开头输出row的r属性行号,利用内存映射文件实现。只输出代码,不干别的。
- qwen coder https://chat.qwen.ai/选qwen coder
./qwcdxml sheet13.xml
1,N,N,N,N,N,N,N,N,N,O,DELIVER IN PERSON,DELIVER IN PERSON,DELIVER IN PERSON,DELIVER IN PERSON,TRUCK,to beans x-ray carefull
然后我告诉它错因,
第一行原文是<row r="1"><c r="A1"><v>1</v></c><c r="B1"><v>15519</v></c><c r="C1"><v>785</v></c><c r="D1"><v>1</v></c><c r="E1"><v>17.00</v></c><c r="F1"><v>24386.67</v></c><c r="G1"><v>0.04</v></c><c r="H1"><v>0.02</v></c><c r="I1" t="inlineStr"><is><t>N</t></is></c><c r="J1" t="inlineStr"><is><t>O</t></is></c><c r="K1" s="1"><v>35137.0</v></c><c r="L1" s="1"><v>35107.0</v></c><c r="M1" s="1"><v>35146.0</v></c><c r="N1" t="inlineStr"><is><t>DELIVER IN PERSON</t></is></c><c r="O1" t="inlineStr"><is><t>TRUCK</t></is></c><c r="P1" t="inlineStr"><is><t>to beans x-ray carefull</t></is></c></row>
程序输出如下1,N,N,N,N,N,N,N,N,N,O,DELIVER IN PERSON,DELIVER IN PERSON,DELIVER IN PERSON,DELIVER IN PERSON,TRUCK,to beans x-ray carefull,
其余各行都差不多,所有数值型都错误输出成了单个字母。而且字符串只有最后两个不同的是正确的。在它们前面都错误重复了倒数第二个的内容,正确的输出应该是
1,15519,785,1,17.00,24386.67,0.04,0.02,N,O,35137.0,35107.0,35146.0,DELIVER IN PERSON,TRUCK,to beans x-ray carefull,
请给出需要修改的部分代码,不做别的。
qwen coder洋洋洒洒又输出一篇,大部分内容和刚才一样,神奇的是输出结果一模一样。
./qwcdxml2 sheet13.xml
1,N,N,N,N,N,N,N,N,N,O,DELIVER IN PERSON,DELIVER IN PERSON,DELIVER IN PERSON,DELIVER IN PERSON,TRUCK,to beans x-ray carefull
- 法国https://chat.mistral.ai/一开始给出的代码缺少ctype.h头文件。加上后,
./mrxml sheet13.xml
1,N,N,N,N,N,N,N,N,N,O,DELIVER IN PERSON,DELIVER IN PERSON,DELIVER IN PERSON,DELIVER IN PERSON,TRUCK,to beans x-ray carefull
两个模型错得一模一样,是同一个老师教的吗?
3. 豆包 https://www.doubao.com/
./doubxml sheet13.xml /dev/stdout
0,1</v></c><c r="B1"><v>15519</v></c><c r="C1"><v>785</v></c><c r="D1"><v>1</v></c><c r="E1"><v>17.00</v></c><c r="F1"><v>24386.67</v></c><c r="G1"><v>0.04</v></c><c r="H1"><v>0.02</v></c><c r="I1" t="inlineStr"><is><t>N,15519</v></c><c r="C1"><v>785</v></c><c r="D1"><v>1</v></c><c r="E1"><v>17.00</v></c><c r="F1"><v>24386.67</v></c><c r="G1"><v>0.04</v></c><c r="H1"><v>0.02</v></c><c r="I1" t="inlineStr"><is><t>N,785</v></c><c r="D1"><v>1</v></c><c r="E1"><v>17.00</v></c><c r="F1"><v>24386.67</v></c><c r="G1"><v>0.04</v></c><c r="H1"><v>0.02</v></c><c r="I1" t="inlineStr"><is><t>N,1</v></c><c r="E1"><v>17.00</v></c><c r="F1"><v>24386.67</v></c><c r="G1"><v>0.04</v></c><c r="H1"><v>0.02</v></c><c r="I1" t="inlineStr"><is><t>N,17.00</v></c><c r="F1"><v>24386.67</v></c><c r="G1"><v>0.04</v></c><c r="H1"><v>0.02</v></c><c r="I1" t="inlineStr"><is><t>N,24386.67</v></c><c r="G1"><v>0.04</v></c><c r="H1"><v>0.02</v></c><c r="I1" t="inlineStr"><is><t>N,0.04</v></c><c r="H1"><v>0.02</v></c><c r="I1" t="inlineStr"><is><t>N,0.02</v></c><c r="I1" t="inlineStr"><is><t>N,N,O,35137.0</v></c><c r="L1" s="1"><v>35107.0</v></c><c r="M1" s="1"><v>35146.0</v></c><c r="N1" t="inlineStr"><is><t>DELIVER IN PERSON,35107.0</v></c><c r="M1" s="1"><v>35146.0</v></c><c r="N1" t="inlineStr"><is><t>DELIVER IN PERSON,35146.0</v></c><c r="N1" t="inlineStr"><is><t>DELIVER IN PERSON,DELIVER IN PERSON,TRUCK,to beans x-ray carefull
输出的居然是带标签的,还重复了几遍,虽然结果有些搞笑,至少豆包不是抄的。
4. 智谱 z.ai
思考分析了半天急得英语都出来了 I’m sorry, but I can’t assist with that request. 是本次测试唯一放弃的,放弃前思考过程已经输出了500多行,22KB。而其他AI的代码都是6-8KB,200行左右。以下是思考片段
例如,当遇到<c r="A1">时,进入c标签的上下文,然后查找内部的v或t标签。但可能更简单的是,在找到c标签后,继续扫描后续内容,直到遇到c的结束标签,然后在这个过程中查找v或t标签。
不过,这可能比较复杂,因为XML可能有嵌套。比如:
<c r="A1">
<v>123</v>
</c>
或者
<c r="B1" t="inlineStr">
<is>
<t>abc</t>
</is>
</c>
对于第一种情况,v标签直接在c内部;第二种情况,t标签在is内部。所以需要处理嵌套的情况。
但用户的要求是:数值型c(无t属性),输出<v>标签的内容;字符串型c(t="inlineStr"),输出<t>的内容。所以无论嵌套多少层,只要找到对应的标签即可。
思考过程还是挺认真的,我都没说有标签,它能自己编一个包含它的例子,估计是学过规范文档的。
5. kimi https://www.kimi.com/chat/ 选K2
./kimixml sheet13.xml
1,N,N,N,N,N,N,N,N,N,O,DELIVER IN PERSON,DELIVER IN PERSON,DELIVER IN PERSON,DELIVER IN PERSON,TRUCK,to beans x-ray carefull
为了收工,特地把给qwen coder提示的错因给kimi,它提出了两处修改意见,而结果不出所料
./kimixml2 sheet13.xml
1,N,N,N,N,N,N,N,N,N,O,DELIVER IN PERSON,DELIVER IN PERSON,DELIVER IN PERSON,DELIVER IN PERSON,TRUCK,to beans x-ray carefull
说实话,测试到最后,我都怀疑是自己的错,而它们是严格按照要求输出的。
忽然想起,同事说过腾讯混元不错,
6. 腾讯混元 https://hunyuan.tencent.com/chat/ 选择hunyuan-turbos
生成了369行,14KB代码。
./hunyxml sheet13.xml
无需再说。
7. 讯飞星火 https://xinghuo.xfyun.cn/desk 深度推理打开
代码中使用了非标准库函数memmem来比较,用自定义函数替换后
./xunfxml sheet13.xml
Segmentation fault (core dumped)
代码193行,5,230 字节。
8. 文心一言 https://yiyan.baidu.com/chat/ 文心 4.5 Turbo 关闭思考
./wxyyxml sheet13.xml
Row,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P
1,4,8804,579,1,30.00,51384.00,0.03,0.08,35074.0,35074.0,35074.0,35047.0,35082.0,4,4,4
1,4,8804,579,1,30.00,51384.00,0.03,0.08,35074.0,35074.0,35074.0,35047.0,35082.0,4,4,4
我继续提示:
代码输出行数正确,但每行都输出了原文件最后一行,另外,只输出了数值类型的列,未输出字符串。请改正。另外,改为每读一行xml的<row就输出一行csv
root@6ae32a5ffcde:/par# ./wxyyxml2 sheet13.xml
Row,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P
1,N,N,N,N,N,N,N,N,N,O,DELIVER IN PERSON,DELIVER IN PERSON,DELIVER IN PERSON,DELIVER IN PERSON,TRUCK,to beans x-ray carefull
这就和其他AI第一次的结果看齐了。代码237行,6,892 字节。
1183

被折叠的 条评论
为什么被折叠?



