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 生成的代码,你真的有足够的信心直接部署到生产环境吗? ...