小秦哥 发表于 6 天前

AI都深度思考了,人却不思考了...

https://img2024.cnblogs.com/blog/202192/202504/202192-20250420120004329-636936057.png在相识Fastjson编解码Integer数字时,曹小三同学让DeepSeek“深度思考”生成了一些testcase。下面是DeepSeek提供的JUnit5测试代码。
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONException;

import org.junit.jupiter.api.Test;
import static org.junit.Assert.*;

public class IntegerCodecTest {

    @Test
    void testNullValue() {
      String json = "{\"num\": null}";
      Model model = JSON.parseObject(json, Model.class);
      assertNull(model.num);
    }

    @Test
    void testInvalidFormat() {
      String json = "{\"num\": \"abc\"}";
      assertThrows(JSONException.class, () ->
                JSON.parseObject(json, Model.class)
      );
    }

    static class Model {
      private Integer num;
      // getter/setter
    }
}其中,小三在运行testInvalidFormat时,发现assertThrows不见效————junit断言JSON.parseObject(json, Model.class)会抛出JSONException,实际却没有抛出。
小三就反馈给DeepSeek。
DeepSeek开启了“一本正经地颠三倒四”模式。
https://img2024.cnblogs.com/blog/202192/202504/202192-20250420120030593-238982020.png小三把这个环境讲给同事赵小四,小四自信地解释道“这是Fastjson在兼容性方面做得好。”
小三、小四的师傅工匠李得知后,一眼发现了问题。原来,上面JUnit代码中,DeepSeek省略了Model类的 getter/setter,加上就好使了。并通过运行testInvalidFormat给两个小伙演示所抛出的异常stacktrace。
点击查看代码com.alibaba.fastjson.JSONException: parseInt error, field : num

    at com.alibaba.fastjson.serializer.IntegerCodec.deserialze(IntegerCodec.java:101)
    ...
    at com.alibaba.fastjson.JSON.parseObject(JSON.java:588)
    at com.emax.IntegerCodecTest.testInvalidFormat(IntegerCodecTest.java:36)
    ...
    at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
Caused by: java.lang.NumberFormatException: For input string: "abc"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:580)
    at java.lang.Integer.parseInt(Integer.java:615)
    at com.alibaba.fastjson.util.TypeUtils.castToInt(TypeUtils.java:995)
    at com.alibaba.fastjson.serializer.IntegerCodec.deserialze(IntegerCodec.java:93)https://img2024.cnblogs.com/blog/202192/202504/202192-20250420121148482-1119768242.png

小三、小四这才明白这个技能点:
Fastjson对于非Integer数字,是无法反序列化为Integer或int数字的,会抛出异常。


【结语】现在,AI 代码生成工具如 Copilot、Cursor 等,能基于简单提示快速输出代码片段,甚至完成复杂功能模块,其 “思考” 速度与覆盖范围令人惊叹。但不少程序员却因此过度依赖,遇到问题便直接让 AI 生成代码,不再主动分析需求、构思算法逻辑,也不深入理解代码背后的原理与设计模式。
比如开辟数据库连接模块时,不思考怎样优化连接池配置,直接利用 AI 生成的默认代码;设计复杂业务流程,不进行架构规划,盲目套用 AI 提供的办理方案。这不仅导致代码质量乱七八糟,也让程序员逐渐丧失独立编码与办理问题的能力。AI 虽强大,但它的 “思考” 是基于数据练习,无法替代程序员对业务的理解、对技能的创新探索。
当人放弃思考,就如同失去魂魄的躯壳,难以形成独特见解,创造力也会被逐渐磨灭。长此以往,人类将在思维的 “温床” 中丧失进步的动力。唯有保持主动思考,将 AI 作为辅助工具,才能真正发挥其价值,成为良好的开辟者。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: AI都深度思考了,人却不思考了...