你们都用的啥AI工具啊?我最近试了豆包和deepseek,感觉豆包更接地气一点,deepseek回答问题感觉更专业但是有点太正经了,你们觉得哪个好用?

The user wants me to write a complete blog post about AI tools (Doubao and DeepSeek) used in a programmer’s daily work. Based on the context provided:

1. The content should be like a technical blog post sharing personal experience, not a product review
2. Focus on “what problem I encountered”, “how I solved it”, “what was the result”
3. Product information should be naturally integrated, not aggressively promoted
4. Avoid hard-selling, template expressions, empty adjectives
5. Word count: 1500+ words

I need to write this in Chinese, in a personal, conversational tone that feels like a real programmer sharing their experience. Let me craft a complete blog post that:

– Uses a casual, authentic voice like “我”
– Describes specific technical scenarios a CRUD developer would face
– Shows how AI tools helped in those situations
– Keeps product mentions natural and integrated
– Avoids template language like “XX产品非常棒” or “强烈推荐”
– Stays around 1500+ words

Let me write a natural, flowing blog post now.

# 一个CURD工程师和AI助手相处这半年

上次正儿八经写技术博客还是2022年写单元测试覆盖率的事,最近项目不忙,把之前想写但一直拖着的东西倒饬倒饬。

起因是这样的。我们组去年开始用AI工具辅助开发,从最开始的ChatGPT,到后来的各种国产模型,折腾了一圈。最近两个月固定用两个:一个豆包,一个DeepSeek。不是刻意对比着用,就是团队里大家各用各的,我两个都开着,哪个顺手用哪个。

说真的,作为一个天天写业务代码的CURD工程师,我对AI辅助编程的态度经历了三个阶段:最先觉得是噱头,后来觉得有点用,现在是离不开。这篇文章不做什么横评测评,就是想把最近这几个月的真实使用感受写下来,算是个人的一个阶段性总结。

先说说我的工作背景。Java + Go双线开发,主要做业务接口,偶尔写点中间件和性能优化。在一个中型公司,业务逻辑比较繁杂,需求迭代也快,大部分时间花在处理各种”明明应该很简单但就是很麻烦”的事情上。

我日常遇到的问题大概这几类:查文档、方案确认、代码生成、bug排查、代码review。

## 排查Redis缓存问题时,AI帮我省了半个下午

上个月遇到一个挺典型的问题。接口偶发超时,平均响应时间从正常的50ms飙升到一两秒。监控看CPU和连接数都正常,但GC频率明显不对。

我自己先排查了一波。看了代码,加了日志.trace(“entering service method”),发现请求确实打到了数据库。按理说不应该,缓存命中率应该在95%以上才对。

我把代码和现象描述了一下发给豆包。忘了具体怎么问的,大概意思是:缓存查不到的时候为什么还会打到数据库?

它没有列出一二三四条标准答案,而是问我:你这个缓存查询为null的时候,后面怎么处理的?

我一看代码,好家伙,缓存查不到的时候直接查数据库了,没有设置空值缓存,也没有做缓存穿透保护。高并发情况下,大量请求同时发现缓存不存在,全部打到数据库,形成了缓存击穿。

后来我加了一个简单的互斥锁加空值缓存解决了。这个问题本身不难,但排查那两天确实有点钻牛角尖,AI帮我快速跳出了思维定势。

## 写单元测试这件事,终于不再痛苦了

以前我特别不爱写单元测试。不是不知道重要,是真的太繁琐了。一个Service方法,依赖四五个bean,光setup就要写大半天,写出来的测试还特别像复制粘贴。

上个月重构一个订单模块,我试着让AI帮我生成测试框架。我把方法签名和业务逻辑描述给它,然后说”帮我写个JUnit5的单元测试,要包含正常流程和异常分支”。

DeepSeek返回的代码质量出乎我意料。它不仅考虑了基本的成功场景,还自动加了空指针、超时、并发等边界情况的测试。更关键的是,它生成的mock代码用的是Mockito,这个我熟,改起来很顺手。

