会用 AI 的工程师,效率已经拉开差距了 - “ 我们曾经引以为傲的编码能力,正在被改写。”
最近尝试用Cursor做了几个内部业务系统,发现一个越来越明显的趋势
真正会用 AI 的工程师,效率已经拉开差距了。
做了十几年 Java, 这波 AI 编程浪潮来得快,一开始我也没太当回事,以为这波AI编程只是停留在了高级 “代码补全” 功能上, 直到最近刚好有个需求,是在内部系统中实现, 刚好尝试了下, 用上了 Cursor,才意识到,这不是“辅助写代码”,这简直就是 “配置了助理”。
1. 起初我也不以为意
做了十几年 Java,这波 AI 编程浪潮来得很快。一开始我没太当回事,以为只是“高级自动补全”——直到最近有个内部需求,我用 Cursor 完整实践了一次,才意识到这不是“辅助开发”,而是“加速上线”的变革。
2. 我是怎么用 AI 开发的?
最近公司内部要做一个「费用分摊」功能,常规的增删改查 + 分页 + 导入导出 + 多状态交互,前端用的是 React + Ant Design,后端是 Spring Boot + MyBatis 的旧项目。
我尝试用 Cursor 直接和 AI 对话:
“认真阅读当前代码,仿照当前代码的结构、风格,帮我写一个费用列表展示的前端页面,挂在云管平台菜单下。下面是表结构。”
它做了什么?10分钟不到,直接生成完整页面,并逐一让我确认。亮点如下:
理解项目结构:我们前端结构是自定义的,但它准确找到了菜单组件、页面目录,并正确挂载菜单。
风格保持一致:生成的页面结构、变量命名、样式都与现有项目一致,几乎“无缝”对接。
字段自动翻译:比如
product_name
自动展示为“产品名称”,比我自己写还细致。
接下来我又说:
“产品名称和金额支持排序,做在前端,不要走后端。”
它理解错了,我纠正后它居然在前端打了日志,指导我 F12 把日志贴过去,它分析后继续调试,直到搞定。
最“炸裂”的部分是:
我原本只想让它写前端页面,顺口加了一句, 尝试了下后端的实现:
“帮我把 /fee/show 的数据都通过接口来获取,并模拟后端风格实现接口。”
它直接生成了完整后端代码!
Controller 控制器
Service 接口和实现类
DAO 层接口 + 实现
MyBatis XML 映射文件
我唯一的工作:点“接受”,然后启动项目,访问页面,一次成功。
(中间还一个小插曲,我忘记了我用的测试库数据,一直质疑它查询的有问题, 然后它用 mysql 命令读取了配置文件, 直连了测试库、运行了 sql 语句, 证明了给我看... )
最重要的一点, 完全不需要联调, 生成完成代码后, 整个启动访问, 无钱后端联调试的过程, 直接端到端搞定!
3. AI 开发靠谱吗?
大致评估下来:
前端交互:
增删改查、分页、Excel 导入导出、图表、Ant Design 组件熟练,70% 代码直接可用。后端逻辑:
分页接口、SQL 优化、日志调试,全都能写,而且风格统一。联调?基本不需要了。
4. 和“手撸”效率对比?
我让组内同事纯手类似功能, , 包含: 列表、分页、搜索条件、时间日期组件、走势图、排序、增删改查、excel导入导出:
他 评估最少 1 天, 还是比较乐观估计
我用 Cursor 半天做完两个,而且前后端全部实现, 需要提供的只是建表语句+ 提示词
更重要的是:
我不用上下切 tab 查文档,不用查 API,不用 Copy 旧代码,思路更聚焦,效率倍增。 直接端到端
5. 它不是万能,但很划算
当然,AI 并非全能,以下是我遇到的不足:
生成的代码不一定是最优,需要人工 review
有时理解不够精准,得耐心拆解需求慢慢引导
不懂业务,只能“模仿”,不能“思考”
网络卡顿的时候,会影响体验
成本不低:我 16 天用完了 500 次请求,月花费 145 元 (20美金)
但这些问题,对比它带来的效率提升、心智负担下降来说,完全可以接受!
6. 未来可期:AI 不止写代码
我现在还在探索更多接入场景, 已经完成的, 如下:
发布流程中, 加入Code Review 进行分析提醒
弹出的告警中, AI捞取告警日志进行分析, 排查辅助
出故障后, 把普罗米修斯、监控日志智能分析
把监控数据喂给它,提高线上故障的快恢环节
但当前效果确实还一般, 没有写代码这么炸裂, 但坚信它会越来越成熟, 而且这个过程将非常快到来
如:新出的 Codex,已经可以自己运行测试
坚信的是, 未来趋势是 AI 将逐步接管完整软件工程流程!
7. 一句话总结
不是所有程序员都适合用 AI,但每个程序员都该尝试一下。
我已经从“试试看”变成了“离不开”。
“ 我们曾经引以为傲的编码能力,正在被改写。”
会用 AI 的工程师,效率已经拉开差距了 - “ 我们曾经引以为傲的编码能力,正在被改写。”的更多相关文章
- AI算法工程师炼成之路
AI算法工程师炼成之路 面试题: l 自我介绍/项目介绍 l 类别不均衡如何处理 l 数据标准化有哪些方法/正则化如何实现/onehot原理 l 为什么XGB比GBDT好 l 数据清洗的方法 ...
- springboot java web开发工程师效率
基础好工具 idea iterm2 和 oh-my-zsh git 热加载 java web项目每次重启时间成本太大. 编程有一个过程很重要, 就是试验, 在一次次试验中探索, 积累素材优化调整程序模 ...
- 继承Object和ContextBoundObject处理效率上的差距
继承Object和ContextBoundObject处理效率上的差距 ContextBoundObject一个很熟悉的对象,它提供对象有处理上下文的能力:通过它能够方便地实现AOP处理机制.它带来好 ...
- 《AI算法工程师手册》
本文转载自:http://www.huaxiaozhuan.com/ 这是一份机器学习算法和技能的学习手册,可以作为学习工作的参考,都看一遍应该能收获满满吧. 作者华校专,曾任阿里巴巴资深算法工程师, ...
- 算法转AI平台工程师记录-0
--- vim源码安装: 1. git clone https://github.com/vim/vim.git 2. cd vim && ./configure --prefix=x ...
- 阿里云 Serverless 再升级,从体验上拉开差距
差距都在细节上. Serverless 要成就云计算的下一个 10 年,不仅需要在技术上持续精进,也需要在产品体验上精耕细作. 近日,阿里云 Serverless 再度升级,发布了一系列围绕产品体验方 ...
- QMap的性能,只要超过10个元素,就被QHash彻底拉开差距
QMap vs. QHash: A small benchmark While working on my Qt developer days 2012 presentation (QtCore in ...
- Workday为何迟迟不进入中国
全球知名HRM SaaS厂商Workday在世界各地攻城拔寨,俨然是HR SaaS的代名词,更是HRM市场的领导品牌.但是却单单在中国市场悄无声息,除了为数不多的海尔海外.联想海外等规模客户和部分ro ...
- 如何从零开始参与 Apache 顶级开源项目?| 墙裂推荐
写在开头 从 2021 开始,有一个很有意思的说法经常在各大技术媒体或开源论坛中出现,「开源正在吞噬一切」.不论是否言过其实,从一个行业从业者的切身感知来看,开源确实从少数极客的小众文化成为主流的 ...
- 昇思MindSpore全场景AI框架 1.6版本,更高的开发效率,更好地服务开发者
摘要:本文带大家快速浏览昇思MindSpore全场景AI框架1.6版本的关键特性. 全新的昇思MindSpore全场景AI框架1.6版本已发布,此版本中昇思MindSpore全场景AI框架易用性不断改 ...
随机推荐
- springboot本地运行正常,打包jar包上传Linux服务器后报错,无法正常运行解决方法
问题描述:springboot本地运行正常,打包jar包上传Linux服务器后报错,无法正常运行 说明:以下两种打包方式均在IDEA软件内完成,上传服务器使用宝塔面板管理 1.第一次打包方式: 设置完 ...
- php禁止跨域调用api(来自文心快码)
在PHP中,禁止跨域调用API通常涉及到设置正确的HTTP响应头,以告知浏览器不允许来自不同源的请求.跨域资源共享(CORS)是一个W3C标准,它允许服务器放宽同源策略(SOP),从而允许某些跨站请求 ...
- C# 将list进行随机排序
private List<T> RandomSortList<T>(List<T> ListT) { Random random = new Random(); L ...
- GUI图形界面编程(Java)
GUI编程 组件 窗口 弹窗 面板 文本框 列表框 按钮 图片 监听事件 鼠标 键盘事件 破解工具 1.简介 Gui的核心技术:Swing.AWT 2.AWT 2.1.AWT介绍 1.包含了很多类和接 ...
- 【基础知识笔记】001 MATLAB-plotyy-函数详解
plot 1 定义 plot()--matlab中二维画图的函数,函数返回值是各个线条的句柄. 2 调用格式 2.1 plot(y) 当y为向量时,是以y的分量为纵坐标,以元素序号为横坐标,用直线依次 ...
- 【python日期和时间处理】time模块基本使用
1. time模块中三种时间格式 时间戳 time模块获取各种精度的时间戳 import time timestamp = time.time() timestamp_s = int(time.tim ...
- Oracle impdp 导入报错 ORA-39083 + ORA-00439
Oracle 11G R2 impdp导入的时候 一直报错: ORA-39083: 对象类型 TABLE:"xxx"."xxx" 创建失败, 出现错误: ORA ...
- ASP.NET Core 阿弥陀佛中间件
Amitabha n. <梵>(佛)阿弥陀佛 佛曰: 因果 那么一天 看见文章1. 发现还有2.这么个中间件 于是追寻源码,发现了3. 再然后寻思自己也可以写一个什么中间件,以便学习掌握 ...
- 《机器人SLAM导航核心技术与实战》先导课:课程大纲
<机器人SLAM导航核心技术与实战>先导课:课程大纲 视频讲解 [先导课]1.课程大纲-视频讲解 [先导课]1.1.课程大纲-学习思维导图(上)-视频讲解 [先导课]1.2.课程大纲-学习 ...
- 学习EXTJS6(9)面向对象的基础框架-1
Ext创造一套精细的对象模型与API,用这套API,可以快速实现对象的定义.创建.继承和扩展:1. 1.创建新类 Ext.define('demo.Demo',{ name: 'usegear', h ...