AI工具使用心得

如果可以,想办法用上ChatGPT、Google Genmini这些AI工具。不管是工作还是学习,与国内的几个AI大模型相比,差距真的巨大,这不是崇洋媚外,我相信国内大模型会有赶超的那一天,但现在看来,还没到那个时候,没有特别有依据的实验验证,只是从体感来说,至少提前半年甚至一年以上。 所以,使用相较于国内前沿的工具,无形之中就像是打了信息差,在各方面都会比别人领先一些,可能你和别人是同一个任务,但是,你的效率和产出都会比别人好上很多,而这仅仅是因为工具的不同而已,绝无其他。 AI的发展是极为迅速的,这个都是显而易见的,从2023年,开始有这种对话式的问答交流,获取想要的资讯,或者说让AI帮忙完成一些文本上的修改任务。 那时文言一心还没有上线,自己看到一些网站提供了这种功能,然后180元大洋买断了,结果时不时就网页打不开,好像一段时间,就在换域名。现在想起来,当时这种平台,自己好像也没有用来干嘛,无非就是翻译一篇短文、检查下写的文章的错别字等,后来,文言一心上线了,kimi,豆包等都纷纷出现,然后,注意力就转移了,这个买断的平台就没再去打开过了。 在使用AI的过程中,但印象中,较为深刻的,还是第一次知道和使用 Deepseek ,看到那个思考过程,极为惊艳。在 2025 年年初爆火,后来,只是后来人多了之后,总是因为使用人数太多,服务器资源不足,每次要用一下,经常是没有成功的,这是其一,第二个原因,就是人多了之后,数据被污染得太多了,回答的质量直线下降。然后,转到了豆包AI。 公司的微信文章,也只是根据公开的平台资料,让它按我提供的模板生成,这部分的工作,之前预估是两天的工作量,我半天就搞定了。在我看来,实在是没有什么必要深究一字一句,只要把表达的东西,传达到位,以及不要显得太过于AI味,就可以了,时间更应该花在高价值上的事情。 第一次使用超能模式,就知道这个又升级了,这个超能模式,可以抓取平台,只要你提供账号和密码,完全可以帮你做平台系统的测试,当时我第一次使用,都惊呆了。 后来,我就尝试让它登录公网的平台,让它对每个功能都测试,把暴露的问题,整理成表格给我,我在逐一检查,是否真实有效。 可以说,豆包是我用过的相对满意的一款AI工具了,至少2025年是这样的。可以说,为我的事情,提供了很大的帮助,但是,这一些,都在2026年爆火之后,戛然而止。 现在的问题是,使用超能模式,经常被告知当前功能使用爆火,要等几分钟才行。我是没有那么多耐心的,偶尔一两次才行,多了之后,可能要找替代品了。 恰逢和朋友交流最近基于AI开发的一些事情,说到很多公司都完全是面向AI开发了,大家都称之为“氛围编程”,就是不适应代码交流了,直接就是自然语言,把需求描述清楚,让AI完成项目的代码开发。 而选择的则是Google提供的IDE工具Google Antigravity,中文名是反重力,完全就是一键生成全部的代码,还自行调试,编译,运行,出现问题,还自行修复,就是到你手上的时候,已经成品了。 我想起之前使用 dev0 工具,尝试开发一键发文的工具,就是一篇文章,可以同时发布到不同的平台,比如微信公众号、掘金、博客园等,当时,用起来觉得很一般,以为这个方式还不够成熟,接着,也听说豆包提供的TACE插件,都以为,只是能局部支持,而不是整个项目都全部提供,就在这块上面,没有多去关注。 但是,真正使用起Google Antigravity之后,我心里只觉得,程序员被替代,真的不是痴人说梦。真的,这个时代真的要来了。 真的,完全可以使用自然语言完成整个项目的代码开发,我是不会Java后端开发的,但是,不影响我把之前在 dev0 工具开发的项目,我直接把项目在Google Antigravity打开,然后,让它根据需求,把这个项目重构,重构后的项目,真的是删除很多错误的代码,错误的功能,错误的编程语言选择,比如之前的前端代码里,有.vue文件的,又有.rect,显得不伦不类的,这次就完全重构,完全基于Vue3框架来开发。 接着,Java后端的代码也重构,搭配前端项目一起,把项目的架构都梳理清楚了。然后,项目也运行成功了。 我知道,真的太让我惊叹了。 如果我要创业,完全可以几个人组成小公司,完全基于这个Google Antigravity来开发项目,至于代码泄漏等问题,小公司完全就是利益至上,先赚到钱再说,管你什么核心技术泄漏,让Google去爬取了。 这一点大公司完全是不能做的,就是AI这些走的第三方的服务器,他们肯定是先读取到你项目的全部代码,才能给你提供建议,而这个过程,意味着你项目的全部源码,都被第三方公司获取了,这个就是代码泄漏风险,这也是这个氛围编程,无法那么快推进的原因。 如果你要私有化部署的话,成本是一方面,再者,你成本再高,能比大模型母公司高吗?花的钱越多,意味着功能越强大,如果投入钱搞私有化部署,效果和公网提供的一对比,心里落差极大,这种情况下,真的能坚持使用私有化部署的大模型吗?估计真的忍不了一点。 当前ini 帮我处理一个因为网络代理,导致在 Mac 电脑上使用VSCode 访问Ubuntu系统的工具,一直失败的问题。 然后,各种权限都给它了,就一直执行脚本处理,直到解决了为止。类似就是龙虾这个托管电脑。 可以说,AI工具,用得比较多的是豆包、deekseep、kmini、纳米AI,这些或多或少,都使用过,频次较高,其他的就不提及了。 只能说AI会发展越来越快,我始终相信,国内的AI工具迟早有一天会超过国外,但是,不是现在,现在来看,还是有很大的差距的,所以,我的看法是,如果可以,真的要赶紧用上Google Genmini和 ChatGPT,真的最少要比国内的AI工具,至少超半年以上。 很多编程的问题,让豆包和Deekseep排查的时候,明明提供的是同一份信息,但是得出的结果千差万别,Gmini 直接指出了问题出在哪里,一招就命中要害,但是豆包、deekseep提供的方案还是差的太多太多了。 我的三观真的刷新了,我第一次见到,给出的答案,是如此直接而有效。 正是在使用 Gmini 的这一段时间,我反复喂给它我的全部信息,让它给我诊断,以及提供发展路径,很多东西说的还是很有道理的。而且,少了很多献媚的措词,至少,让我发现了一个快十年来,一直被我忽视的一个特别主要的一个点,这个点就是所有问题的根源,而我一直以来,都没有注意到。 打一点这种信息差和时间差,你会比国内没有用这款AI工具的,远超半年甚至一年以上,效果更高,掌握的信息更为准确,何乐而不为。