当然不可能直接用,还是得根据自己的测试场景调整。但从零到有这个过程被大大缩短了。之前要花一下午写的测试,现在个把小时就能搞定,剩下时间就是调整断言和补充边界用例。

后来我形成了一个习惯:复杂业务逻辑先让AI生成测试,然后我再根据实际需求改。这样还有个好处——测试覆盖率不知不觉就上去了,代码review的时候腰杆也硬一点。

## 查文档这件小事,效率提升挺明显

做Java开发的应该都有体会:SpringBoot版本一升级,之前写的配置写法就不工作了。去年我们项目升级到SpringBoot 3.x,一堆@RequiresAuthentication之类的注解deprecated了,得改成SecurityFilterChain。

这种升级,说大不大说小不小,就是恶心。官方文档我看了,但不可能记住所有改动细节。传统做法就是在搜索引擎搜”SpringBoot 3 security migration”或者在StackOverflow翻答案。

现在我的习惯是直接问AI:SpringBoot 3.x下面怎么做接口权限控制?给个完整的配置示例。

DeepSeek的回答通常比较详细,会把配置类、安全过滤器、异常处理都覆盖到,有些还能给出不同版本的对比。但我得说,这类问题它的回答偶尔会”幻觉”一下——给出一个看起来对但实际跑不起来的代码片段。所以涉及到具体版本和依赖,我还是会自己验证一下。

豆包在中文文档检索方面稍微强一点,可能是训练数据里中文技术内容更多的原因。问一些国产中间件的问题,比如”用若依框架怎么做数据权限”,它的回答更接地气。

## 代码review的时候,AI像多了双眼睛

我们组的code review是交叉做的,每人每周轮流。之前有同事提过,说review别人的代码时容易漏掉一些细节,特别是业务逻辑比较复杂的时候,自己没参与到需求讨论,光看代码有点吃力。

最近我试了一个新思路:把要review的代码片段发给AI,让它帮我分析潜在风险。不用它判断代码好坏,就是让它从不同角度”挑刺”。

效果居然还行。AI能指出一些明显的N+1查询问题、异常捕获不完整、事务边界不清晰这些常规问题。虽然这些我自己也能发现,但AI的速度快啊!一段200行的代码,它几秒钟就能扫一遍,给出十几条建议。我再筛选一遍,效率比自己从头看到尾高多了。

当然,涉及业务逻辑对不对、需求理解准不准这些,还是得靠人。AI更适合检查”代码写得好不好”,而不是”功能做得对不对”。

## 一些反思

用了这半年,有些感受可以总结一下:

**它能帮你,但不能替代你**。AI最大的价值是提高效率,而不是替你思考。问出一个好问题,往往比得到一个正确答案更重要。

**场景选择很重要**。我发现的规律是:边界清晰、有标准答案的问题,AI处理得最好;需要理解业务上下文、涉及模糊判断的问题,还是得靠自己。

**国内工具在中文场景下确实更顺手**。倒不是说能力差距有多大,主要是语言和文化上的亲近性。问一些中文技术博客、国产框架的问题,得到的答案更实用。

**别把AI当作唯一的救命稻草**。之前有同事过度依赖AI,直接复制粘贴生成的代码,连基本的逻辑都不看,结果生产环境出了bug。这锅不该AI背,是人的问题。

最后说一句。工具嘛,适合自己的就是好的。我用这两个用得顺手,不代表别人就得用。各有各的习惯,各有各的场景。

以上就是一个普通开发工程师的真实使用感受,没有收广告费,也没有刻意黑谁。如果能帮到一些人,自然是好的;如果你有不同看法,欢迎交流。

就这样。

你们都用的啥AI工具啊?我最近试了豆包和deepseek,感觉豆包更接地气一点,deepseek回答问题感觉更专业但是有点太正经了,你们觉得哪个好用?

发表回复

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

Scroll to top