怎么把AI搞奔溃
欢迎转载,请支持原创,保留原文链接:blog.ilibrary.me
本文的目的主要是想搞清楚AI擅长什么,不擅长什么。
标题叫”怎么样能把AI搞奔溃”,其实是为了找出AI不擅长的地方。
我会做一些实验,把AI不擅长的地方找出来,同时作为对比分析,会做一些配套实验,找出AI擅长的地方。
先说结论:
- 对css144.txt转换成json没有问题
- 对cs288.txt转换成json, 容易生成不全,容易乱,容易截断。
- 数行数css144和css288都不行。
- 让AI数numbers.json有多少个数,数不清楚。数有多少个奇数多少个偶数,也搞不清楚。并且,数总数的时候, chatgpt, doubao, deepseek都认为有117个,答案错得惊人的一致。
- 能精准定位语法错误。找css出错的行和位置,非常准。行号不会.
- 找最大值最小值很准。
- 容错能力强,错别字不影响AI的理解。
- 能根据css的class计算它的font-size等属性,本质上还是上下文概率关联, 不属于计算。
AI不擅长的地方:
- 不擅长数数.总是数错。
- 给元素编号能缓解这个问题。如果数量太多,输出长度超过5k,那么编号就会开始出现幻觉或者截断。
- 如果你只让它编号,不让它输出中间结果,让它直接告诉你最终数量,它也会出错。
- 不擅长生成长内容.
- 不擅长记中间结果.
- 不会做流式处理。
- 也不擅长分段处理。让它取第1-100, 101-200, 它容易出错。
- 不擅长生成很长的内容。生成的内容长了就乱了,瞎生成,或者说,开始按它模型里的概率来生成了, 而不是严格按给定的内容来生成。 可能与生成长度限制有关系,超过5000的部分容易乱。
- 可以在同一个session里面,分几步来生成。
- 没有记忆,不会自己记录中间值:
- 对输入的原始数据查询处理比较擅长,中间生成的数据必须让它打印出来它才能正确处理,它不会在大脑里记忆中间结果。
- 上下文对结果影响很大,也就是中间输出会影响比较大。
- 所以,一个比较实用的方法是把某个任务在同一个session里面,问几个问题,取最后一个问题的回答作为答案,其它的作为中间结果的记录。有点CoT的味道.
- 会截断内容,不保证完整性和正确性.
- 比如你让AI输出1到5000的数组,它可能直接在某个整数还没有输出完成的时候就截断了。1234,可能输出1以后就中断了。
AI擅长的地方:
- 对规则理解能力非常强
- 纠错, 检查错误
- 查询
- 打标签
- 擅长对单一的数据结构进行处理。
- 摘要
一些Best Practice:
对照实验:
- OpenAI, doubao, deepseek一起对比
- css -> json转化
- json -> yaml转化
- 数css类名数量
- CoT让AI切割,每次数一个区间范围内的个数,然后一次内推.
- 数json里key的数量
- 数css记录行数
- 数json记录行数
- 查询css里某个class的值
- 查询json里某个key的值
- 查询css里最大的值和对应的key
- 查询json里最大的值和对应的key
- 列出css里面所有值大于100的记录
- CoT对这些实验的影响
- 让doubao/deepseek/chat gpt抛不理解对话内容的错误。
- 检查css错误
- 检查json错误
- 对比144条记录的效果。
- 定位出错的行号. AI搞不定
把AI搞奔溃的例子
- 让AI数数 ~~~ 下面的css,值大于800的有多少条?告诉我最终结果就可以了。 # 不让它生成中间结果,它就瞎数数