2026-04-29 · 1 分钟 · 50 字

VirtualBox 虚拟机里的 Ubuntu系统怎么扩容?

1. 前言 基于 Oracle VM VirtualBox 虚拟机安装的 Ubuntu 系统,主要用于 C++ 嵌入式项目开发,最开始只是分配了 40G 硬盘内存。现在项目分支过多,加上项目一些插件、依赖库,导致现在系统硬盘内存不够了,经常提示只剩 1G 内存。想到一直这样下去也不是办法,只能先看下怎么清理大文件,然后,再怎么给 Ubuntu 系统扩容。 2. 使用 baobab 工具检索大文件 在 Ubuntu 系统终端,使用以下命令安装 Baobab 工具并打开: // 安装 sudo apt install baobab -y // 启动 baobab Baobab 会扫描分区,然后通过颜色,来区分哪些文件是占内存最大的,并且排在最前,这个时候,你就可以看下一些比如.cache、.vscode、.lingma等占空间很大的文件,就可以考虑清空了。 但这只是用来优化一下内存而已,真正起到作用,还是要 VirtualBox 虚拟机扩容。 3. 在 VirtualBox 虚拟机扩容至 80G 考虑到办公电脑一般硬盘都很大的,所以,多分配一些内存问题不大,关闭虚拟机之后,在 管理 - 工具 - 虚拟介质管理 - 属性,然后把下面的滑块,滑到 80G 的大小位置。 4. 在 Ubuntu 系统安装 gparted 图形化分区工具 在虚拟机上扩容到 80G 后,到 Ubuntu 系统里,你就会发现,还是会提示剩余空间不足的问题,原因是虽然扩容了,但是这个空间没有真正使用起来,就需要安装 gparted 分区工具来处理: ...

