AI工具分享会 - 演讲稿

开场白

大家好!今天我想跟大家分享的主题是"如何在软件开发中用AI解决真实问题"

可能很多人对AI的印象还停留在"ChatGPT聊聊天"、"帮我写个文案"、"调试一下代码"这些场景。但今天我想告诉大家,AI已经可以承担完整的项目实施工作——从零搭建基础设施、跨技术栈迁移,甚至帮你踩完所有的坑。

今天我不会给大家列一个工具清单,因为那没什么意义。我会讲两个真实的落地案例

  1. 第一个案例:我第一次手动搭建Jenkins本地服务器。之前我只用过Jenkins,从来没搭过,但通过AI协助,1天就搞定了,现在已经在给团队用了。
  2. 第二个案例:我们把Vue2 + Electron的桌面收银系统改造成了Android平板应用。这个项目涉及硬件对接、原生插件开发,预估要3个月,实际1.5个月就完成了。

在讲这两个案例之前,我先简单介绍一下我的工具箱

好,下面进入第一个案例。


第一部分:Jenkins本地部署之旅

背景与挑战

先说背景。我们团队之前一直用公司的Jenkins服务器做构建,但最近有个需求:需要在局域网搭一个独立的Jenkins,给特定项目用。

领导就把这个任务交给我了。问题是,我只用过Jenkins,从来没搭过。而且环境还挺复杂:

传统做法是什么?啃官方文档,Google各种教程,然后一个坑一个坑地踩。我估计至少要3-5天。

但这次我决定让AI当我的"搭档",边做边问,遇到问题立刻让AI诊断。结果1天就搞定了,而且直接投产使用。

AI协作的三个阶段

阶段一:环境准备与初始化

一开始我就问AI:"Windows Server上搭建Jenkins,需要哪些前置条件?"

AI给我生成了一个检查清单:

然后AI直接给我生成了安装命令和配置文件模板。我照着做,10分钟就把Jenkins跑起来了。

阶段二:踩坑与排错(核心价值)

跑起来是跑起来了,但真正用的时候,各种问题冒出来了。这才是AI价值最大的地方

坑1 - Node.js版本冲突

第一个问题:构建报错node: command not found

我把错误日志直接贴给AI,AI秒级诊断:"系统装了多个Node版本,环境变量冲突了"

然后AI给我生成了nvm配置脚本,指定项目使用Node 16。问题解决。

如果是传统做法,我得先Google"Jenkins node not found",然后看10几个StackOverflow的回答,再试各种方案,至少要1-2小时。

坑2 - JDK版本不匹配

第二个问题:Jenkins启动失败,提示Unsupported class version

我又贴日志给AI。AI分析:"Jenkins需要JDK 11,但你系统默认是JDK 8"

AI直接给我写了个环境变量切换脚本,动态指定JAVA_HOME。又解决了。

坑3 - 控制台乱码(GBK vs UTF-8)

第三个问题:构建日志里中文全是乱码,根本没法看。

AI诊断:"Windows默认GBK编码,但Node.js输出UTF-8"

解决方案:在构建脚本开头加一行chcp 65001,把控制台切换到UTF-8编码。完美解决。

这三个坑,如果靠自己Google,每个至少1-2小时。但有了AI,贴日志、秒级诊断、直接给方案,每个坑5-10分钟就搞定了。

阶段三:优化与投产

基本功能跑通之后,AI还帮我做了优化:

成果对比

我做了个对比表:

维度没有AI有AI
学习成本需要啃官方文档3-5天边做边问,1天搭完
踩坑时间每个问题Google 1-2小时贴日志秒级诊断
配置质量能跑就行,不敢优化AI给出最佳实践
知识沉淀零散笔记AI生成完整文档

这就是AI的价值:不是替代你,而是让你能快速搞定之前不敢碰的事情。


第二部分:Electron收银系统迁移Android

背景与挑战

第二个案例更复杂。我们公司有个收银系统,原本是Vue2 + Electron的桌面应用,跑在PC上。现在客户要求适配Android平板,当收银机用。

这个项目的难度在哪?

  1. 剥离Electron依赖:原代码深度耦合了Electron的API(electron-store@electron/remotesay语音播报),这些在Android上全都不能用。
  2. 外设硬件对接:收银机要接打印机、钱箱、扫码枪、客显双屏,这些都是硬件级别的通信,需要原生Android代码。
  3. 触屏UI适配:原来用的是Element UI,是给鼠标设计的,触屏上按钮太小、滚动条难点。
  4. 更新机制重构:Electron有autoUpdater,Android要自己实现APK下载和安装。

