30 秒看懂
Berman 使用 Windsurf 和语音输入尝试受 Andrej Karpathy 启发的低介入编码方式,构建登录页和俄罗斯方块。随后他尝试训练强化学习玩家;视频包含反复出错、一次手动修改和表现较弱的最终玩家。
- 1实验方式Berman 尝试受 Karpathy 启发的低介入编码。
- 2身份验证仍未验证经过排错后按钮出现,但完整安全流程没有经过测试。
- 3迭代和手动修改俄罗斯方块控制功能需要修复和直接修改代码。
- 4表现较弱的训练玩家智能体最终开始玩游戏,但输了。
要点建议
- 自然语言需求可以生成可运行的原型,但仍需迭代。
- 看到登录表单并不能证明身份验证实现安全。
- 俄罗斯方块的功能需要多次修复和一次手动代码修改。
- 第一个 AI 玩家只是随机行动的占位实现;后续训练的玩家表现较差。
- 跳过代码审查是一次性项目的实验,不能证明它已适合生产。
按章节阅读整理后的全文
什么是 Vibe Coding?
Berman 介绍实验并构建登录页。
我探索 Andrej Karpathy 所说的 vibe coding:描述需求,让 AI 编写代码,而且经常不查看修改。他举的是一次性项目;本实验不能证明未经审核的代码适合生产环境。
我使用 Windsurf、Superwhisper 和最初选择的 o3-mini 构建登录页面。助手创建 Flask 项目,我按照终端指令配置环境并运行。
环境出现错误时,我把消息粘贴回助手并接受建议修改。基本的用户名和密码界面出现了,但看到表单并不能证明身份验证安全或完整。
我要求加入 Google 身份验证,遇到缺少依赖和环境问题,最后重新运行应用。但 Google 按钮仍未出现,说明生成代码不等于完成所需功能。
我让助手修复缺失的按钮,并在想分享截图时切换到 Claude 3.5 Sonnet。进一步修改后按钮出现了,但页面仍有损坏的图片;视频没有验证完整的登录流程。
构建俄罗斯方块
他添加预览和控制功能,然后排查错误。
接下来我要求生成 Python 俄罗斯方块游戏。安装依赖并启动程序后,我验证了方块可以消除一行,然后要求添加下一个方块的预览。

首次运行时预览没有出现,因此我描述问题并要求再次修复。下一版显示了预览,还增加了分数;我通过消除一行检查它。

我添加暂停和结束按钮,但它们的位置与棋盘重叠,暂停最初也无法恢复。我报告这些问题,最后还是手动复制并调整了建议代码,尽管本次实验的目标是尽量少亲自编码。
训练 AI 玩家
他修复训练问题,接入一个表现较弱的游戏智能体。
我要求加入能学习游戏的 AI。第一次结果是随机行动的占位实现,并不是学习系统,于是我切换模型再次提出需求。助手建议使用 Stable Baselines3 实现深度 Q 网络。
训练最初因导入问题失败,接着又出现观测数据形状不匹配。我把错误粘贴给助手修复;再次运行后,训练信息和奖励开始出现。
训练完成后,游戏仍有集成问题,包括循环导入和找不到保存的模型。进一步提示后,助手找到保存的文件并加入 AI 游戏模式。
智能体最终开始玩游戏,但表现较差并输了。我对这个原型印象深刻,不过录制过程也展示了故障排查、手动修改和不完整的验证,并非一次提示就完美构建。
同频道的其他文章
25:50EN → 简体中文
32:20EN → 简体中文
0:22EN → 简体中文
45:08EN → 简体中文
0:32EN → 简体中文
1:02EN → 简体中文