2026-04-28 · 1 分钟 · 107 字

AI真的可以取代程序员吗?

说到 AI 是否会取代程序员,我的答案是会,但又不完全会。 在我看来,所谓的取代,其实是要求程序员提升自身能力,向更高层次发展,将比如某个通用函数的封装、代码漏洞检查这类已熟练掌握的工作交给 AI,自己则转变为发布和验收的角色,也就是按照自己的想法下达任务,然后验收任务,形成一个闭环。 AI 在实际应用中确实面临一些问题,以下是我想到的几点: 怎样确保 AI 能完全依照你的想法,实现你想要的效果? 如何判断 AI 生成的内容是否正确? 何时该使用 AI,何时不该用? 就第一个问题而言,未来很可能会演变成面向 AI 编程。你看,现在都已经有 “Prompt 工程师” 这个职位了,他们的职责就是做好与 AI 的沟通工作,思考如何用精准的描述告诉 AI 该做什么。 回顾人与计算器的交互历史,从最初使用 0 和 1 二进制进行沟通,到后来发展出 C/C++/Java 等高级语言,这些都是对 0 和 1 的上层封装。如今与 AI 交互也是同理,只不过现在我们是用现实中的自然语言与它交流。 至于第二个问题,关键在于你自己得懂,也就是说不可能完全依赖 AI 而不学习新知识。不然,你怎么判断 AI 生成的内容是否正确呢? 对于第三个问题,何时使用 AI 就需要进行评估判断了。有些事情看似用 AI 能很快完成,但实际使用时,因输入指令不够具体准确,产出结果可能天差地别,常需多次调整才能满意,自己动手做或许更快,还免得在与 AI 的磨合中浪费时间、徒增郁闷。 除此之外,很多人都提到,既然 AI 能生成一整个项目的代码,那还要程序员干什么呢? 其实,AI 生成的只是项目第一版需求的代码,可项目又不是一锤子买卖,后续还需要不断迭代和更新。这时候该怎么办?全都交给 AI 处理吗? 理论上似乎是可行的,但就我使用 dev0、豆包和阿里云 AI 等工具开发网页的体验来看,效率实在不高。每次修改一点点内容,AI 都要重新生成全部代码,这个过程极其漫长,项目越大,等待的时间就越久。而且,如果输入的指令不够详细具体,得到的结果相差甚远,还得不断调整到满意为止。有这时间,我自己早就把代码改好了。所以在这种情况下,除非你的 prompt 能力特别强,否则真的是对 AI 又爱又恨。不过话说回来,人与人之间沟通都可能出现信息失真,更何况是与机器沟通呢?面对全是 AI 生成的代码,你真的有足够的信心直接部署到生产环境吗? ...

2025-07-16 · 1 分钟 · 138 字

前端业务组件封装与管理的解决方案

