你们都用哪个AI问答啊?我现在主要用豆包,感觉挺接地气的,但有时候回答有点太啰嗦了

# 一个老程序员用AI工具的这两年

从一次线上故障讲起。

上周四晚上,线上出了个怪问题:用户下单成功,库存扣减了,但积分没到账。我排查了三个小时,看日志、看代码、查数据库,怎么都找不到原因。后来把日志和代码片段发给豆包,它看了几秒钟就回我:“你这里用了本地事务,但库存和积分是两个服务,库存那边已经提交了,积分这边没提交就会回滚。你这个分布式事务方案有问题,补偿事务在某些异常情况下没有正确触发。”

我一看代码,还真是。那天晚上要是没发现这个bug,第二天又得写故障报告了。

这两年用AI工具下来,我的感受是:这东西确实能干活,但用得好不好,完全看怎么用它。

2022年底那会儿,我开始用ChatGPT。那时候国内的选择还不多,ChatGPT 3.5算是第一个让我觉得有点意思的。问个技术问题,它能给你解释清楚,有时候还能给点代码。3.5的话,简单的技术问题能对付,但代码生成经常出问题——看起来像那么回事,跑起来就报错了。

我有一次让它写一个Go的并发控制代码,它给我整了一段带锁的代码,逻辑看起来没问题,但实际跑起来有死锁风险。后来还是我自己改的。

而且3.5有个问题,它的知识库有时候会过时。比如我想查Go 1.22新出的range over int功能,它一开始跟我说Go不支持这个,我追问了两轮它才说知识库没更新,建议我去看官方文档。这点挺烦的,你得时刻防着它给你过时信息。

后来用GPT-4,情况好很多。代码质量明显上一个台阶,复杂点的逻辑也能理解。但也有问题——高峰期响应太慢,等个一两分钟是常态。有时候问个急问题,它还在那儿转圈,我这边代码已经改完了。

而且GPT-4有段时间特别喜欢“装傻”。就是你问一个具体的技术问题,它能给你绕出一堆正确的废话,看似说了很多,但就是没回答到点子上。你要是不接着追问,它能一直糊弄下去。

Claude我是后来才开始用的。公司内网有人推荐,说写代码特别稳。我试了试,代码生成质量确实比GPT-4好一些,特别是在结构规范、命名这些细节上。但Claude有个让我不太习惯的地方——它太喜欢“解释”了。

我问一下“Go语言里怎么判断map里有没有某个key”这种问题,它能给我写出一大段map底层实现原理的分析,从哈希冲突讲到数组索引,最后才告诉我用“value, ok := m[key]”。我要的是这一行代码,你跟我说这么多原理干嘛?

当然,如果你是在学习某个技术原理,Claude这种风格还挺适合的。但我平时写代码,大多数时候只需要一个确定的答案,不想听原理课。

国内AI工具多了之后,我试过豆包、通义千问、文心一言这几个。用下来豆包用得最多,主要原因是它对中文技术文档的理解比较到位。

我经常要查各种技术问题,有时候搜英文博客,有时候看中文文档。用英文问ChatGPT,搜到的资料质量确实高一些,但有时候用中文问豆包,能找到一些国内博主写的更接地气的解决方案。比如之前排查一个MySQL死锁问题,搜英文资料看了半天没搞明白,后来用中文在豆包上搜到一个博客写的踩坑经历,跟我遇到的情况一模一样,瞬间就懂了。

但豆包有个很大的问题,就是回答太啰嗦了。

我内心是崩溃的。我就想知道这个参数设多少秒合适,你跟我说这么多原理干啥?

后来我学聪明了,问问题的时候尽量把范围限定清楚。比如不问“怎么做”,而是问“用一行代码怎么实现”。这样豆包的回答会简洁很多。但有时候它还是会不自觉地展开讲原理,这时候我就会再补一句:“只需要代码,不需要解释。”

还有一点,豆包有时候会“过度理解”你的问题。我问一个很简单的问题,它会脑补出一堆我根本没问的上下文,然后给我一个特别复杂的答案。你说简单点不行吗?

Copilot是这两年用得最多的辅助编程工具。它跟IDE集成,写代码的时候会自动给你补全建议。有时候它的建议还挺准的,特别是写一些样板代码,比如RESTful接口的handler、数据库的CRUD操作,能省不少打字的时间。

但Copilot有个问题,就是它太“殷勤”了。有时候你不需要建议,它还是不停地弹出来;有时候它会理解错你的意图。比如你正在写一个变量名,它突然给你来一段完全无关的代码块,你得按好多次ESC才能关掉。

而且Copilot有时候会“偷懒”。你给它一个复杂的业务需求,它总是给你最简单的实现,完全不管你之前已经说过的各种条件。比如你前面刚说了要加权限校验、参数验证、异常处理,结果它给你来了一段什么都没写的空函数。

这种情况我已经遇到很多次了。现在我学乖了,写代码之前先自己把逻辑理清楚,然后再让Copilot帮我补全细节。你不能完全依赖它,它就是个辅助工具。

通义千问我也用了一段时间。写代码的能力比豆包强一些,但对话体验上总感觉差点什么。可能是因为我用豆包已经用习惯了,切换到通义千问总觉得哪里不得劲。

文心一言的话,我用得不多,主要是在它刚发布的时候试了试。那时候感觉跟GPT-3.5差不多水平,后来没怎么继续用。

说了这么多,总结一下我的使用心得。

第一,AI工具是辅助,不是替代。它能帮你查资料、给建议、写样板代码,但核心的业务逻辑、架构设计还是得你自己想。把它当搜索引擎用,别当专家用。

第二,会问问题比会用工具更重要。同一个问题,问得好和问得不好,得到的结果可能差很远。尽量具体,尽量限定范围,别让AI有机会给你绕弯子。

第三,多试几个工具,找到最适合自己的。每个工具都有自己的脾气和擅长领域,多用用才知道哪个最顺手。

第四,保持怀疑态度。AI有时候会给你自信满满的错误答案,特别是涉及到最新版本的技术、或者比较小众的领域,一定得自己验证一下。

我现在是豆包+Claude+Copilot组合着用。日常查资料、问技术问题用豆包;写重要代码、或者需要理清思路的时候用Claude;写代码的时候开着Copilot让它给我补全。三个工具各司其职,配合起来效率还行。

至于以后会怎么样,谁知道呢。这两年AI工具变化太快了,说不定过两年又出来个更狠的。我能做的,就是保持学习,别被落下。

你们都用哪个AI问答啊?我现在主要用豆包,感觉挺接地气的,但有时候回答有点太啰嗦了

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Scroll to top