#AI时代计算机专业学生如何学技术# 这学期的Andorid课程,我让学生们全面应用AI去写App,结果每个学生都在开发中大规模地应用了AI,但具体使用方式和使用的工具及LLM则各有不同,可谓“八仙过海,各显其能”。
看了若干位同学的结课设计之后,进行个阶段小结,这里针对在校计算机专业学生学习软件技术,给一点个人建议,供同学们参考:
(1)学习阶段,不推荐采用“把所有工作都交给AI”的“许愿式开发”方式。采用这种方式,由于AI生成代码的速度通常远远超过人的审查速度,因此,到后头基本上都会进入一个“全部依赖AI”的状态,开发者会迷失方向,整个软件变成一个“不可控”的神秘的“黑盒”,整个人就像进入了一个迷宫,这时,单凭自己已经很难找到迷宫出口,只能将“走出迷宫”的希望,全部托付给AI这个其实“并不靠谱”的“上帝”。
采用这种方式,不利于培养一种编程直觉和代码品味,对技术本身也容易“浮于面上”,对个人专业能力增长无益,最大的好处也就是熟悉了AI工具的使用方法,而这是变化最快、淘汰最快的知识。
(2)系统需求分析、架构设计这些工作,请不要“外包”给AI去完成。建议先人工完成,然后再把需求整理好“喂给AI”,看他给出的方案是什么,通过对比学习,就可以学到更多的东西,得到更大的收获。
毕竟在学校里,“学会”、“学懂”、“掌握”技术才是重要的,开发App,只是达到这一目的的一种手段,手段不是目的。
(3)当前可控性最强的开发方式,就是人负责搭架构,然后让AI“填空”。为真正学懂,请对AI生成的每句代码,都问个“为什么”,“有没有更好的实现方式”,通过“持续追问”的方式,搞清楚相关的技术要点,特别是当Bug出现时,要注意克服人的思维惰性,先自己判断一下问题可能出在哪里,自己动手解决。实在搞不定,再让AI出手。
采用这种“人为主,AI为辅”、“持续追问”、“自主学习与拓展知识”的方式,最能学到东西。
“人是好逸恶劳的”,这是人性,而学习本身,则需逆此人性,除非,你根本就不以通过学习与实践长自身本事为目的,只盯着“出活”。
(4)有同学全面使用智能体,但考虑不周,发生了“智能体将代码全清空,而自己又没备份”的“惨剧”,必须做好harness工程,才能大规模地应用智能体开发。
另外,注意智能体技术正处于快速迭代与演化进程中,很多当前的开发方式和AI工具,未来都会变化,因此,不要将精力投注于以及满足于会用“全智能体开发”,学到的这些东西,很快就会过时,而应该将精力投注于本体——就是感悟和理解“软件到底是怎样开发出来的”,这是“软件工程”要研究的内容,这才是根本。
发布于 北京
