个人觉得,AI本质就是一种工具,是一种新的生产工具,拒绝新鲜事物,本身就是脱离时代发展的表现,我们人类之所以不断进步,就是比动物更会使用工具,使用新工具,提高生产效率。
AI编程有很多优点,如提高编程的效率,提高编程的准确性等等。
一是提升编程的效率
- 快速代码生成功能:能够快速生成模板代码、重复性高的代码(如CRUD操作)、单元测试、配置文件等,节省大量敲键盘的时间。
- 代码补全查错功能:强大的上下文感知补全查错功能,能预测一整行或一整段代码,显著加快编码速度。
二是强大的知识库和信息检索
- 解答具体问题:无需离开IDE去搜索引擎查找某个特定函数的用法或某个错误的解决方案,可以直接询问AI,它能提供针对性的代码片段和解释。
- 跨领域知识:开发者不熟悉的领域(如正则表达式、复杂的SQL查询),AI可以快速提供可靠且正确的解决方案。
三是辅助代码理解和调试
- 解释代码:可以将一段复杂的、难以理解的代码丢给AI,让它用自然语言解释其功能。
- 调试和错误修复:将错误信息或异常堆栈跟踪提供给AI,它通常能快速定位问题并提出修复建议。
- 代码重构和优化:可以要求AI对代码进行重构,使其更简洁、高效,或符合某种设计模式。
四是降低入门门槛
- 对于编程新手,AI是一个非常有耐心的“导师”,可以解答基础问题并提供示例,帮助克服初期的学习曲线。
快速学习新语言/框架:可以要求AI生成某个框架(如React、Spring Boot)的示例代码,帮助开发者快速上手。
当然,AI编程也存在天然的缺点:容易让人变得懒惰,工程师长期使用AI编程,技能水平会下降;AI编程可能因为被喂了不良的数据,输出错误的编程;缺乏人情味,AI味过重。
一是“幻觉”与正确性问题
- AI可能会生成语法正确但逻辑错误、甚至完全虚构的代码(尤其是使用不存在的API或库时)。开发者必须具备足够的能力去审查和验证AI生成的代码,否则会引入严重的bug。
二是可能导致思维惰性和技能退化
- 过度依赖AI可能导致开发者不再去深入思考底层原理、算法和设计模式。就像过度依赖计算器会影响心算能力一样,长期下去可能会削弱独立解决问题和架构设计的能力。
三是安全与版权风险
- AI模型的训练数据可能包含有安全漏洞的代码或不规范的实现,这些可能会被模仿和重现。
- 生成的代码可能无意中抄袭了训练数据中的受版权保护的代码,带来法律风险。
四是上下文限制,需要大量人工优化调整
- AI对当前项目的完整上下文理解有限(尤其是大型项目),它生成的代码可能不符合项目的特定架构、规范或约定,需要人工进行大量调整。
二、“古法”人工编程 (Traditional Manual Programming)
指开发者主要依靠自身知识、经验、搜索引擎(如Google、Stack Overflow)和官方文档来编写代码的传统方式。
优点:
一是深刻的理解与控制力
- 开发者对每一行代码的目的和实现都了如指掌。这种深度参与确保了代码的质量、可预测性和可维护性。
- 对系统架构、算法选择和性能优化有完全的掌控,能做出最符合项目长期利益的决策。
二是扎实的技能培养与知识积累
- 通过自己解决问题、查阅文档、阅读源码,开发者能建立起坚实而系统的知识体系,这种学习过程是不可替代的。
- 培养了强大的调试能力、问题分解能力和抽象思维能力。
三是更高的可靠性与安全性
- 代码经过人的大脑深思熟虑,通常更可靠。开发者会考虑边界条件、异常处理和潜在的安全威胁,这种批判性思维是AI目前不具备的。
- 避免了AI“幻觉”带来的未知风险。
四是更好的架构与设计
- 设计和构建一个复杂系统的整体架构需要高度的抽象、规划和创造性思维,这是当前AI难以胜任的。人类开发者更能把握宏观的软件设计原则。
“古法”编程的缺点也很显著:
一是效率相对较低
- 编写重复性代码、查找文档、调试复杂问题会耗费大量时间,项目开发周期较长。当然,大神不在这个讨论范围。
二是知识面限制
- 开发者的能力受限于其个人经验和知识广度。遇到不熟悉的领域或新技术时,学习成本和试错成本较高。
三是容易陷入思维定式
- 开发者可能会习惯于自己熟悉的解决方案,而忽略了更优、更现代的实现方式。
四是体力与脑力消耗大
- 需要高度集中注意力,长时间编码容易导致疲劳,增加出错几率。
五是目前的技术,PLC或DCS的编程AI还不是很完善
特别是PLC的图形化编程(FBD)无法用AI替代,当前的AI发展阶段,无法实现FBD的编程,很遗憾。作为自动化工程师,我是非常期待图形化编程的AI出现,以提高我们的工作效率。
结论:AI编程不是“古法”人工编程的取代,而是进化
AI编程不是来取代程序员的,而是来取代不使用AI的程序员的。
最理想的模式是“人机协同”:
- 让AI做它最擅长的的事:充当一个超级助手、一个高级自动补全工具、一个知识库,处理重复性高、探索性的任务,极大提升开发效率。
- 让人做最擅长的的事:进行系统架构设计、做出关键决策、深入思考复杂逻辑、审查和验证AI输出的代码,并承担最终的责任。
未来的优秀开发者,将是那些能充分利用AI增强自身能力,同时保持深刻技术理解和批判性思维的人。AI是强大的杠杆,但挥舞杠杆的力量和方向,始终掌握在人的手中。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.