如果纯靠自己,预估要2-3个月,而且我不会Java,可能还得招个Android开发。

但最后,通过AI协助,1.5个月就完成了,而且没招人。

AI协作全流程

阶段一:技术选型

一开始我就问AI:"Vue2 + Electron项目,要改Android,用什么方案?"

AI给我分析了4种方案:

最后AI推荐:选Capacitor,因为成本最低,70%的代码可以复用。

这一步如果自己查资料对比,至少要2-3天。AI给了个对比表,10分钟就决策了。

阶段二:依赖剥离与替换

技术方案定了,接下来要把Electron的依赖全部剥离。

AI帮我做了什么?

  1. 扫描package.json,标记所有Electron依赖

  2. 逐个生成替换方案:

    • electron-store → Capacitor Preferences API
    • say(语音播报) → Web Speech API
    • @electron/remote → 移除,改用Capacitor插件
  3. 生成迁移脚本,批量替换导入语句

这个过程如果手动做,很容易漏掉某个依赖,导致后面报错。AI扫一遍,确保不遗漏。

阶段三:硬件外设对接(最难的部分)

这是整个项目最难的部分,也是AI价值最大的地方。

收银机必须对接打印机、钱箱、扫码枪。在Electron上,我们是通过Node.js的串口库实现的。但Android上完全不一样,需要原生Java代码

我问AI:"Android上怎么控制热敏打印机?"

AI给出方案:

然后AI直接给我生成了Capacitor原生插件模板(Java桥接代码)。

我举个具体例子——钱箱控制

钱箱是通过打印机的串口开的,需要发送一个ESC/POS指令。AI给我生成了这段Java代码:

我只需要把这个插件集成到Capacitor,然后在前端JS里直接调Device.openCashDrawer()就行了。

再举个例子——获取设备MAC地址(用于授权)。

Capacitor默认API没有这个功能。我问AI:"Android上怎么获取MAC地址?"

AI操作:

  1. 编写原生Android代码读取WifiManager
  2. 封装成Capacitor插件
  3. 前端JS直接调用Device.getMacAddress()

如果没有AI,我不会Java,这一步就卡死了,必须招个Android开发。

但有了AI,我把硬件厂商的SDK文档贴给它,AI帮我封装成JavaScript可调用的接口。半天就搞定了。

阶段四:更新机制重构

Electron有autoUpdater,自动下载更新。但Android不一样,需要:

  1. 启动时检查服务器版本号
  2. 下载APK
  3. 调用系统安装器

AI帮我:

  1. 设计版本号比对逻辑(语义化版本 vs 构建号)
  2. 生成APK下载进度条组件
  3. 编写原生代码触发安装:

阶段五:UI触屏适配

Element UI的按钮太小,触摸屏上点不准。

AI操作:

阶段六:环境调试与热更新

每次改代码都要重新打包APK,太慢了。

AI方案:配置Capacitor Live Reload(局域网实时预览)。生成调试脚本:

平板连上开发机,改代码秒级生效。开发效率提升10倍。

成果对比

维度纯靠自己AI辅助
技术选型查资料对比2-3天10分钟得出方案
原生插件开发不会Java,需招安卓开发AI生成模板,改改就能用
硬件对接啃厂商SDK文档1周+贴文档给AI,半天搞定
总耗时预估2-3个月实际1.5个月完成

这个案例的核心启示:AI不仅能帮你做你会的事,还能帮你做你不会的事。


第三部分:工具与工作流详解

我的AI工具矩阵

刚才讲了两个大案例,现在我系统介绍一下我平时用的AI工具

IDE集成类

VSCode + Antigravity / Cursor / trae

这是日常开发最常用的。

Cursor的特色功能

命令行类

Claude CLI

用法:claude "帮我写个Git Hook检查Commit规范"

优势:直接在终端拿结果,不用切窗口。

适合场景:写脚本、生成配置文件、快速问答。

Codex CLI

OpenAI的命令行工具,擅长生成标准化代码(CRUD、测试用例)。

平台类

Antigravity

项目级AI助手,能理解整个repo的上下文。

功能:

适合场景:大型项目重构、技术债务清理。