1. 前言 在前端开发中,业务组件的封装与管理是一个常见的难题。当多个项目共用同一个业务组件时,如何平衡不同项目的需求差异,同时保持组件的可维护性和可扩展性,成为了一个亟待解决的问题。 2 如何应对多项目需求差异 在业务组件封装过程中,我们常常会遇到这样的问题:项目 A 和项目 B 都使用了某个业务组件,但项目 A 迭代了需求,而这个需求在项目 B 中却用不到。如果这次为了满足项目 A 的需求而修改组件,那么未来项目 B 也可能出现类似但不完全相同的需求,难道每次都要通过特判来解决吗? 实际上,业务组件的问题并非孤立存在,而是整个前端项目开发流程中的一个环节。我们需要从更高的层次、更宏观的角度去看待,梳理整个前端项目的开发流程,预见可能面临的问题,并逐一讨论解决方案、进行应用和验证,而不仅仅是解决业务组件自身的问题。 3. 期望的应用场景 我们期望构建一个高效、灵活的前端开发流程,具体场景如下: 提供一个基础的项目模板,其中包含常用的业务组件,如登录注册、首页、个人中心、用户管理等。这样,新的项目可以直接基于模板启动,减少重复工作。 通过动态配置主题色等功能,满足客户项目的定制化需求。例如,不同客户可能对界面风格有不同偏好,通过风格配置平台可以快速实现定制。 在菜单管理中配置好路由,从业务组件库中引入所需的业务组件。如果现有组件不满足需求,则可以迭代现有组件或新增组件。 4. 通用性与灵活性 业务组件应具备通用功能,能够满足大部分项目的需求,从而减少重复开发,提高开发效率。当遇到特殊需求时,可以采用组合式函数的方式,将逻辑单独抽离出来复用。同时,提供样式自定义功能,通过增加一个 .vue 文件来实现样式定制,从而复用组合式函数。这种做法既保持了组件的通用性,又提供了足够的灵活性来应对不同项目的需求。 5. 确保质量和稳定性 为了保证业务组件的质量和稳定性,单元测试是必不可少的环节。主要包括以下两个方面: 对组件的逻辑代码进行测试,确保其功能正确无误。 测试组件之间的交互是否符合预期,例如父子组件之间的数据传递、事件触发等。 6. 满足多样化需求 业务组件的风格动态设置是一个关键问题。以当前常见的明亮和暗黑风格为例,问题的根本原因并不在于组件自身,而在于项目。因此,需要设置的不是业务组件的主题,而是项目的主题。而项目是基于我们提供的项目模板开发的,所以项目模板需要提供风格动态设置功能。 最佳的实现方式是通过可视化页面进行配置,然后生成 CSS 文件,将其引入到项目中进行配置。这就需要开发一个可视化主题配置平台,比如 Arco Design Lab 平台(平台使用指南),能够很好地满足这一需求。 7. 总结 通过建立一套完整的开发规范、提供风格动态设置功能,我们可以有效地解决多项目需求差异的问题,提高开发效率和质量。

2025-04-26 · 1 分钟 · 48 字

展厅3D项目实现方案

前言 本项目旨在开发一个展厅3D展示系统,主要功能为监控大屏与3D城市沙盘显示。项目涉及两台电脑屏幕,分别标记为A和B。A屏幕用于展示3D城市沙盘,用户点击沙盘中的特定区域时,B屏幕将显示与该区域相关的效果视频。因此,项目的核心在于如何构建3D城市沙盘以及实现两台电脑之间的通信功能。 解决方案 最初计划使用Three.js来开发3D城市沙盘,并通过Electron开发两个独立的应用程序,分别部署在A和B电脑上以实现通信功能。然而,在项目推进过程中,我们发现3D城市沙盘可以通过视频形式实现,仅需由UI设计团队制作一个3D城市沙盘视频即可。对于沙盘大屏的左右旋转功能,可以通过捕获手势事件来控制视频播放器的快进和后退操作,从而避免了使用Three.js开发3D沙盘的复杂工作。 电脑间通信验证 基于electron-vite-vue和ws框架,我们开发了两个应用程序:客户端和服务端。客户端部署在主屏(A电脑),服务端部署在副屏(B电脑)。当系统启动时,服务端将在本地创建一个WebSocket服务器,监听8080端口。客户端则创建一个WebSocket客户端实例,连接至该服务器,从而实现两台电脑之间的通信功能。 electron-vite-vue ws 假设B电脑的IP地址为192.168.28.112,我们首先在B电脑上创建一个WebSocket服务器,监听8080端口: const WebSocket = require('ws'); const wss = new WebSocket.Server({ port: 8080 }); wss.on('connection', function connection(ws) { ws.on('message', function incoming(message) { console.log('received: %s', message); }); ws.send('something'); ws.on('close', function clear() { console.log('client disconnected'); }); }); 接下来,在A电脑上创建一个新的WebSocket客户端实例,连接到B电脑的WebSocket服务器,用于发送消息: const WebSocket = require('ws'); // 本地调试 // const ws = new WebSocket('ws://localhost:8080'); // 连接`B`电脑的 `WebSocket` 服务器 const ws = new WebSocket('ws://192.168.28.112:8080'); ws.on('open', function open() { console.log('connected'); setInterval(() => { ws.send('Hello Server!' + Math.random()); }, 3000) }); ws.on('message', function incoming(data) { console.log(data); }); ws.on('close', function clear() { console.log('disconnected'); }); ws.on('error', function error(err) { console.error('WebSocket Error: ', err); }); 通过上述实现,A和B电脑之间的通信效果如下:

2025-04-24 · 1 分钟 · 101 字