22 岁生日祝福网页案例对照记录
同一份提示词、同一个模型,只改变加载的前端技能,比较六个版本的页面产物、轮次与耗时。
运行条件
- 日期:2026-11-09
- 模型:
codex/gpt-6.1-sol(GPT-6.1 Sol),思考强度high;经兼容 Anthropic 接口的模型服务调用。 - 提示词:大学室友阿遥给苏禾做的 22 岁生日祝福网页,包含倒计时与日期预览、一封信、22 个瞬间、蛋糕与蜡烛、愿望、朋友留言和生日歌;桌面 1440 为主并适配到 390 宽。原文见 案例提示词。
- 交付要求:单个
index.html;样式与脚本内联,不引用外部资源,图形由页面自行绘制或内嵌。 - 隔离方式:
bench/run.sh,每组独立进程、独立配置目录、空 MCP 配置,关闭内置技能后只挂载被测技能。 - 并发方式:六组三路并发,任一组结束后补入下一组。
- 技能快照:仓库 frontend-skills 目录,来源提交记录在该目录的 README。
结果
| 版本 | 技能调用 | 轮次 | 耗时 | 页面大小 | AI 评分 |
|---|---|---|---|---|---|
| 无技能 | 无 | 23 | 23.0 min | 78,348 字节 | 84 |
| frontend-design | frontend-design | 25 | 14.6 min | 76,475 字节 | 87 |
| oil-ui | oil-ui | 62 | 19.7 min | 78,037 字节 | 87 |
| taste-skill | design-taste-frontend | 36 | 16.5 min | 69,416 字节 | 85 |
| impeccable | impeccable | 43 | 19.7 min | 84,242 字节 | 89 |
| hallmark | hallmark | 86 | 23.3 min | 84,499 字节 | 86 |
耗时由 timed_run.py 独立计时,轮次按完整主会话记录汇总。AI 评分由 Claude Opus 5.5 按评分规则 v1 在 1440 桌面视口下验收给出,分项与依据见 评分记录。
页面观察
- 无技能:米白纸面,左侧大标题和倒计时,右侧圆形底板里是写着 22 的蛋糕和一张小信封。
- frontend-design:三行大标题「苏禾,22 岁啦。新一岁,慢慢来。」,右侧拍立得里是紫色蛋糕,配日历和南京到深圳的明信片。
- oil-ui:砖红点缀的大标题,右侧两张拍立得(宿舍台灯、雨中海边)和一枚「22」邮票,首屏底部是倒计时条。
- taste-skill:留白很多的绿色调首屏,右侧拱形底板里是绿色蛋糕、台灯、信封和照片。
- impeccable:暖黄底色,手写风格标题,右侧是两人秋天野餐的大幅插画,叠一张雨中撑伞的小照片和邮戳。
- hallmark:豆沙红配色,右侧雨中撑伞的拍立得、花束照片、深圳到南京的车票和一个大号「22」。
六组的视觉方向很接近,都是暖色纸面加手绘插画的手账风格,功能实现也大体相同。
验证
- 六组均通过技能清单、技能调用和实际模型的隔离核验;每组都只写了
index.html,没有多建文件。 - 在浏览器中以 1440 宽度逐组操作了倒计时、日期参数、回忆筛选与详情翻页、蜡烛、愿望保存与刷新保留、生日歌播放与停止,未发现脚本错误和外部请求。
- 以 375 宽度打开六组页面:frontend-design 首屏标题在窄屏下有约 10px 的横向溢出,其余五组没有。
- 麦克风吹气需要系统授权,没有实际开启,只按源码核对了授权、批量吹灭和拒绝后的回退逻辑。
- 首屏截图在页面加载 6 秒、入场动画结束后截取。截图时尚未到生日,首屏显示的是倒计时。
- 信件、回忆与留言由模型自行撰写,未核对内容。
六组三路并发运行,单组耗时不能直接横向比较;每组只有一次样本,结果也受服务波动影响,不能据此判断技能优劣。原始运行目录保存在仓库之外的 ~/Code/benchmark-runs/case-07/gpt-6.1-sol-high/。