辅助工具

ccswitch(Context Switch)

作用:在不同AI上下文间快速切换。

例子:Jenkins项目和Android项目分别维护独立对话历史,不会混淆。

cpa(Code Pattern Analyzer)

分析代码模式,生成最佳实践建议。

例子:检测项目中的反模式(如过度嵌套、重复代码)。

全局规则、Skills与MCP的协作关系

这部分稍微技术一点,但很重要。

在AI编程工具中,有三个层级:

层级作用例子
全局规则限制AI行为边界"禁止修改src/core/目录"
Skills定义标准工作流"遇到Bug先写测试"
MCP提供工具能力文件读写、数据库查询、API调用

优先级(从高到低)

  1. 用户显式指令 + 全局规则CLAUDE.mdGEMINI.md
  2. 项目级Skills.claude/skills/
  3. 全局Skills~/.claude/skills/
  4. 系统默认提示

实际例子

比如我在全局规则里写:"所有Commit必须包含Jira单号"。

那么AI在生成Git Commit时,会自动校验并提示我。

项目级 vs 全局配置

不同项目有不同的代码规范。

比如Jenkins项目和Android项目,Commit风格不一样。

我的做法:

这样就不会混淆了。


第四部分:更多实战小案例

案例1:版本溯源 - 找到分支起点

这是个很实际的问题。

我们收银系统有2.0(v1190)和3.0两个版本。现在要把2.0的新功能迁移到3.0,但不知道3.0是从2.0的哪个提交点拉出来的

传统做法:手动对比Git历史,可能要看几百个Commit,非常痛苦。

AI协助流程

我问AI:"帮我找出3.0分支是从2.0的哪个Commit拉出来的"。

AI生成Git命令:

然后AI进一步分析:对比两个分支的文件差异,生成迁移清单。

结果:10分钟定位到起点,节省2-3小时人工对比时间。

案例2:批量代码重构

场景:项目中有50+处使用旧API getUserInfo(),需要统一改成新API fetchUserData()

AI操作:

  1. 全局搜索所有调用点
  2. 分析每个调用的上下文(参数、返回值处理)
  3. 逐个生成重构代码
  4. 我只需审核一遍,一键应用

如果手动改,50个地方,每个5分钟,要4小时。AI帮忙,20分钟搞定。

案例3:紧急Bug修复

场景:线上报错Cannot read property 'name' of undefined

AI协助:

  1. 贴错误栈,AI定位到具体代码行
  2. AI分析:user对象可能为空
  3. 生成修复代码:
  1. 同时生成测试用例,防止回归

传统流程:打断点调试、复现问题、写修复、测试,至少30分钟。AI辅助,5分钟搞定。

案例4:文档生成

痛点:写完代码懒得写文档。

AI方案:贴代码,AI自动生成:

文档质量甚至比我自己写的还规范。


第五部分:AI协作的最佳实践

什么时候用AI?

适合AI

不适合AI

如何提高AI协作效率?

技巧1:提供完整上下文

❌ 差:"帮我修这个Bug"
✅ 好:"Vue项目,登录后跳转失败,控制台报router.push is not a function,贴相关代码..."

上下文越完整,AI的答案越准确。

技巧2:分步骤拆解任务

不要一次性问:"帮我把整个项目改成TypeScript"。

而是:

  1. 先让AI分析改造难度
  2. 生成迁移方案
  3. 逐个模块改造
  4. 最后统一类型检查

技巧3:善用项目配置

技巧4:验证AI输出

AI生成的代码必须自己过一遍。

AI是助手,不是替代品。


总结与展望

我的收获

效率提升

能力边界拓展

知识沉淀

对团队的启发

不是替代人,而是放大人

改变工作模式

未来展望

AI会越来越深入开发流程

但核心能力依然是人


Q&A环节

Q1:AI生成的代码质量如何保证?
A:必须人工审核 + 测试覆盖。AI是助手,不是替代品。

Q2:会不会过度依赖AI,导致能力退化?
A:关键是"用AI做什么"。用它做重复劳动✅,用它替代思考❌。

Q3:公司代码安全吗?会不会泄露?
A:选择靠谱的工具(Claude、GitHub Copilot企业版),有数据隔离保障。

Q4:团队怎么推广AI?
A:从小场景开始(比如让AI写测试用例),让大家尝到甜头。


谢谢大家!