从我第一年教机器学习这门课开始,我就鼓励学生使用 AI。发现学生用得不得法时,我还会做演示指导。到了去年,我会专门用一讲来介绍 AI 的使用。而今年,我们完成了一个重要转变:从「选用、可用」变成了「必须用」。
这个「必须用」的含义是,每次上机和期末作业,学生都需要汇报 AI 使用体验 —— 用了什么 AI,解决了什么问题,遇到了什么挑战,如何应对,最终收获如何。这个过程本身,首先是避免他们不加思考地将 AI 结果提交,强调交互过程和转述,培养他们的元认知能力。更重要的是,我发现这在训练一种全新的素养:如何将头脑中模糊的想法转化为 AI 能够理解并执行的精确指令。
对,人人都可以。可这样想想,也让人冒冷汗:如果 90 分以下的编程任务都能由 AI 包揽,计算机相关专业的教育教学该如何定位?我们是否需要从「如何编程」转向「如何与 AI 协作」和「如何利用 AI 解决更复杂的问题」?这些问题萦绕在我心头,也成为后续课程改革的新动力。
协同
通过这学期的实践,我逐渐更深刻理解了人机协同。这种协同有着清晰的层次结构:在最高的意义层,人类负责「为什么」—— 设定目标、判断价值、赋予意义,这是 AI 目前无法替代的领域。在最底的执行层,AI 负责「怎么做」—— 代码实现、功能优化、bug 修复,这些部分现在越来越少需要人类来插手。而目前的趋势,是真正的协同发生在中间的对话层 ——「做什么」需要双方持续互动,人类提供情境和约束,AI 生成选项和方案。
就像指挥家不需要会演奏每一种乐器,但知道何时让小提琴独奏,何时让乐团齐鸣。未来人在系统开发中的作用更像是「AI 乐团的指挥」,他们的价值在于三个方面。首先是提出正确的问题。其次是评估 AI 的输出质量。最后是连接技术与人性需求。
上机课的时候,我更多处于一个观察员的角色。我印象最深的是一个学生的转变时刻。她盯着 AI 生成的代码,皱起眉头 —— 不是因为执行报错,而是在对着原型功能思考「这真的是用户想要的吗?」她翻开用户访谈笔记,重新组织语言,调整提示词的表达方式,再次与 AI 对话。在这个过程中,她没有学编程,也没有手动敲代码,而是在学习一种全新的能力:如何在人类的模糊需求和机器的精确逻辑之间搭建桥梁。对于未来的系统开发专业人员来说,成功的关键兴许不再是编程技能的独步天下,而是他们的洞察力、共情能力、沟通能力、迭代思维和决策品味吧。