从今年开始,公司开始全员推广AI编程,并提供Cursor账号给大家使用。经过三个多月的深度使用,在此分享我的一些真实体验与感受。
AI编程辅助工具的发展历程
从ChatGPT到目前各种AI编程助手和智能编辑器,AI辅助编程工具的发展可以大致分为三个阶段:
生成式阶段
最初的AI编程辅助仅限于对话式生成,且生成质量一般。使用这类工具辅助编程需要在AI聊天窗口和代码编辑器之间不断切换,频繁复制粘贴,体验非常繁琐。虽然后来编辑器中出现了大量封装AI对话的插件,但交互依然不够顺畅,仍需手动在不同界面间复制代码。
在这个阶段,我的使用主要集中在早期尝鲜阶段,新鲜感过后便将其降级为高级搜索引擎使用。
交互式阶段
Cursor在早期虽然其他功能表现平平,但它之所以能迅速走红,很大程度上源于其创新的交互设计。它能基于本地代码建立索引,根据项目上下文提供更智能的代码提示和修改建议,并通过Tab键快速应用这些修改(Tab键功能的便捷性无需多言,用过的人都懂😂)。
执行式阶段
随着Cursor等工具的交互模式获得认可,AI编程工具的能力边界进一步扩展。现代AI编程助手不仅能生成代码,还能直接执行并根据运行结果进行优化。例如,当你需要处理文件夹中的文件时,之前的AI只会生成代码而不会执行;如今的AI则能运行生成的代码,根据执行结果自动修复错误或进行下一步操作。
这种进化显著提升了开发效率,特别是对非专业程序员更为友好。
个人使用体验
在这三个月的Cursor深度使用过程中,我主要在以下几个方面获益良多:
项目代码分析
作为公司新人,面对多样化的项目架构和技术栈,快速理解代码成为首要挑战。AI工具在此环节表现出色,帮助我迅速梳理项目结构和代码逻辑。有时候连我自己都需要花时间理解的代码片段,AI已经能够逐行分析并提供清晰解释。
对于代码中的疑点,直接向AI提问往往比翻阅文档更加高效。
复杂技术规范解析
办公软件在线化是个技术挑战,尤其是涉及到OOXML等规范时。这类规范文档通常分为多个部分,每部分都是数千页的英文PDF,对不熟悉的开发者极不友好。
在需要解析PPT文件并进行二次编辑时,我直接向AI咨询相关技术细节,它不仅能解释概念,还能根据项目实际需求提供针对性解决方案。甚至可以直接将XML片段交给AI,让它提取关键信息并转换为网页可用的CSS值。
代码重构与优化
为求速度,我有时会将功能实现集中在单个文件中。作为曾接手过"屎山"代码的开发者,我深知这种做法的后患。在无法立即进行组件拆分的情况下,我通常选择先完成业务功能,再交由AI进行代码拆分和封装。
向AI明确提出重构需求,再根据反馈进行调整,这种方式既保证了开发速度,又维持了代码质量。更值得称赞的是,AI重构后的代码通常能直接运行,免去了大量调试时间。
环境搭建与小需求快速解决
AI在简化工作流方面表现突出。比如需要批量处理文件时,AI能根据需求生成脚本,指导执行过程,并根据执行结果进行修复。使用者只需按提示操作即可。
例如,尽管我后端知识已经淡忘,Python也几乎没接触过,但在AI的辅助下,我依然能够编写简单的Python后端代码。环境配置过程中,AI会提供详细指引,甚至在遇到国外源不可用时,主动帮我切换到国内镜像,体现了超出预期的智能水平。
另一个实例是,我需要将大量视频文件按特定格式上传至云存储,本地文件名虽有规律但信息不完整。本想手动处理,却尝试让AI协助,结果几分钟就完成了可能需要我花费数小时的整理工作。
代码智能提示
Cursor的Tab补全功能堪称神器,它能基于本地代码和项目结构智能预测下一步操作。"一直Tab一直爽"并非夸张之词。
实际使用中,当修改组件CSS字体大小时,AI常能预测到其他关联部分也需要调整,准确率相当高。如今的代码提示已经进化到我正在输入代码的同时,AI已经预生成了后续内容的地步。
跨语言代码转换与生成
在参考其他语言实现的功能时,AI能够快速将代码转换为目标语言,省去了人工"翻译"的麻烦。大部分转换后的代码无需大幅调整即可运行。
向AI描述需求时,我发现一些技巧:尽量详细描述功能,避免过于宏大的任务,最好将大任务分解为小步骤逐一实现。若直接提出复杂需求,AI容易"卡壳"甚至开始胡乱生成代码。
使用中的不足之处
尽管AI编程工具带来诸多便利,使用过程中也存在一些值得注意的问题:
内容不准确
虽然现代AI比早期版本强大许多,但仍存在"幻觉"问题,有时会生成不准确内容。更令人困扰的是,即使指出错误,AI可能口头认同却不实质性修正问题。这种情况部分源于提示不当,部分则是AI能力限制。
意图理解偏差
有时我只需AI提供思路,它却直接修改代码;有时需要具体实现,它却只给出概念性指导。这种意图理解的不一致让人难以把握,需要通过不同提示词来引导。早期Cursor将对话和生成分开设计,现在功能整合后反而产生了一些混淆。
弱化思考能力
过度依赖AI实现功能会导致一种"失控感",因为代码逻辑并非源自自己思考,而是AI直接生成。当AI编码风格与个人习惯不符时,甚至需要"反向学习"AI的实现方式。这时,要求AI详细解释实现逻辑就显得尤为重要。
总结
总体而言,AI编程工具确实显著提升了开发效率。在回归传统编辑器后,没有智能提示的编码体验甚至让人有些不适应。
- 本文链接:
- 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。