第一阶段:审题与策略制定(0-1小时)
理解题目本质,制定24小时作战计划
题目陷阱识别
姚顺宇明确说了:"如果你全盘让AI做了,但你最后没有试图好好理解AI为你做了什么,那在一个小时的讨论里面会露馅儿——那是一个会挂人的地方。"
核心策略
🎯 选择合适的问题
选一个你能在24小时内完成、但又有足够深度的RL问题。推荐:CartPole → 扩展到连续控制(Pendulum/MountainCar)或自定义环境
🤖 AI作为协作者
用AI生成代码骨架、调试、写文档,但每个决策你都要理解为什么。记录你的思考过程。
📊 可验证的指标
确保项目有清晰的评估指标:reward曲线、成功率、训练时间。用TensorBoard/Wandb记录。
📝 理解留痕
写详细的README和注释,展示你理解每一部分代码。面试时会围绕这些讨论。
第二阶段:快速搭建与迭代(1-8小时)
用AI加速开发,但保持对代码的完全理解
推荐技术栈
推荐项目方向(按复杂度排序)
经典控制 + 算法改进(推荐)
在CartPole/Pendulum上实现DQN/PPO,加入改进:Double DQN、Dueling Network、PER(优先经验回放)。展示你对算法细节的理解。
自定义环境 + 多智能体
设计一个简单的多智能体协作/竞争环境,用独立PPO或QMIX训练。展示环境设计能力。
离线RL / 模仿学习
收集专家数据,实现BC(行为克隆)或CQL(保守Q学习)。适合有数据处理能力的人。
AI协作工作流
第三阶段:深度优化与实验(8-18小时)
让项目有亮点,展示你的技术深度
优化 checklist
-
✓超参数调优
用网格搜索或随机搜索找到最佳超参数组合,记录对比实验
-
✓消融实验(Ablation Study)
去掉某个模块(如PER、Target Network),看性能变化,证明该模块的价值
-
✓可视化
Reward曲线、Loss曲线、Q值分布、策略热力图。用TensorBoard或Matplotlib
-
✓代码质量
类型注解、单元测试、清晰的命名、模块化设计。展示专业素养
-
✓可复现性
固定随机种子、记录依赖版本、提供requirements.txt、写清楚运行命令
💡 加分项:展示你对AI的理解
在代码注释或README中,加入你对以下问题的思考:
- 为什么选择这个算法?它的假设和局限性是什么?
- 训练过程中遇到了什么问题?怎么解决的?
- 如果给你更多时间,你会怎么改进?
- 这个方法和当前SOTA的差距在哪?
第四阶段:准备技术讨论(18-24小时)
为1小时深度讨论做准备 — 这是真正的考验
核心考察点
姚顺宇说:"考验的另一件事,是你有没有真的和AI形成了协作,还是说你就全权扔给他?" 面试时他会深入追问代码细节,验证你是否真正理解。
必须准备的讨论话题
🔍 算法原理
能清晰解释你选择的RL算法的数学原理:贝尔曼方程、策略梯度、Q学习更新规则、优势函数等。
🛠️ 实现细节
为什么这样设计网络结构?学习率怎么选的?Batch size的影响?Target Network的作用?
📊 实验分析
能解读你的实验结果:为什么某个超参数更好?消融实验说明了什么?训练不稳定的原因是什么?
🚀 扩展思考
如果扩展到更大规模/更复杂环境,你会怎么改?当前方法的瓶颈在哪?和SOTA的差距?
模拟面试问题
"这段代码是你自己写的还是AI写的?"
诚实回答:"AI帮我生成了初始版本,但我逐行审查并修改了X、Y、Z部分。我选择这个实现是因为..."
"如果让你重新做,你会怎么改进?"
展示你的技术视野:更大的网络?更好的探索策略?分布式训练?多任务学习?
"这个算法和PPO/SAC相比优缺点是什么?"
准备对比分析:样本效率、训练稳定性、超参数敏感度、连续/离散动作空间适用性。
推荐项目结构
清晰、专业、可维护
时间分配建议
24小时如何高效利用
核心洞察
姚顺宇真正想考察的是什么
🤝 人机协作能力
不是考察你代码写得多好,而是考察你能不能有效利用AI。在这个时代,比写代码更重要的是知道如何让AI帮你写得更好。
🧠 深度理解
AI可以帮你写代码,但理解不能外包。面试时的1小时讨论会深挖你对每个技术决策的理解。
🔥 热情与投入
24小时的设计是为了看你对这个机会有多看重。能熬夜撑住的人,说明真的想要这个机会。
✅ 靠谱程度
姚顺宇说这个行业最重要的特质就是"靠谱"——做事细,对自己做的事负责任。项目完成度、文档质量、可复现性都在考察这个。
最后提醒
决定成败的关键细节
-
✓不要过度追求复杂度
一个完成度高、文档清晰的简单项目,远胜于一个半成品的高复杂度项目
-
✓诚实面对AI的使用
不要试图隐藏你用了AI。展示你如何与AI协作、如何审查AI的输出、如何做出关键决策
-
✓准备好讲"为什么"
每个技术选择都要有理由。为什么选DQN而不是PPO?为什么用这个学习率?为什么这样设计网络?
-
✓展示你的学习曲线
如果某些概念你是现学的,坦诚说出来,并展示你如何在24小时内快速掌握。这也是能力的体现。
-
✓保持热情和好奇心
姚顺宇欣赏的是对技术有热情、愿意挑战自己的人。展示你对RL genuine的兴趣。