Claude 与 Skill
给 Claude Code 一台 30 分钟就销毁的一次性 Mac,它做出了 9 个屏保和 2 个彩蛋游戏
作者通过 cuvm 给 Claude Code 配了一台限时 30 分钟的一次性 macOS 虚拟机,里面带 shell、文件工具、Vite 开发服务器和 Playwright 浏览器,任务是复刻老式屏保网站。结果 Opus 5.5 在时限内完成了 9 个屏保、3 个彩蛋(含 Tetris 和 Pong),API 等价成本约 $5.50。文章还详细拆解了沙箱的出口代理拦截、运行后检查和源码重建流程。
今天就能做
- 想安全地让 Agent 自由发挥,可以给它一台限时销毁的一次性虚拟机,凭证留在宿主机、用出口代理拦截遥测和白名单外请求
- 给 Agent 布置任务时明确告知时限,它会自己规划进度并在截止前收尾
- 注意 harness 的文件监控范围要覆盖 Agent 实际工作的目录,否则销毁环境后源码可能丢失
任务设计与意外顺利的开局
- 要求做 asteroids 或 starfield 屏保、放进轮播、整体带 GeoCities/Myspace 风格,并明确告知 30 分钟时限
- 大约两分钟就交出 3 个屏保的轮播,作者觉得毫无挑战性
- 想提议 Flying Toasters,结果 Claude 自己已经先提了,于是追加难度更高的 Fishbowl
- Claude 又用约两分钟写出一个 sprite 引擎
追加反馈与彩蛋冲刺
- 作者提出像素颗粒感更重、烤面包机碰壁反弹、增加水生生物多样性等改进
- 离开 5-10 分钟后回来,要求加 3 个彩蛋:一个自选、Tetris 和 Pong
- 三个彩蛋全部完成且时间富余,21:11:46 Claude 宣布完工,21:12:11 会话被强制关闭
沙箱与安全设计
- 出口代理处理 180 个 API 请求,其中 170 个把虚拟机里的假 token 换成真实凭证,真凭证始终留在宿主机
- 拒绝 77 个连接,包括 61 个遥测连接和 2 个访问白名单外主机的请求
- 28 项运行前和 28 项运行后检查全部通过,golden image 哈希未变,会话结束 2 秒后删除访客登录
运行数据与源码重建
- Opus 5.5 共输出 99,837 tokens,读取缓存输入约 1000 万 tokens,API 等价估算约 $5.50(作者实际用的是订阅)
- 运行保留了对话记录、21 张 PNG 截图、41 个浏览器页面快照和 188 个唯一工具调用
- 一次性 Mac 删除后源码差点丢失:harness 只监控了 fixture 文件夹,而 Claude 把站点建在了旁边的目录;后来通过重放记录的文件写入操作重建源码
- 重建的源码缺少 package manifest 和依赖 lockfile,因为重放未能复现这些文件
已知问题与后续
- 原始 WebKit 截图里 Toasters 和 Fishbowl 正常渲染,但在后续 Chromium 检查中报错,其余 7 个屏保动画正常
- 移动端浏览器目前只是缩放桌面布局
- harness 的 PASS 只覆盖边界和生命周期检查,不代表每个功能都可用
- 团队正在接入 Codex 支持,供 Web 团队做下一次实验
原文:Thirty minutes in a disposable Mac
来源:DEV Community · 2026-11-07
查看原文本文由 AI 阅读原文后整理,未经人工逐字核对,内容以原文为准。
登录后可以点赞、查看和发表评论