小厂后端的AI工具实战手记
入职这家十几人的小公司快两个月了,说实话,一开始有点慌——作为独立负责一条业务线的后端开发,既要写接口、又要搞部署,还得时不时帮前端看看动画卡顿的问题。我们团队没有专职的 DevOps,也没有资深架构师带,需求迭代快得像坐过山车,上周五产品经理还说“这个功能下周三必须上线”,我差点把咖啡泼到键盘上。
但也是在这种“一个人就是一支军队”的环境里,我被迫开始认真探索一些能提效的工具。今天就想聊聊最近在用 Gemini 和 Cursor 的一些真实体验,不吹不黑,全是踩坑后的血泪总结。
为什么我开始用 AI 编程工具?
坦白讲,以前我对这类工具嗤之以鼻。总觉得“AI 写代码?那不是糊弄人吗?”直到上个月,我需要在一个老项目里接入一个第三方支付回调,文档又臭又长,字段命名还反人类(比如 pay_result_status_code_v2_final 这种),手动写解析逻辑写了半小时,测试还报错:“invalid signature”。当时真的想砸电脑。
深夜加班时,我鬼使神差地打开了 Gemini(Google 的那个大模型),把错误日志和接口文档截图扔进去,问了一句:“这个签名验证失败,可能是什么原因?”
它居然直接指出了时间戳格式不对——第三方要求毫秒,我们传的是秒!这问题我 debug 了两个小时都没发现。那一刻,我意识到:AI 不是来替代我的,而是来当我的“第二双眼睛”的。
Gemini:不只是问答,更是“技术协作者”
Gemini 在我这里主要扮演两个角色:
快速理解复杂文档
比如新对接一个物流 API,几十页 PDF,我直接上传,让它总结关键字段、认证方式、错误码。效率比我自己啃高十倍。调试助手
遇到诡异的 500 错误,我会把堆栈日志 + 相关代码片段丢给它,它经常能指出“你是不是忘了加@Transactional”或者“这个 DTO 没注册 Jackson 序列化”。
不过,别信它写的完整代码。有一次它给我生成了一个 Spring Boot 的 Redis 配置类,结果用了 LettuceConnectionFactory 但没配连接池,压测直接崩了。现在我只用它做“思路启发”,具体实现还是自己写。
Cursor:真正让我效率翻倍的 IDE
如果说 Gemini 是“外挂大脑”,那 Cursor 就是“内嵌外挂”。它基于 VS Code,但深度集成了 GPT-4(或 Claude),最爽的是 Cmd+K 快捷键——选中一段代码,按一下,就能让它重写、优化、加注释,甚至转成另一种语言。
举个实际例子:我们有个订单状态机,原本是用 if-else 写的,丑得不行。我选中那段代码,按 Cmd+K,输入:“重构为状态模式,使用枚举 + 策略模式,保持向后兼容”。
几秒钟后,它生成了完整的 OrderStatus 枚举、OrderStateHandler 接口和各个实现类。虽然有些细节要调整(比如事务边界),但骨架完全可用!省了我至少半天时间。
Cursor 的几个实用技巧(亲测有效):
/test命令:让它为当前函数生成单元测试。对覆盖率要求高的模块特别有用。/explain:看不懂的 legacy 代码,选中后让它解释逻辑,比读注释快多了。- 聊天侧边栏:可以直接问“如何用 Spring Boot 实现幂等性?”,它会结合你项目里的代码风格给建议。
但要注意:别让它碰核心业务逻辑。比如资金计算、权限校验这些,AI 容易漏掉边界条件。我吃过一次亏——它生成的优惠券核销逻辑没考虑并发,导致用户重复领券。后来我加了分布式锁才 fix。
工具对比:Gemini vs Cursor,怎么选?
| 场景 | Gemini | Cursor |
|---|---|---|
| 快速查文档、问概念 | ✅ 强项 | ❌ 一般 |
| 代码生成/重构 | ⚠️ 可参考,需审查 | ✅ 深度集成,上下文感知强 |
| 调试辅助 | ✅ 日志分析很准 | ✅ 可直接定位到文件行 |
| 本地代码安全 | ❌ 上传有风险(尤其私有项目) | ✅ 支持本地模型,可关闭联网 |
| 学习成本 | 低 | 中(需适应快捷键) |
我现在是 Gemini + Cursor 组合拳:先用 Gemini 理清需求和技术方案,再用 Cursor 在 IDE 里高效实现。
血泪教训:别让 AI 带你进坑
用了快一个月,踩过几个典型坑,分享出来帮大家避雷:
盲目信任生成的 SQL
Cursor 曾给我生成一个分页查询,ORDER BY create_time但没加索引。数据量一上来,慢查询直接拖垮 DB。现在所有 SQL 都要 EXPLAIN 一遍。忽略上下文差异
Gemini 给的示例往往是通用方案,但我们的项目用的是 JDK 8 + Spring Boot 2.3,它推荐的CompletableFuture链式调用在老版本有坑。一定要结合项目实际环境验证。过度依赖,丧失思考
有次我让 Cursor 优化一个循环,它改成 stream,看起来很优雅。但后来发现性能反而下降了——因为中间有大量对象创建。工具是辅助,不是拐杖。
最后一点真心话
在小厂,没人替你兜底,每个线上 bug 都可能让你半夜被叫醒。所以工具可以提效,但工程素养不能外包。我现在用 AI 工具的原则是:
“让它做脏活累活,我专注做决策和设计。”
比如写 CRUD 接口、生成 DTO、写日志埋点——这些重复劳动,交给 Cursor;但系统架构、数据一致性、安全边界——这些,必须自己掌控。
入职这两个月,从手忙脚乱到逐渐找到节奏,Gemini 和 Cursor 确实帮了大忙。但更重要的是,它们让我意识到:技术人的核心竞争力,不是记住多少 API,而是知道在什么场景下,该用什么工具,以及如何安全地使用它。
下次如果产品经理再说“周三上线”,我可能还是会翻白眼,但至少,我不用再熬夜到凌晨三点了。
(完)
P.S. 我们公司连 Jenkins 都是手动部署的,如果有哪位大佬知道怎么用 GitHub Actions 自动化部署 Spring Boot 项目,求分享!顺便,前端同事还在用 jQuery 写动画……救救孩子吧。

评论 0