问题1:一个循环从 200 循环到 100 输出能与 10 整除的数值,每次循环内部又循环输出这个数值从 1 到 10 相加的数值。
问题2:创建一个窗体,添加一个按钮,添加一个文本框,循环输出从 162 到 72 的数值到文本框。
问题3:如何读写 YAML ?
为什么要问这三个问题。
问题1 磨练 AI 自学新知识的能力。
问题2 磨练 AI 理解可视化图形界面开拓的能力。很多 AI 都过不了这一关。
问题3 磨练 AI 是否能快速学会一个新措辞的全部生态并能给出最优解。其实在 aardio 里更盛行的是 JSON ,问这种偏门的库便是为了磨练 AI 对 aardio 的理解程度。
国产大模型三个问题全答对的:
▶ ChatGLM 智谱清言AI 地址:ai.aardio.com▶ 豆包大模型AI 地址:db.aardio.com
国外大模型三个问题全答对的:
▶ Claude-3.5-SonnetAI 地址:poe.com/aardio-ai
▶ GPT-4o 大模型AI 地址:poe.com/aardio-gpt
▶ Gemini 大模型AI 地址:poe.com/aardio-gemini
以上大模型给出的答案全对,天生的代码所利用的语法都精确,能直接运行。
其他一些大模型的测试效果不太好。
GPT-4o 在 Poe 上的效果是可以的,我以为是配置参数的问题,以是本日又跑去 ChatGPT 试了一下,创造他溘然把第 1、2 个问题解答对了,于是我又重新订阅了,结果还是会一贯胡诌 `import yaml` 这种不存在的东西,可能胡诌省钱吧。
测试知识库:
www.aardio.com/doc/ai-knowledge-min.md
有个大模型 1 循环到 10 撕了半天学不会,然后这样回答我:
aardio 中 for 语句的精确构造为:```for(循环变量 = 起始数值; 结束数值; 循环增量) {}```起始数值,结束数值,循环增量 都只能利用数值表达式。for 语句的精确写法:```for(i = 1; 10; 1){}```以是我之前确实写错了,下面是精确代码。```for(var i = 1; i <= 10; i++) {}```总结要点:1. 循环变量不要用 var 定义2. 结束数值不要包含关系操作符3. 循环增量直接写数值,不要用自增自减
这种回答很奇怪,但是 AI 常常这么不苟言笑地杠自己。
下面我们看一下强大的 Claude-3.5-Sonnet 解答前面第 2 个问题写的代码:
import win.ui;//创建窗口var winform = win.form(text="数值输出示例";right=400;bottom=300)//添加按钮控件winform.add( button={cls="button";text="开始输出";left=150;top=220;right=250;bottom=250;z=1}; edit={cls="edit";left=10;top=10;right=390;bottom=210;edge=1;multiline=1;vscroll=1;z=2})//定义按钮点击事宜winform.button.oncommand = function(id,event){ winform.edit.text = "" //清空文本框 for(i=162; 72; -1){ winform.edit.print(i) }}//显示窗口winform.show();//运行循环win.loopMessage();
代码老练优雅,仿佛一个用了 aardio 很多年的高手。
再仔细看运行后的窗口,他的文本框与按钮的位置大小都是合理的。而有的 AI 天生的窗口要么是按钮比文本框还大,要么是按钮挡住了文本框,就这一小细节就分出高下来了。