AI是在帮助开发者还是取代他们?
在软件开发领域,生成式人工智能(AIGC)正在改变开发者的工作方式。无论是代码生成、错误检测还是自动化测试,AI工具正在成为开发者的得力助手。然而,这也引发了对开发者职业前景和技能需求变化的讨论。AI究竟是在帮助开发者还是取代他们?
AI工具现状
开门见山,我以及身边的程序员觉得目前最好用的模型是openai的gpt40,其次是deepseek的deepseek-chat。以下是实测结果(构建树形结构),以java语言为例。
不过目前的ai工具只能完成一块小功能,无法完成整个项目的开发以及设计。
代码来自GPT40:国内官方直连GPT40
public List<MenuItem> getAllMenuItems() {
List<MenuItem> menuItems = menuItemMapper.selectAllMenuItems();
return buildTree(menuItems);
}
private List<MenuItem> buildTree(List<MenuItem> menuItems) {
List<MenuItem> rootItems = menuItems.stream()
.filter(item -> item.getParentId() == null)
.collect(Collectors.toList());
for (MenuItem root : rootItems) {
root.setSubItems(getChildren(root, menuItems));
}
return rootItems;
}
private List<MenuItem> getChildren(MenuItem parent, List<MenuItem> allItems) {
List<MenuItem> children = allItems.stream()
.filter(item -> parent.getId().equals(item.getParentId()))
.collect(Collectors.toList());
for (MenuItem child : children) {
child.setSubItems(getChildren(child, allItems));
}
return children;
}
AI对开发者的影响
首先是开发模式的改变,原先开发者通过需求文档,进行程序设计,然后进行开发工作,如今有了ai工具,可以将需求稍作整理,发送给ai来生成代码,然后粘贴到ide中进行调试,毋庸置疑,这能够对开发效率带来提升,尤其是重复性的造轮子工作,但同时也会让很多开发者失去思考能力。就目前而言,想要使用ai工具就必须学会写提示词,先应该要在ai辅助的环境下保持竞争力,就不得不干一些目前ai所不能做的事(例如给领导端个茶?)。
AI开发的未来
根据openai官方的说法,目前gpt的相当于人类20~30分的智商,远远低于普通人90的标准,预计几年后能达到普通人的水准,到2027年,GPT8智商将达145,碾压正常人类,要知道爱英斯坦的智商是160。 智商140以上者称为天才,智商120到140为最优秀,100、110、120为优秀,90到100为常才,80到90为次正常。在145的智商的加持下,再通过对开发这一专项技能进行增强,例如专项训练,gpt能够做到自我动态调优,能够达到真正的“言出法随”,只需经过多轮对话,ai即可生成一套完整的项目,直接上到大屏进行演示了。想要达到这种效果还需很长的路要走,需要重构和增加非常多的代码,这点ai暂时还做不到,但是终有一天ai会在绝大多数领域替代人类。