AI 时代,如何招聘工程师
编码能力已不再是筛选人才的标准。更值得考察的是:能否与 AI 准确沟通,能否对整个系统形成独立判断,以及是否持续学习新技术。
传统的技术面试以编码能力为核心:候选人熟悉哪些语言和框架,能否在白板上写出算法题的解法。
在 AI 时代,这已不再是筛选人才的有效标准。一个人即使不熟悉某种编程语言,也能借助 AI 交付有价值的产品。
更值得考察的是两项能力。
其一是对系统的整体理解:一个完整的系统应当包含哪些部分,各部分如何协作,上线后如何确认它在正常运行。缺少这种理解,就无法评估 AI 给出的方案。
其二是求知欲:主动追踪新知识,尤其是 AI 领域。工具和模型更新很快,今天的最佳实践,半年后可能已经过时。是否愿意持续学习、尝试并反思新技术,会直接影响一名工程师的长期成长。
当下最重要的六项能力
1. 向 AI 准确表达意图。 AI 只能基于给定的信息工作。目标、约束、完成标准,哪些已经确定、哪些尚未确定,表达得越清楚,产出就越接近预期。表达含糊,得到的往往是看似合理、实则偏离需求的结果。
2. 理解 AI 的意图。 AI 交回一份计划或一段代码时,工程师要能读懂它的思路:它如何理解需求,做了哪些假设,哪些地方是在推测。能识别 AI 的误解,比能亲手写出同样的代码更重要。
3. 面对模糊目标,形成预判。 需求在初期通常是模糊的。优秀的工程师在动手之前,会先对系统形成一个初步判断:大致由哪些部分组成,难点可能在哪里,并随着新信息不断修正。有了这个预判,才能判断 AI 的方案是否方向正确。(我的做法见现在我怎么设计系统。)
4. 设计测试。 代码生成得再快,验证也不能省略。哪些部分必须测试,采用什么方式,测试是否真正覆盖了要验证的行为,这些都需要工程师判断。
5. 设计监测。 测试在上线前验证关键行为、降低缺陷风险;监测在上线后观察运行状态、及时发现异常。两者都不能保证系统始终正确,但缺一不可。需要哪些日志和指标,故障发生时由谁、在多长时间内发现,这些应当在设计阶段就纳入考虑,而不是在事故之后补救。
6. 管理 AI 工作流。 无论使用一个还是多个 agent,如何分工,如何评审产出,如何保留上下文,如何避免自己成为瓶颈,这本身就是一项工程能力。(我的做法见我怎么同时管十几个 AI agent。)
面试中如何考察
用 grill-me 考察判断力和表达能力
grill-me 是一个 AI skill:给定一个计划,AI 会按决策之间的依赖关系分轮提问,并为每个问题附上推荐答案,直到所有决策都有结论。
面试时,给候选人一个模糊的需求,请候选人通过 grill-me 与 AI 对话,把需求整理成明确的方案。开始对话前,先请候选人简述系统边界、关键假设和待验证的问题;对话结束后,再请候选人说明哪些判断改变了,以及为什么。这一步考察的是第 3 项能力:在 AI 给出建议之前,候选人自己的判断是什么。
对话过程中,面试官重点观察两点:
- 是否有独立判断。 标准不是是否反对 AI,而是候选人能否说明接受或否定每条建议的依据,以及准备如何验证。完全依赖 AI 的人,在 AI 出错时也很难察觉。
- 表达是否准确。 回答是否清晰,是否提供了必要的上下文和理由;AI 理解有误时,能否及时发现并纠正。
与白板题相比,这种方式更接近候选人的日常工作。
系统设计题:是否主动考虑测试和监测
系统设计题依然有价值,但考察重点已经改变。画出组件和数据流,AI 同样能做到。更值得关注的是,候选人是否主动提到:系统如何测试,上线后如何监测,故障如何发现。主动提到只是线索,还应追问一个具体的故障场景:测试如何暴露问题,上线后靠什么信号发现,由谁响应。这些回答能为判断候选人是否理解系统整体提供依据,但不能仅凭一个场景就下结论。
了解候选人日常如何管理 AI agent
最后,请候选人介绍日常使用 AI 的方式:同时使用几个 agent,如何分工,如何评审产出,遇到过哪些问题,最近尝试了哪些新工具,为什么保留或放弃。
具体的经历和教训是进一步追问的依据,但不能只凭叙述是否流畅来判断实际能力。这个问题同时也在考察求知欲:一个人最近在尝试什么,比简历上的技能列表更能说明问题。
保证公平
面试方应提供统一的 AI 工具、模型和账号,预先装好所需的 skill,留出熟悉环境的时间,并统一任务、时限和评价标准。不按 agent 的数量或付费工具的使用经历加分:没有机会使用这些工具的候选人,同样可以在现场任务中展示如何组织工作、验证结果和学习新方法。
结语
AI 时代需要的,不是编码最快的人,而是能与 AI 协作,把模糊的目标落实为完整、可测试、可监测的系统,并且持续学习的工程师。