软件开发引入AI,这20多种用法超实用,码农必备!
最近,AI在各个领域都掀起了热潮,软件开发也不例外。好多小伙伴都在琢磨,怎么把AI融入到自己的开发工作里呢?今天这篇文章,就给大家分享25种在软件开发中使用AI的方法。这里没有那些高深莫测的概念,也不聊智能体、RAG、聊天机器人这类复杂的东西,更不会给大家画大饼,承诺一些遥不可及的愿景。咱们就实实在在地讲讲,怎么用AI在应用里做决策。
这篇文章主要是写给那些还没有AI实战经验的开发者、设计师和产品经理的。就当是一场“头脑风暴”,帮大家打开思路,不是什么详细的操作教程。就算这些例子暂时用不上,也希望能给大家一些灵感,激发出新点子。在这儿,咱就把AI当成数据库、微服务、前端框架这些普通工具一样看待,用不用得上,还得看具体情况。话不多说,咱们开始吧!
更多AI好文请关注:https://www.panziye.com/ai
验证电子邮件地址还算简单,但要是验证输入内容是不是英文,或者某个数字在特定背景下是否“合理”,就没那么容易了。打个比方,在一个宠物信息表单里,用户要填写宠物体重,还得选宠物品种,表单明确写着体重单位是公斤,可总有人会输错成磅。要是想用传统方法,为每种动物设定“合理”体重范围,那可太麻烦了。但AI能大概知道各种动物的正常体重范围,用它来判断就方便多了。
不过得注意,和传统验证相比,AI犯错的概率会高一些。所以在设计用户体验和界面时,要多考虑一下。要是AI觉得宠物主人输入的体重偏高,可以提示:“您是不是不小心输成磅了?还是这只宠物真的超重啦?”把握好帮助用户和不打扰用户之间的平衡很重要,得让用户能轻松忽略提示,毕竟他们才最清楚实际情况。如果发现用户频繁填错信息,而且这些错误会引发问题,人类又能轻易看出错误,表单设计也已经做到极致了,那这种验证方式就派上用场了。
推荐程序员必备的导航工具站:https://hao.panziye.com/
拿二手交易网站举例,用户可能会把皮划艇发布到厨房用品分类里,或者在厨房用品分类里找皮划艇。这种时候,要是旁边有人,一眼就能发现问题,其实AI也能做到。
先找出用户容易搞错分类的地方,然后用AI来监测。一旦发现用户“迷路”,就及时发出警告并给出指引。有些网站可能都不清楚用户是不是经常找错地方,这也没关系,可以导出分类和搜索关键词的数据,让AI分析每条数据,判断用户的操作是否正确。在很多情况下,AI不仅能解决问题,还能帮我们发现问题呢。当然,不是说非得用AI解决这些问题,只是它确实能提供一种新的思路。
AI既能理解图片,又能读懂文字。要是用户上传一个文件,比如燃气账单,就可以让AI检查一下,看看它是不是真的像燃气账单,上面有没有用户名和地址。像判断“是不是燃气账单”这种事,人类做起来虽然准确率不是100%,但也还比较容易,可要是用传统代码实现,难度就太大了。
在能给其他用户发消息的网站上,我们可以把网站的行为准则提供给AI,再让它去判断用户的留言是否符合规范。要是不符合,就可以屏蔽评论,或者让AI给出反馈。AI还能判断用户是故意冒犯还是无心之失,然后给出不同的处理方式。其实仔细想想,有些行为准则本身就是常识,让用户去“同意”一份又长又没人会认真读的准则,这种做法本身就不太合理,不如直接用AI屏蔽那些不符合规范的输入。这也反映出一个问题,很多时候我们用传统软件处理事情的方式有点笨拙,AI的出现能让处理方式更智能。
假设你有一个提交Bug报告的界面,就可以用AI来验证用户提供的信息够不够详细。要是用户写的是“很慢”“最近发生”“经常发生”这些模糊的描述,AI可以提示用户把这些说法量化之后再提交。俗话说得好,把形容词量化了,才能得到更准确的事实。传统代码最多通过“问题模板”引导用户填写,但还是经常会遗漏重要细节。忍不住提一嘴,虽然尽量不讲太高级的内容,但其实用AI自动生成能复现Bug的“最小复现例子”是可行的,就是难度有点大。
比如说有个旅行预订网站,用户可以预订航班、酒店、租车和各种活动。要是用户不小心在错误的机场取车,那可就麻烦了。这时候,可以借助AI对这些预订信息进行整体分析,看看它们能不能组成一个合理连贯的行程,以此来找出潜在的错误。类似的,在检测报销单是否存在欺诈行为时,一组报销单也应该能说得通,如果有人在错误的城市吃饭报销,或者租电动车却报加油费,就值得深入调查。
不过在这两种场景下,AI可能会比较“积极”地找问题,所以要注意引导它只报告真正有问题的情况。准备一些典型的例子很有必要,同时,还是要把握好帮助用户和不打扰用户之间的平衡。
AI能理解文字背后的意思,在检测重复内容方面很有优势。就拿用户反馈系统来说,用户可以在里面提新功能建议。AI能对比每个新建议和已有的请求,判断它们是不是相似。要是相似,就可以询问用户是否直接给现有功能投票。以前检测重复一般靠关键词匹配,现在AI能比较两段文字的含义,就算表述不同,它也能判断出是不是同一个意思,比如“深色主题”和“夜间模式”,AI就知道它们差不多。
只要是热心人能帮用户做的事,比如给博客文章选关键词,基本上都可以考虑让AI来试试。大家可以仔细看看自己的应用界面和工作流程,找出那些让用户干活的地方,思考AI能不能帮忙。可以通过预填表单字段、推荐设置,或者把预测的选项排在列表前面等方式来实现。再次提醒,一定要把握好帮助用户和打扰用户之间的度。
有些时候指望用户自己给内容打标签不太现实,这时候AI就能派上用场了。想象一个类似Stack Overflow的网站,用户发了个问题,就可以让AI判断这个问题是“有趣的”还是“有挑战性的”,然后打上相应的标签。这种事很难让发帖人自己来做。总的来说,AI擅长从非结构化数据(像文字、图片、音频这些)里提取结构化信息(比如标签)。要是你想给丰富的内容添加元数据,AI很可能是个得力助手。
假如你运营一个产品评论网站,用户上传小票作为购买凭证,你想给这些用户加上“已验证购买”的徽章。可小票格式五花八门,用传统代码几乎没办法判断。但人类大概看一眼就能知道这张小票是不是买了对应产品(当然也不是百分百准确),AI也能做到这一点。把小票图片交给AI,它不仅能判断是否购买了对应产品,还能提取价格、日期、购买地点这些信息。
不过要注意,小票是可以伪造的,像用打印机打印、PS处理,甚至用AI都能伪造,大家心里得有数。另外,用AI“看”视频并实时评论其实成本不高,操作也不难。比如有一段装卸区的监控视频,想记录车辆出入情况,可以每隔几帧截取一张图,让AI识别图里车辆的品牌、型号和车牌号。处理一张图的费用,大概和处理几百字文本的费用差不多。所以,先利用通用(多模态)大模型验证思路,如果效果还不错,再去考虑精度、速度、成本这些细节问题。
根据用户行为动态适配界面,传统代码也能实现。比如,IDE看到文件名里有“test”就自动弹出测试工具,网店根据商品分类展示不同的筛选条件。但有了AI,我们能做得更出色。
在图片编辑软件里,AI可以判断用户打开的是照片还是线条画,然后推荐合适的工具组。代码编辑器也能在用户编写API端点时,自动展示API测试工具,而且不用像以前那样靠硬编码字符串匹配。不过,大家要接受AI偶尔会出错这个事实,在设计界面的时候也要考虑到这一点。
以运营电影网站为例,用户发布新影评时,可以让AI判断“这篇评论有没有剧透”。要是有,就把评论藏在“含剧透”按钮后面。甚至还能让AI尝试重写一版无剧透的影评。类似地,论坛可以设置“儿童友好模式”,不用完全屏蔽成人话题,但可以隐藏或重新措辞那些敏感内容。
传统代码只能处理定量数据的聚合,而AI还能聚合定性数据。以前用传统手段处理质性数据,最多也就是生成个“词云”,现在有了AI,可以做得更好。比如有一堆用户评论,用AI能抽取常见主题,或者按类别整理。不过,如果数据量特别大,比如达到百万级条目,处理起来会有点挑战,但也不是没办法解决。
想象你有一个收集功能请求的系统,请求数量少的时候,还能人工仔细评估每条请求的价值。但要是请求量很大,人工审核就忙不过来了。以前的解决办法,要么允许投票(觉得受欢迎的就是好点子),要么让长时间无人响应的请求自动过期关闭(这种方法其实不太合理)。
现在有了AI,可以直接问它:“你觉得这个功能请求该不该做?”可能有人会怀疑AI的判断,这很正常。在2025年4月这个时间点,AI对于“这是不是个好主意”这类问题的回答,确实还不太让人满意。我用VS Code的GitHub仓库里关闭的功能请求做了测试,直接用GPT - 4o预测哪些请求会被实现,准确率只有57%,比瞎猜好一点点。后来我用800条数据微调了GPT - 4o - mini,准确率提升到了72.5%。微调在OpenAI界面就能操作,不用写代码,总共才花了$2.44。最后我又微调了一个开源transformer分类器,准确率达到了80%。不过这需要一些专业知识,涉及训练和部署。
可能有人觉得80%的准确率不怎么样,也有人会觉得很厉害,我属于后者。毕竟决定一个功能请求要不要做,本身就比较主观,而且训练数据只有标题和描述,图片看不到,链接点不了,评论也获取不到,能达到80%的一致率,已经很不错了。当然,这不是说就完全不用人类判断了,AI的意见只能作为参考。这个例子其实是为了避免那些好的功能请求被“无人响应自动关闭”的机制埋没。类似的,还可以用AI监测员工聊天(比如Slack、邮件、茶水间录音)里提到的严重问题,提前发出预警。每次公司出问题,总能发现几个月前内部邮件就有人预警过,用AI就能更及时地发现这些问题。
因为AI能理解文本,所以它能判断两段文本的相似程度。这意味着我们可以让AI给任何文本列表排序。比如有一堆软件问题单,可以按照和“严重Bug”的相似程度来排序,把严重问题排在前面,普通咨询排在后面。虽然这种排序不是完美无缺的,但在很多时候还是很有用的。再比如,用户可以按照和“感人小马故事”的相似度来给电影列表排序。这种按意义排序的交互方式是以前没有的,以往只能按日期、价格、大小这些量化数据排序,现在可以按文本甚至图片的意义来排序了。如果排序后只返回一部分结果,这就是“语义搜索”;如果只返回极度相似的结果,那就叫“重复检测”。它们的底层原理都是“语义相似度”。
假设你有一个平台,用户可以在上面贴代码片段,你想根据代码自动识别编程语言,然后加上正确的语法高亮。传统做法是用复杂的正则表达式和字符串匹配,这种方法很容易出错,尤其是遇到短小或者意思不明确的代码。而AI不仅能根据代码本身来判断,还能结合上下文。比如在一篇叫《87个冷门Python特性》的博客里出现“x = 1000”这样的代码片段,AI会猜测它是Python代码,传统的启发式方法就很难做到这一点。
一般来说,如果你的启发式规则容易出错,而人一眼就能看出问题,那就说明可以尝试用AI来改进。当然,AI也不是绝对准确,但启发式规则本身准确率也不高。主要就看你对准确率提升有没有需求,以及能不能接受额外的API调用开销。类似的例子还有不当言论过滤,传统用词库做的过滤器,经常又笨又不合理,比如有的过滤色情内容的词库居然把“非洲”“业余”“动物”也列进去了,甚至还把自己要过滤的“porn”也写进去了。用AI的话,就能做得好很多。
只要应用涉及用户数据,就得在保护隐私和防止滥用(比如儿童拐卖这类严重问题)之间找到平衡点。在AI出现之前,我们最多只能靠关键词匹配来处理相关问题,虽然这种方法很容易被绕过,但好歹也有点作用。问题在于,判断一段内容是不是“坏东西”,通常需要人来判断,可用户又很在意隐私。AI的出现改变了这种局面,它能理解用户的内容,但只是个算法,理论上不会让用户觉得隐私被侵犯。下面接着看具体例子。
可以用AI来监测用户之间的私人聊天,看看有没有违反服务条款的行为。这样就可以告诉用户,只要他们遵守规则,就不会有人工去查看他们的聊天内容。在这个新领域,测试用例一定要做得严谨,甚至可以考虑公开测试结果,增加透明度。如果想了解更多相关内容,可以看看Anthropic的Clio,他们用这个系统来理解平台用户行为,整个过程都不会有人工阅读消息。
让AI读取隐私数据,并回答人类提出的问题,同时又不会泄露敏感信息。比如说,一段私人聊天被标记为可能涉及违法行为,就可以问AI:“是什么类型的有害行为?”“他们打算什么时候动手?”这样在有充分把握的情况下,再考虑是否打破用户隐私。检测霸凌行为也是类似的道理,AI可以先告诉你检测到两个学生之间存在霸凌行为,然后你可以进一步询问:“是什么性质的霸凌?”“施害者还有别的受害人吗?”等问题,全程不用直接查看聊天内容。而且,AI还能帮你筛选出哪些消息你有权限阅读。
如果你的服务允许用户上传应用程序,那可能需要检测其中有没有恶意代码。市面上虽然有专业的检测系统,但如果只是检测一些小代码片段,在沙箱里让AI简单判断一下这段代码是否恶意,总比什么都不做好。还有一个相关的例子,就是检测代码里有没有泄露API密钥或者其他敏感信息。
比如你有一个图片编辑应用,用AI可以在保护隐私的前提下,识别用户正在编辑的图片类型,是家庭照、风景照,还是其他类型。这样就能更好地了解用户是如何使用产品的。在记事本应用里,也可以问AI:“有多少用户在做化学公式笔记?”“有多少用户用笔记记账?”这些都能实现,而且不会侵犯个人隐私。
如果你运营一个远程医疗服务,可以用AI把通话内容转录下来,再总结所有对话,提取共通的主题,同时还能保护隐私。这样就能从原本因为保密性而无法利用的数据里提炼出有价值的知识。同样的方法也适用于员工评估,或者其他因为保密原因不能挖掘的数据场景。不过在所有涉及隐私的应用场景里,千万不能忽视公众的看法。为了让用户放心,可以提供一个演示,让他们看到数据是如何被总结和匿名化的,确认不会泄露个人信息。
假设你的应用里有很多提示小气泡,分布在不同的地方。可以把每条提示文本,连同出现位置的描述(甚至截图)一起交给AI,问它:“这提示合理吗?”这样能及时发现界面变动、按钮修改后,提示却没更新的情况。在多语言版本里,这个方法也很实用,甚至可以用AI来检查图片的alt文本。(悄悄告诉你,跟AI说“别吹毛求疵”,效果特别好。)
我最近做了个小文字游戏,游戏里有谜面和答案,都有点文字游戏的巧思。我用AI测试每对谜面和答案是否“合理匹配”,这种测试传统代码根本做不到。我猜很多应用里都有一些以前无法测试的地方,现在AI拓宽了“可测范围”,大家不妨回头看看测试覆盖率报告,说不定能用AI填补一些空白。
比如你刚部署了网站更新,结果有个CSS文件没加载。集成测试都通过了,因为选择器还在,但人一看就知道网站出问题了。其实AI也能发现这个问题。传统做法是前后截图对比,只能看出有变化,但无法判断是不是出故障了。而借助AI,可以把部署前后的截图都给它,问一句:“看起来正常吗?”如果再给AI提供一下变更列表(比如Git提交信息),让它知道哪些变化是预期之中的,效果会更好。